# Quadlet unit: Authentik outpost (rootless, boot-persistent). # # Install path on dankclaw: ~/.config/containers/systemd/authentik-outpost.container # Unit name: authentik-outpost.service (podman 5.x drops the container- prefix) # # In authentik 2026.8.x the proxy-provider URL space (/outpost.goauthentik.io/*) # is served by the Rust worker binary, not the server — verified live: with a # tenant-matching Host header, /if/flow/... answers 200 on the server while # /auth/caddy still 404s. This container runs the same image as the server and # worker units; Exec=worker selects the Rust worker role, and the # AUTHENTIK_HOST/AUTHENTIK_TOKEN env flips it into outpost mode: it dials back # to core over websocket (ws/outpost//) and serves forward-auth for Caddy # on its own 9000. No published port — Caddy reaches it by container DNS on # dankclaw_default; the token lives in the host .env, never in this repo. [Unit] Description=Authentik outpost container After=network.target authentik-postgres.service authentik-server.service Wants=authentik-server.service [Container] ContainerName=authentik-outpost Image=ghcr.io/goauthentik/server:2026.8.3 Exec=worker Network=dankclaw_default EnvironmentFile=/home/dank/serverAppConfigs/dankclaw/.env Environment=AUTHENTIK_POSTGRESQL__HOST=authentik-postgres Environment=AUTHENTIK_POSTGRESQL__NAME=authentik Environment=AUTHENTIK_POSTGRESQL__USER=authentik Environment=AUTHENTIK_POSTGRESQL__PASSWORD=${AUTHENTIK_PG_PASS} Environment=AUTHENTIK_SECRET_KEY=${AUTHENTIK_SECRET_KEY} Environment=AUTHENTIK_HOST=https://auth.franksdank.cloud Environment=AUTHENTIK_INSECURE=false Environment=AUTHENTIK_TOKEN=${AUTHENTIK_OUTPOST_TOKEN} Volume=/home/dank/Containers/authentik/data:/data User=0:0 [Service] EnvironmentFile=/home/dank/serverAppConfigs/dankclaw/.env Restart=always RestartSec=5 [Install] WantedBy=default.target