diff --git a/reverseproxy/authentik/compose.yml b/reverseproxy/authentik/compose.yml new file mode 100644 index 0000000..19580c7 --- /dev/null +++ b/reverseproxy/authentik/compose.yml @@ -0,0 +1,105 @@ +services: + authentik-server: + image: ghcr.io/goauthentik/server:2025.2.2 + container_name: authentik-server + command: server + environment: + - AUTHENTIK_REDIS__HOST=authentik-redis + - AUTHENTIK_POSTGRESQL__HOST=authentik-postgres + - AUTHENTIK_POSTGRESQL__USER=authentik + - AUTHENTIK_POSTGRESQL__NAME=authentik + - AUTHENTIK_POSTGRESQL__PASSWORD=${POSTGRES_PASSWORD} + - AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY} + - AUTHENTIK_EMAIL__HOST=${AUTHENTIK_EMAIL__HOST} + - AUTHENTIK_EMAIL__PORT=${AUTHENTIK_EMAIL__PORT} + - AUTHENTIK_EMAIL__USERNAME=${AUTHENTIK_EMAIL__USERNAME} + - AUTHENTIK_EMAIL__PASSWORD=${AUTHENTIK_EMAIL__PASSWORD} + - AUTHENTIK_EMAIL__USE_TLS=${AUTHENTIK_EMAIL__USE_TLS} + - AUTHENTIK_EMAIL__USE_SSL=${AUTHENTIK_EMAIL__USE_SSL} + - AUTHENTIK_EMAIL__TIMEOUT=${AUTHENTIK_EMAIL__TIMEOUT} + - AUTHENTIK_EMAIL__FROM=${AUTHENTIK_EMAIL__FROM} + networks: + - reverseproxy + - authentik + volumes: + - ./authentik/media:/media + - ./authentik/custom-templates:/templates + depends_on: + - authentik-postgres + - authentik-redis + restart: unless-stopped + + authentik-worker: + image: ghcr.io/goauthentik/server:2025.2.2 + container_name: authentik-worker + command: worker + environment: + - AUTHENTIK_REDIS__HOST=authentik-redis + - AUTHENTIK_POSTGRESQL__HOST=authentik-postgres + - AUTHENTIK_POSTGRESQL__USER=authentik + - AUTHENTIK_POSTGRESQL__NAME=authentik + - AUTHENTIK_POSTGRESQL__PASSWORD=${POSTGRES_PASSWORD} + - AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY} + - AUTHENTIK_EMAIL__HOST=${AUTHENTIK_EMAIL__HOST} + - AUTHENTIK_EMAIL__PORT=${AUTHENTIK_EMAIL__PORT} + - AUTHENTIK_EMAIL__USERNAME=${AUTHENTIK_EMAIL__USERNAME} + - AUTHENTIK_EMAIL__PASSWORD=${AUTHENTIK_EMAIL__PASSWORD} + - AUTHENTIK_EMAIL__USE_TLS=${AUTHENTIK_EMAIL__USE_TLS} + - AUTHENTIK_EMAIL__USE_SSL=${AUTHENTIK_EMAIL__USE_SSL} + - AUTHENTIK_EMAIL__TIMEOUT=${AUTHENTIK_EMAIL__TIMEOUT} + - AUTHENTIK_EMAIL__FROM=${AUTHENTIK_EMAIL__FROM} + networks: + - reverseproxy + - authentik + user: root + volumes: + - /run/docker.sock:/run/docker.sock + - ./authentik/media:/media + - ./authentik/certs:/certs + - ./authentik/custom-templates:/templates + depends_on: + - authentik-postgres + - authentik-redis + restart: unless-stopped + + authentik-redis: + image: docker.io/library/redis:7.4.2 + container_name: authentik-redis + command: --save 60 1 --loglevel warning + healthcheck: + test: ["CMD-SHELL", "redis-cli ping | grep PONG"] + start_period: 20s + interval: 30s + retries: 5 + timeout: 3s + networks: + - authentik + volumes: + - ./authentik/redis:/data + restart: unless-stopped + + authentik-postgres: + image: docker.io/library/postgres:17.4 + container_name: authentik-postgres + environment: + - POSTGRES_USER=authentik + - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} + - POSTGRES_DB=authentik + - TZ=${TZ} + healthcheck: + test: ['CMD-SHELL', 'pg_isready -U "authentik"'] + start_period: 30s + interval: 10s + timeout: 10s + retries: 5 + networks: + - authentik + volumes: + - ./authentik/postgres:/var/lib/postgresql/data + restart: unless-stopped + +networks: + authentik: + name: authentik + reverseproxy: + external: true diff --git a/reverseproxy/compose.yml b/reverseproxy/compose.yml index 3b4b179..98a0cb0 100644 --- a/reverseproxy/compose.yml +++ b/reverseproxy/compose.yml @@ -1,102 +1,5 @@ services: - authentik-server: - image: ghcr.io/goauthentik/server:2025.2.2 - container_name: authentik-server - command: server - environment: - - AUTHENTIK_REDIS__HOST=authentik-redis - - AUTHENTIK_POSTGRESQL__HOST=authentik-postgres - - AUTHENTIK_POSTGRESQL__USER=authentik - - AUTHENTIK_POSTGRESQL__NAME=authentik - - AUTHENTIK_POSTGRESQL__PASSWORD=${POSTGRES_PASSWORD} - - AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY} - - AUTHENTIK_EMAIL__HOST=${AUTHENTIK_EMAIL__HOST} - - AUTHENTIK_EMAIL__PORT=${AUTHENTIK_EMAIL__PORT} - - AUTHENTIK_EMAIL__USERNAME=${AUTHENTIK_EMAIL__USERNAME} - - AUTHENTIK_EMAIL__PASSWORD=${AUTHENTIK_EMAIL__PASSWORD} - - AUTHENTIK_EMAIL__USE_TLS=${AUTHENTIK_EMAIL__USE_TLS} - - AUTHENTIK_EMAIL__USE_SSL=${AUTHENTIK_EMAIL__USE_SSL} - - AUTHENTIK_EMAIL__TIMEOUT=${AUTHENTIK_EMAIL__TIMEOUT} - - AUTHENTIK_EMAIL__FROM=${AUTHENTIK_EMAIL__FROM} - networks: - - reverseproxy - - authentik - volumes: - - ./authentik/media:/media - - ./authentik/custom-templates:/templates - depends_on: - - authentik-postgres - - authentik-redis - restart: unless-stopped - authentik-worker: - image: ghcr.io/goauthentik/server:2025.2.2 - container_name: authentik-worker - command: worker - environment: - - AUTHENTIK_REDIS__HOST=authentik-redis - - AUTHENTIK_POSTGRESQL__HOST=authentik-postgres - - AUTHENTIK_POSTGRESQL__USER=authentik - - AUTHENTIK_POSTGRESQL__NAME=authentik - - AUTHENTIK_POSTGRESQL__PASSWORD=${POSTGRES_PASSWORD} - - AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY} - - AUTHENTIK_EMAIL__HOST=${AUTHENTIK_EMAIL__HOST} - - AUTHENTIK_EMAIL__PORT=${AUTHENTIK_EMAIL__PORT} - - AUTHENTIK_EMAIL__USERNAME=${AUTHENTIK_EMAIL__USERNAME} - - AUTHENTIK_EMAIL__PASSWORD=${AUTHENTIK_EMAIL__PASSWORD} - - AUTHENTIK_EMAIL__USE_TLS=${AUTHENTIK_EMAIL__USE_TLS} - - AUTHENTIK_EMAIL__USE_SSL=${AUTHENTIK_EMAIL__USE_SSL} - - AUTHENTIK_EMAIL__TIMEOUT=${AUTHENTIK_EMAIL__TIMEOUT} - - AUTHENTIK_EMAIL__FROM=${AUTHENTIK_EMAIL__FROM} - networks: - - reverseproxy - - authentik - user: root - volumes: - - /run/docker.sock:/run/docker.sock - - ./authentik/media:/media - - ./authentik/certs:/certs - - ./authentik/custom-templates:/templates - depends_on: - - authentik-postgres - - authentik-redis - restart: unless-stopped - - authentik-redis: - image: docker.io/library/redis:7.4.2 - container_name: authentik-redis - command: --save 60 1 --loglevel warning - healthcheck: - test: ["CMD-SHELL", "redis-cli ping | grep PONG"] - start_period: 20s - interval: 30s - retries: 5 - timeout: 3s - networks: - - authentik - volumes: - - ./authentik/redis:/data - restart: unless-stopped - - authentik-postgres: - image: docker.io/library/postgres:17.4 - container_name: authentik-postgres - environment: - - POSTGRES_USER=authentik - - POSTGRES_PASSWORD=${POSTGRES_PASSWORD} - - POSTGRES_DB=authentik - - TZ=${TZ} - healthcheck: - test: ['CMD-SHELL', 'pg_isready -U "authentik"'] - start_period: 30s - interval: 10s - timeout: 10s - retries: 5 - networks: - - authentik - volumes: - - ./authentik/postgres:/var/lib/postgresql/data - restart: unless-stopped caddy: container_name: caddy