Sign inSign up

squint27/authentik-deployment:v0.0.1

Manifest digest

sha256:938101aaddfb66558f48f10724eea99a3c7842c761733aac0473cad82664145a

Last pushed

27 days by squint27

Type

Compose

Manifest digest

sha256:938101aaddfb66558f48f10724eea99a3c7842c761733aac0473cad82664145a

Compose file content

networks:
  app-net:
    driver: bridge
services:
  postgresql:
    environment:
      POSTGRES_DB: ${PG_DB:-authentik}
      POSTGRES_PASSWORD: ${PG_PASS}
      POSTGRES_USER: ${PG_USER:-authentik}
    healthcheck:
      interval: 30s
      retries: 5
      start_period: 20s
      test:
        - CMD-SHELL
        - pg_isready -d $${POSTGRES_DB} -U $${POSTGRES_USER}
      timeout: 5s
    image: docker.io/library/postgres:16-alpine
    restart: unless-stopped
    volumes:
      - database:/var/lib/postgresql/data
    networks:
      - app-net
  server:
    command: server
    depends_on:
      postgresql:
        condition: service_healthy
    environment:
      AUTHENTIK_BOOTSTRAP_PASSWORD_HASH: ${AUTHENTIK_BOOTSTRAP_PASSWORD_HASH}
      AUTHENTIK_BOOTSTRAP_TOKEN: ${AUTHENTIK_BOOTSTRAP_TOKEN}
      AUTHENTIK_BOOTSTRAP_EMAIL: ${AUTHENTIK_BOOTSTRAP_EMAIL}
      AUTHENTIK_POSTGRESQL__HOST: postgresql
      AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
      AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
      AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
      AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.8.0}
    expose:
      - 9000
      - 9443
    restart: unless-stopped
    shm_size: 512mb
    # volumes:
    # - ./data:/data
    # - ./custom-templates:/templates
    networks:
      - app-net
  worker:
    command: worker
    depends_on:
      postgresql:
        condition: service_healthy
    environment:
      AUTHENTIK_BOOTSTRAP_PASSWORD_HASH: ${AUTHENTIK_BOOTSTRAP_PASSWORD_HASH}
      AUTHENTIK_BOOTSTRAP_TOKEN: ${AUTHENTIK_BOOTSTRAP_TOKEN}
      AUTHENTIK_BOOTSTRAP_EMAIL: ${AUTHENTIK_BOOTSTRAP_EMAIL}
      AUTHENTIK_POSTGRESQL__HOST: postgresql
      AUTHENTIK_POSTGRESQL__NAME: ${PG_DB:-authentik}
      AUTHENTIK_POSTGRESQL__PASSWORD: ${PG_PASS}
      AUTHENTIK_POSTGRESQL__USER: ${PG_USER:-authentik}
      AUTHENTIK_SECRET_KEY: ${AUTHENTIK_SECRET_KEY}
    image: ${AUTHENTIK_IMAGE:-ghcr.io/goauthentik/server}:${AUTHENTIK_TAG:-2026.8.0}
    restart: unless-stopped
    shm_size: 512mb
    user: root
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    # - ./data:/data
    # - ./certs:/certs
    # - ./custom-templates:/templates
    networks:
      - app-net
  caddy:
    restart: unless-stopped
    image: squint27/caddy-hetzner:v0.0.1
    container_name: caddy
    environment:
      HETZNER_API_TOKEN: ${HETZNER_API_TOKEN}
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    configs:
      - source: caddy_config
        target: /etc/caddy/Caddyfile
    volumes:
      - caddy_data:/data
      - caddy_config:/config
    networks:
      - app-net
    cap_add:
      - NET_ADMIN
volumes:
  database:
    driver: local
  caddy_data:
  caddy_config:
configs:
  caddy_config:
    content: |
      *.bunskin.com {
          tls {
              dns hetzner {env.HETZNER_API_TOKEN}
              propagation_delay 30s
          }

          reverse_proxy server:9000
      }

Docker commands

docker compose -f oci://squint27/authentik-deployment:v0.0.1 up

Use the above command to pull and run the Compose file. Learn more.

Images used

Image + 1 more

The PostgreSQL object-relational database system provides reliability and data integrity.


Pulls

1B+

Stars

15018

Last Updated

2 days

Image


Pulls

54

Stars

0

Last Updated

about 1 month