Konfigurasi dan Instalasi Authentik untuk Semaphore#
Masuk ke Authentik sebagai administrator dan buka antarmuka Admin Authentik.
Navigasikan ke Applications > Applications lalu klik Create with Provider untuk membuat pasangan application dan provider. (Alternatifnya, Anda bisa membuat provider terlebih dahulu secara terpisah, kemudian membuat application dan menghubungkannya dengan provider tersebut.)
Application#
Berikan:
- Nama deskriptif untuk aplikasi
- (Opsional) Grup untuk jenis aplikasi
- Mode policy engine
- Pengaturan UI opsional
Provider#
Pilih OAuth2/OpenID Connect sebagai tipe provider.
Konfigurasi Provider
Berikan:
- Nama provider (atau gunakan nama otomatis)
- Authorization flow yang akan digunakan untuk provider ini
Konfigurasi wajib berikut, Catat nilai berikut karena akan dibutuhkan nanti:
- Client ID
- Client Secret
- Slug
Atur Strict redirect URI menjadi:
https://auth.hub.roomit.xyz/api/auth/oidc/authentik/redirectKonfigurasi Bindings (Opsional)
Anda dapat membuat binding (policy, grup, atau user) untuk mengatur penampilan dan akses aplikasi pada halaman My applications milik pengguna.
Terakhir, klik Submit untuk menyimpan application dan provider yang baru.
Konfigurasi and Instalasi Semaphore dengan Docker#
Buat Projek dan File direktori
Create FHS#
mkdir -p /opt/semaphore && cd /opt/semaphore
docker-compose.ymlDocker Compose File#
services:
semaphore:
ports:
- 10.120.23.2:3000:3000
image: semaphoreui/semaphore:v2.16.35
restart: unless-stopped
environment:
SEMAPHORE_DB_DIALECT: sqlite
SEMAPHORE_ADMIN: admin
SEMAPHORE_ADMIN_PASSWORD: xxxxxxxx
SEMAPHORE_ADMIN_NAME: Dwiyan Galuh W
SEMAPHORE_ADMIN_EMAIL: admin@roomit.xyz
SEMAPHORE_WEB_HOST: https://provision.hub.roomit.xyz
SEMAPHORE_TELEGRAM_ALERT: "True"
SEMAPHORE_TELEGRAM_TOKEN: "111111111:xxxxxx"
SEMAPHORE_GOTIFY_ALERT: "True"
SEMAPHORE_WEB_ROOT: "/"
SEMAPHORE_PASSWORD_LOGIN_DISABLED: "True"
SEMAPHORE_GOTIFY_URL: "https://gotify.hub.roomit.xyz"
SEMAPHORE_GOTIFY_TOKEN: "xxxxxxxxxxxx"
SEMAPHORE_PLAYBOOK_PATH: "/opt/docker/books/semaphore/playbook"
SEMAPHORE_OIDC_PROVIDERS: >-
{"authentik": {
"display_name": "Sign in with Authentik",
"provider_url": "https://auth.hub.roomit.xyz/application/o/semaphore/",
"client_id": "xxxxxxx",
"client_secret": "xxxxxxxxx",
"redirect_url": "https://provision.hub.roomit.xyz/api/auth/oidc/authentik/redirect/",
"scopes": ["openid", "profile", "email"],
"username_claim": "preferred_username",
"name_claim": "preferred_username",
"email_claim": "email",
"endpoint": {
"auth": "https://auth.hub.roomit.xyz/application/o/authorize/",
"token": "https://auth.hub.roomit.xyz/application/o/token/",
"userinfo": "https://auth.hub.roomit.xyz/application/o/userinfo/"
}
}}
volumes:
- semaphore_lib:/var/lib/semaphore
- semaphore_etc:/etc/semaphore
- semaphore_tmp:/tmp/semaphore
volumes:
semaphore_lib:
semaphore_etc:
semaphore_tmp:Start Service Container#
docker compose up -d