10 Sentinels Active
SENTINEL 01: [AEGIS] AUDITING POCKETBASE INFRASTRUCTURE...
Back to Self-Hosted Stacks
Authentik

Deploy Authentik

The overall-best open-source identity provider, focused on flexibility and versatility.

Quick Start

1

Create a directory

mkdir authentik-self-hosted && cd authentik-self-hosted
2

Create config file

Copy the content from the Config tab below into a file named docker-compose.yml

3

Deploy

docker compose up -d
Fast Track

Deploy Authentik in Minutes

Use our optimized Docker templates to deploy Authentik on any cloud provider. Get $200 in free credit to start on DigitalOcean.

Start with free creditDeploy on DigitalOcean
$200

Metadata

License
MIT
Language
Python
Last Updated
10/14/2026
Category
Security

Configuration

yaml
services:
  server:
    image: ghcr.io/goauthentik/server:latest
    container_name: authentik-server
    restart: unless-stopped
    command: server
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_started
    ports:
      - "9000:9000"
      - "9443:9443"
    environment:
      - AUTHENTIK_SECRET_KEY=changeme-generate-a-long-random-string
      - AUTHENTIK_REDIS__HOST=redis
      - AUTHENTIK_POSTGRESQL__HOST=db
      - AUTHENTIK_POSTGRESQL__USER=authentik
      - AUTHENTIK_POSTGRESQL__PASSWORD=authentik
      - AUTHENTIK_POSTGRESQL__NAME=authentik
    volumes:
      - authentik_media:/media
      - authentik_templates:/templates

  worker:
    image: ghcr.io/goauthentik/server:latest
    container_name: authentik-worker
    restart: unless-stopped
    command: worker
    depends_on:
      db:
        condition: service_healthy
      redis:
        condition: service_started
    environment:
      - AUTHENTIK_SECRET_KEY=changeme-generate-a-long-random-string
      - AUTHENTIK_REDIS__HOST=redis
      - AUTHENTIK_POSTGRESQL__HOST=db
      - AUTHENTIK_POSTGRESQL__USER=authentik
      - AUTHENTIK_POSTGRESQL__PASSWORD=authentik
      - AUTHENTIK_POSTGRESQL__NAME=authentik
    volumes:
      - authentik_media:/media
      - authentik_templates:/templates

  db:
    image: postgres:14-alpine
    container_name: authentik-db
    restart: unless-stopped
    environment:
      - POSTGRES_USER=authentik
      - POSTGRES_PASSWORD=authentik
      - POSTGRES_DB=authentik
    volumes:
      - authentik_db_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U authentik"]
      interval: 10s
      timeout: 5s
      retries: 5

  redis:
    image: redis:alpine
    container_name: authentik-redis
    restart: unless-stopped
    volumes:
      - authentik_redis_data:/data

volumes:
  authentik_db_data:
  authentik_redis_data:
  authentik_media:
  authentik_templates:

Community Notes

Help others by adding context, corrections, or warnings about this tool. Sign in to contribute.

No community notes yet. Be the first to add context.