1-Click Docker Compose Generator
Tweak your ports, database passwords, and persistence volumes live. Generate a production-grade docker-compose.yml ready to spin up with one terminal command.
1-Click Docker Compose Generator
Generate production-ready container definitions with customizable ports and volumes.
Open-source Identity Provider focused on flexibility and enterprise versatile authentication flows
version: '3.4'
services:
postgresql:
image: docker.io/library/postgres:16-alpine
restart: unless-stopped
volumes:
- database:/var/lib/postgresql/data
environment:
POSTGRES_PASSWORD: ${PG_PASS:-secret_authentik_pw}
POSTGRES_USER: ${POSTGRES_USER:-authentik}
POSTGRES_DB: ${POSTGRES_DB:-authentik}
redis:
image: docker.io/library/redis:alpine
command: --save 60 1 --loglevel warning
restart: unless-stopped
volumes:
- redis:/data
server:
image: ghcr.io/goauthentik/server:latest
restart: unless-stopped
command: server
environment:
AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY:-generate_random_key_here}
AUTHENTIK_REDIS__HOST: redis
AUTHENTIK_POSTGRESQL__HOST: postgresql
AUTHENTIK_POSTGRESQL__USER: ${POSTGRES_USER:-authentik}
AUTHENTIK_POSTGRESQL__NAME: ${POSTGRES_DB:-authentik}
AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS:-secret_authentik_pw}
volumes:
- ./media:/media
- ./custom-templates:/templates
ports:
- "${COMPOSE_PORT_HTTP:-9000}:9000"
- "${COMPOSE_PORT_HTTPS:-9443}:9443"
depends_on:
- postgresql
- redis
volumes:
database:
redis:Download or copy the generated YAML into a folder on your server as docker-compose.yml.
Execute docker compose up -d. Docker pulls the official images and sets up persistent storage volumes.
Visit your server's IP address on the designated port. You now own your software stack with zero monthly recurring charges.
Docker Compose Self-Hosting & Reverse Proxy FAQ
Are the generated docker-compose.yml configurations safe for production?
Yes. Every template uses official upstream container registries, explicit restart policies (restart: unless-stopped), isolated named or bind-mounted volumes for stateful database storage, and customizable secret environment variables.
How do I put HTTPS / SSL in front of these Docker Compose containers?
Bind your container port to localhost (e.g., 127.0.0.1:8080:8080) and route traffic through Caddy, Nginx Proxy Manager, or Traefik with automatic Let's Encrypt TLS certificates.
How do I back up persistent volumes created by Docker Compose?
Stop or snapshot the database service using pg_dump / mysqldump for relational data, and archive the mapped ./data directory using restic or borgbackup to an S3-compatible bucket.