diff --git a/Frontend.md b/Frontend.md new file mode 100644 index 0000000..00f1af9 --- /dev/null +++ b/Frontend.md @@ -0,0 +1,161 @@ +## Contents +1. [Authentik](#Authentik) +2. [Jellyfin](#Jellyfin) +3. [Kavita](#Kavita) +4. [Gitea](#Gitea) + +### [Authentik](https://github.com/goauthentik/authentik) - SSO +
+Compose snippet + +``` +services: + postgresql: + container_name: postgresql + image: docker.io/library/postgres:16-alpine + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"] + start_period: 20s + interval: 30s + retries: 5 + timeout: 5s + volumes: + - /data/postgresql:/var/lib/postgresql/data + env_file: + - ./env/authentik + redis: + container_name: redis + image: docker.io/library/redis:alpine + command: --save 60 1 --loglevel warning + restart: unless-stopped + healthcheck: + test: ["CMD-SHELL", "redis-cli ping | grep PONG"] + start_period: 20s + interval: 30s + retries: 5 + timeout: 3s + volumes: + - /data/redis:/data + server: + container_name: authentik_server + image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.8.3} + restart: unless-stopped + command: server + environment: + AUTHENTIK_REDIS__HOST: redis + AUTHENTIK_POSTGRESQL__HOST: postgresql + volumes: + - /data/authentik/media:/media + - /data/authentik/custom-templates:/templates + env_file: + - ./env/authentik + ports: + - "9000:9000" + - "9443:9443" + depends_on: + - postgresql + - redis + worker: + container_name: authentik_worker + image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2024.8.3} + restart: unless-stopped + command: worker + environment: + AUTHENTIK_REDIS__HOST: redis + AUTHENTIK_POSTGRESQL__HOST: postgresql + user: root + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /data/authentik/media:/media + - /data/certs:/certs + - /data/authentik/custom-templates:/templates + env_file: + - ./env/authentik + depends_on: + - postgresql + - redis +``` + +
+ +### [Jellyfin](https://github.com/jellyfin/jellyfin) - Netflix like media player +
+Compose snippet + +``` +services: + jellyfin: + container_name: jellyfin + image: ghcr.io/hotio/jellyfin + restart: unless-stopped + ports: + - "8096:8096" + environment: + - PUID=950 + - PGID=950 + volumes: + - /docker/config/jellyfin:/app/config + - /data/media:/data/media +``` + +
+ + +### [Kavita](https://github.com/Kareadita/kavita) - Book library +
+Compose snippet + +``` +services: + kavita: + container_name: kavita + image: jvmilazz0/kavita:latest + restart: unless-stopped + ports: + - "5000:5000" + environment: + - PUID=950 + - GUID=950 + volumes: + - /docker/config/kavita:/app/config + - /data/media:/data/media +``` + +
+ +### [Gitea](https://github.com/go-gitea/gitea) - Git server +
+Compose snippet + +``` +services: + gitea: + container_name: gitea + image: gitea/gitea:latest + restart: unless-stopped + ports: + - "3000:3000" + - "222:22" + environment: + - USER_UID=950 + - USER_GID=950 + volumes: + - /data/files/gitea:/data + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + depends_on: + - db + db: + image: mysql:8 + restart: unless-stopped + environment: + - MYSQL_ROOT_PASSWORD=gitea + - MYSQL_USER=gitea + - MYSQL_PASSWORD=gitea + - MYSQL_DATABASE=gitea + volumes: + - /data/files/mysql:/var/lib/mysql +``` + +
\ No newline at end of file