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/redirect

Konfigurasi 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.yml

Docker 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