Back to Apps
Authentik

Deploy Authentik on Your Own Server

Authentik is an open-source Identity Provider that unifies your identity needs into a single platform, replacing Okta, Active Directory, and auth0. Supports SAML, OIDC, OAuth2, SCIM and LDAP.

🛠️ Developer Tools

Want to deploy Authentik on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.

Get Started

What is Authentik?

Authentik is an open-source Identity Provider focused on flexibility and versatility. This deployment includes PostgreSQL, Redis, and the latest Authentik server with worker. The deployment typically takes 2-3 minutes.

Learn more

Self-Host Authentik

Follow these steps to deploy on your own server.

1

Install Docker

Skip this step if Docker is already installed on your server.

curl -fsSL https://get.docker.com | sh
2

Configure

Customize the settings below. Defaults work for most cases.

General
3

Deploy

Copy the configuration and run it on your server.

services:
  authentik:
    image: ghcr.io/goauthentik/server:2025.6.1
    environment:
      AUTHENTIK_DISABLE_STARTUP_ANALYTICS: "true"
      AUTHENTIK_DISABLE_UPDATE_CHECK: "true"
      AUTHENTIK_ERROR_REPORTING__ENABLED: "false"
      AUTHENTIK_POSTGRESQL__HOST: authentik-postgresql
      AUTHENTIK_POSTGRESQL__NAME: authentik
      AUTHENTIK_POSTGRESQL__PASSWORD: 5fe30dc814c0ee6084b67b3098fc7ff9
      AUTHENTIK_POSTGRESQL__USER: authentik
      AUTHENTIK_REDIS__HOST: authentik-redis
      AUTHENTIK_SECRET_KEY: 4fc6033c944ff42cbeeb3bfc12573bfcab1a7d9f94f6f6b5be3c3918eec5f11f
    volumes:
      - authentik-media:/media
      - authentik-custom-templates:/templates
    depends_on:
      - authentik-postgresql
      - authentik-redis
      - authentik-init
  authentik-init:
    image: alpine:3.19
    volumes:
      - authentik-media:/media
      - authentik-certs:/certs
      - authentik-custom-templates:/templates
  authentik-postgresql:
    image: docker.io/library/postgres:16-alpine
    environment:
      POSTGRES_DB: authentik
      POSTGRES_PASSWORD: 5fe30dc814c0ee6084b67b3098fc7ff9
      POSTGRES_USER: authentik
    volumes:
      - authentik-postgresql-data:/var/lib/postgresql/data
  authentik-redis:
    image: docker.io/library/redis:8.0-alpine
    volumes:
      - authentik-redis-data:/data
  authentik-worker:
    image: ghcr.io/goauthentik/server:2025.6.1
    environment:
      AUTHENTIK_DISABLE_STARTUP_ANALYTICS: "true"
      AUTHENTIK_DISABLE_UPDATE_CHECK: "true"
      AUTHENTIK_ERROR_REPORTING__ENABLED: "false"
      AUTHENTIK_POSTGRESQL__HOST: authentik-postgresql
      AUTHENTIK_POSTGRESQL__NAME: authentik
      AUTHENTIK_POSTGRESQL__PASSWORD: 5fe30dc814c0ee6084b67b3098fc7ff9
      AUTHENTIK_POSTGRESQL__USER: authentik
      AUTHENTIK_REDIS__HOST: authentik-redis
      AUTHENTIK_SECRET_KEY: 4fc6033c944ff42cbeeb3bfc12573bfcab1a7d9f94f6f6b5be3c3918eec5f11f
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - authentik-media:/media
      - authentik-certs:/certs
      - authentik-custom-templates:/templates
    depends_on:
      - authentik-postgresql
      - authentik-redis
      - authentik-init
volumes:
  authentik-media: {}
  authentik-custom-templates: {}
  authentik-certs: {}
  authentik-postgresql-data: {}
  authentik-redis-data: {}

Then run:

docker compose up -d
4

Access

Once started, access your app at http://localhost:9000

Why Self-Host Authentik?

Full Data Ownership

Your data stays on your servers. No third-party access.

No Monthly Fees

Pay only for your server. No per-seat or usage charges.

Complete Control

Customize, backup, and scale on your own terms.

Privacy & Compliance

Meet GDPR, HIPAA, or internal security requirements.

Technical Details

Docker Image

ghcr.io/goauthentik/server:${authentik_version}

Official Docs

docs.goauthentik.io

Want to go faster?

Try Senate! Senate handles Docker, HTTPS, updates, and monitoring for you. Deploy any of our 300+ apps with a single command.

Install on any Linux server:

sh -c "$(curl -sSL https://get.senate.sh)"