secrets: authelia_postgres_db: file: ./authelia/postgres_db authelia_postgres_password: file: ./authelia/postgres_password authelia_postgres_user: file: ./authelia/postgres_user services: authelia_db: image: postgres:18-trixie environment: - POSTGRES_DB_FILE=/run/secrets/authelia_postgres_db - POSTGRES_USER_FILE=/run/secrets/authelia_postgres_user - POSTGRES_PASSWORD_FILE=/run/secrets/authelia_postgres_password shm_size: 128mb restart: always volumes: - /nassella/authelia/var-lib-postgresql:/var/lib/postgresql networks: - authelia_internal_db healthcheck: test: ["CMD-SHELL", "pg_isready -d `cat $$POSTGRES_DB_FILE` -U `cat $$POSTGRES_USER_FILE`"] start_period: 15s interval: 30s retries: 3 timeout: 5s secrets: - authelia_postgres_db - authelia_postgres_password - authelia_postgres_user authelia: image: 'authelia/authelia' volumes: - ./authelia/authelia-config/configuration.yml:/config/configuration.yml:ro networks: - lb - authelia_internal_db - lldap_internal depends_on: lldap: condition: service_healthy authelia_db: condition: service_healthy restart: 'unless-stopped' healthcheck: ## In production the healthcheck section should be commented. disable: true networks: lb: lldap_internal: driver: bridge internal: true authelia_internal_db: driver: bridge internal: true