# Quadlet unit: Authentik PostgreSQL 16 (rootless, boot-persistent). # # Install path on dankclaw: ~/.config/containers/systemd/authentik-postgres.container # Unit name: authentik-postgres.service (podman 5.x drops the container- prefix) # # Replaces the compose service retired when this stack went boot-persistent # (rootless Podman does not auto-start bare containers at boot). Secrets stay # out of this file: systemd expands ${AUTHENTIK_PG_PASS} from the git-ignored # host .env at start time (same pattern as gitea-postgres). [Unit] Description=Authentik PostgreSQL container After=network.target [Container] ContainerName=authentik-postgres Image=docker.io/library/postgres:16-alpine Network=dankclaw_default EnvironmentFile=/home/dank/serverAppConfigs/dankclaw/.env Environment=POSTGRES_DB=authentik Environment=POSTGRES_USER=authentik Environment=POSTGRES_PASSWORD=${AUTHENTIK_PG_PASS} Volume=/home/dank/Containers/authentik/postgres:/var/lib/postgresql/data # Unquoted argv: this quadlet generator space-splits HealthCmd into the # healthcheck's argv array, so a quoted probe would arrive mangled (the old # `/bin/sh -c "pg_isready..."` form arrived as /bin/sh + broken args and # failed with exit 1 forever — the health status was a false negative while # the DB itself accepted connections). Bare argv works under both exec forms. HealthCmd=pg_isready -d authentik -U authentik HealthInterval=30s HealthTimeout=10s HealthRetries=5 HealthStartPeriod=20s [Service] EnvironmentFile=/home/dank/serverAppConfigs/dankclaw/.env TimeoutStartSec=900 Restart=always RestartSec=5 [Install] WantedBy=default.target