Fix healthcheck for Postgres in Authentic compose stack

Postgres would never get in healthy state because the environment variable SERVICE_USER_POSTGRESQL was never set inside the container.
Using POSTGRES_USER container env instead which receives the value from SERVICE_USER_POSTGRESQL.

Also adding the condition "service_healthy" for the depends_on. This will make the Authentic containers to wait for Postgres and Redis to be healthy before starting.
This commit is contained in:
Márton Szücs 2024-06-20 19:39:41 +02:00
parent ada278d8da
commit bdcb467208

View File

@ -9,7 +9,7 @@ services:
image: docker.io/library/postgres:12-alpine image: docker.io/library/postgres:12-alpine
restart: unless-stopped restart: unless-stopped
healthcheck: healthcheck:
test: ["CMD-SHELL", "pg_isready -d authentik -U $${SERVICE_USER_POSTGRESQL}"] test: ["CMD-SHELL", "pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}"]
interval: 2s interval: 2s
timeout: 10s timeout: 10s
retries: 15 retries: 15
@ -55,8 +55,10 @@ services:
- ./media:/media - ./media:/media
- ./custom-templates:/templates - ./custom-templates:/templates
depends_on: depends_on:
- postgresql postgresql:
- redis condition: service_healthy
redis:
condition: service_healthy
authentik-worker: authentik-worker:
image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG:-2024.2.2} image: ghcr.io/goauthentik/server:${AUTHENTIK_TAG:-2024.2.2}
restart: unless-stopped restart: unless-stopped
@ -90,5 +92,7 @@ services:
- ./certs:/certs - ./certs:/certs
- ./custom-templates:/templates - ./custom-templates:/templates
depends_on: depends_on:
- postgresql postgresql:
- redis condition: service_healthy
redis:
condition: service_healthy