
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.
Want to deploy Authentik on your server faster? Try Senate with one-command setup, automatic HTTPS and monitoring.
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.
Self-Host Authentik
Follow these steps to deploy on your own server.
Install Docker
Skip this step if Docker is already installed on your server.
curl -fsSL https://get.docker.com | sh
Configure
Customize the settings below. Defaults work for most cases.
General
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
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.ioWant 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)"