Giriş
Authentik, modern uygulamalar için güçlü ve esnek bir kimlik ve erişim yönetimi (IAM) çözümüdür. Bu kılavuz, Linux ortamında Docker konteynerleri aracılığıyla Authentik'i dağıtarak, kuruluşunuzdaki farklı uygulamalar için merkezi bir Tek Oturum Açma (SSO) portalı oluşturmanıza yardımcı olacaktır. Authentik, OpenID Connect (OIDC), SAML ve LDAP gibi çeşitli protokolleri destekleyerek merkezi kimlik doğrulama ihtiyacınızı karşılar.
Zorluk Seviyesi
Bu kurulum, temel Linux komut satırı bilgisi ve Docker bilgisi gerektirdiğinden Intermediate (Orta Seviye) olarak sınıflandırılmıştır.
Ön Gereksinimler
Başlamadan önce aşağıdaki bileşenlerin sisteminizde kurulu olduğundan emin olun:
- Linux İşletim Sistemi (Örn: Ubuntu, CentOS).
- Docker ve Docker Compose kurulu olmalıdır.
Not: Docker ve Docker Compose kurulumu bu kılavuzun kapsamı dışındadır. Eğer kurulu değilse, resmi dokümantasyonları takip ederek kurulum yapmanız önerilir.
Adım 1: Docker Compose Dosyasını Hazırlama
Authentik'i çalıştırmak için kalıcı depolama ve ağ ayarlarını tanımlayan bir docker-compose.yml dosyasına ihtiyacımız var. Ayrıca, Authentik'in veritabanı olarak kullanacağı PostgreSQL'i de aynı dosyada tanımlayacağız.
Proje dizininizi oluşturun ve içine gidin:
mkdir authentik-docker
cd authentik-docker
Aşağıdaki içeriği docker-compose.yml dosyasına kaydedin:
version: '3.8'
services:
postgres:
image: postgres:15-alpine
restart: always
environment:
POSTGRES_USER: authentik_user
POSTGRES_PASSWORD: <GIZLI_VERITABANI_SIFRESINI_BURAYA_GIRIN>
POSTGRES_DB: authentik_db
volumes:
- ./postgres_data:/var/lib/postgresql/data
authentik:
image: authentik/authentik:latest
restart: always
command: server
env_file: .env
ports:
- "8080:80"
volumes:
- ./media:/media
- ./static:/static
depends_on:
- postgres
volumes:
postgres_data:
media:
static:
Adım 2: Ortam Değişkenlerini Yapılandırma (.env Dosyası)
Güvenlik ve yapılandırma ayarları için bir .env dosyası oluşturmalıyız. Bu dosya, veritabanı bağlantı bilgilerini ve Authentik'in gizli anahtarını (secret key) içerecektir.
.env dosyasını oluşturun:
touch .env
Aşağıdaki içeriği ekleyin. SECRET_KEY için güçlü ve rastgele bir değer üretmeniz kritik öneme sahiptir:
# Veritabanı Bağlantı Ayarları
POSTGRES_HOST=postgres
POSTGRES_PORT=5432
POSTGRES_USER=authentik_user
POSTGRES_PASSWORD=<GIZLI_VERITABANI_SIFRESINI_BURAYA_GIRIN>
POSTGRES_DB=authentik_db
# Authentik Ayarları
AUTHENTIK_SECRET_KEY=<GUCLU_VE_RASTGELE_BIR_ANAHTAR_OLUSTURUN>
AUTHENTIK_DEBUG=False
AUTHENTIK_DEFAULT_REDIRECT_URL=http://localhost:8080/
Önemli Güvenlik Uyarısı:AUTHENTIK_SECRET_KEY'i asla varsayılan olarak bırakmayın. Yüksek entropili, rastgele bir dize kullanın (örneğin, Linux'taopenssl rand -base64 32komutu ile oluşturabilirsiniz).
Adım 3: Authentik'i Başlatma
Tüm dosyalar hazır olduğunda, Docker Compose kullanarak hizmetleri başlatabilirsiniz. Bu işlem, veritabanını ve Authentik konteynerini oluşturacak ve başlatacaktır.
Aşağıdaki komutu çalıştırın:
docker compose up -d
-d bayrağı, konteynerlerin arka planda (detached mode) çalışmasını sağlar. İlk çalıştırmada gerekli tüm bağımlılıklar indirileceği için biraz zaman alabilir.
Adım 4: İlk Yönetici Kullanıcısını Oluşturma ve Yapılandırma
Konteynerler çalıştıktan sonra, Authentik arayüzüne erişim sağlamak için ilk yönetici hesabını oluşturmanız gerekir. Varsayılan olarak Authentik, 8080 portunda yayın yapar.
- Web tarayıcınızı açın ve
http://<Sunucu_IP_Adresiniz>:8080adresine gidin. - Authentik kurulum sihirbazı sizi karşılayacaktır. 'Start Setup' butonuna tıklayın.
- Sihirbaz, ilk yönetici hesabını oluşturmanızı isteyecektir. Kullanıcı adı, e-posta ve güçlü bir şifre belirleyin.
- Kurulum tamamlandığında, artık Authentik yönetim panelinize giriş yapabilirsiniz.
Adım 5: SSO ve Uygulama Entegrasyonuna Hazırlık
Yönetim paneline girdikten sonra, SSO sağlamak için uygulamalarınızı (Providers) ve kimlik sağlayıcılarınızı (Identity Providers) yapılandırmaya başlayabilirsiniz. Authentik, OIDC, SAML veya LDAP gibi protokoller aracılığıyla mevcut uygulamalarınızı merkezi olarak yönetmenize olanak tanır.
İpucu: Üretim ortamına geçmeden önce, Authentik'i bir ters proxy (Nginx veya Traefik) arkasına alarak HTTPS üzerinden erişimi sağlamanız ve port 8080'i gizlemeniz şiddetle tavsiye edilir.



