Referensi Command CLI
Daftar semua command alurkerja-cli untuk instalasi dan operasional on-premises — pipeline build-alurkerja, jalur cepat --update-*, server database terpisah (--db-server), serta command profile, auth, addon, migrate, deployment, dan update.
Semua command dijalankan lewat binary alurkerja yang dipasang installer ke ~/.alurkerja/bin (Windows: %USERPROFILE%\.alurkerja\bin). Cara memasang CLI ada di Docker Compose v2 — Step 5. Setiap command punya bantuan bawaan: alurkerja <command> --help.
Ringkasan
| Command | Kegunaan |
|---|---|
alurkerja build-alurkerja | Instal atau jalankan ulang seluruh stack AlurKerja di mesin ini |
alurkerja build-alurkerja --db-server | Siapkan server database terpisah (PostgreSQL + pgvector) |
alurkerja build-alurkerja --update-image | Tarik image terbaru lalu recreate container |
alurkerja build-alurkerja --update-db | Perbarui schema database saja |
alurkerja build-alurkerja --update-domain --domain <domain> | Ganti domain publik |
alurkerja build-alurkerja --local-domain | Kembali ke domain lokal bawaan |
alurkerja build-alurkerja --update-keycloak | Jalankan ulang setup-keycloak.sh (role, client, mapper baru) |
alurkerja update | Perbarui binary CLI ke versi terbaru |
alurkerja profile …, alurkerja auth …, alurkerja login | Profile koneksi dan login ke platform |
alurkerja addon … | Scaffold, zip, dan publish Addon |
alurkerja migrate … | Jalankan migration database per release |
alurkerja deployment … | Build dan push image docker |
alurkerja --version | Tampilkan versi, commit, dan tanggal build |
Jalur cepat --update-image, --update-db, --update-domain, --update-keycloak, dan --db-server tidak bisa digabung — jalankan satu per satu. Semua --update-* dijalankan dari folder instalasi, atau tambahkan --dir <folder>.
Instalasi: build-alurkerja
alurkerja build-alurkerjaPipeline lengkap: cek prasyarat, download code, wizard fitur (storage, database, keycloak, SMTP, redis — local atau external), lalu install sampai semua container jalan. Idempoten: step yang sudah selesai di-SKIP, jadi aman dijalankan ulang. Prosedur langkah demi langkah, daftar flag, dan isi tiap step ada di Docker Compose v2.
Server database terpisah: --db-server
Dipakai saat client menginginkan database di server sendiri, terpisah dari server aplikasi. Prosesnya dua sisi.
1. Di server database — cukup docker, tanpa akun Harbor dan tanpa download code:
curl -fsSL https://cli.alurkerja.com/install.sh | bash # sekali, kalau CLI belum terpasang
alurkerja build-alurkerja --db-serverCLI menanyakan username dan password database (password diketik dua kali, tersembunyi), lalu menjalankan:
| Komponen | Nilai |
|---|---|
| Container | alurkerja_postgres, restart: unless-stopped |
| Image | pgvector/pgvector:pg16 — sama dengan stack bawaan, extension pgvector sudah ada |
| Port | 8101 (sama dengan AK_PORT_POSTGRES), ganti lewat --db-port |
| Volume | alurkerja_pgdata |
Pertanyaan bisa dilewati dengan flag: --db-user <user> --db-password '<password>'. Di akhir, CLI mencetak perintah untuk server aplikasi.
2. Di server aplikasi — jalankan perintah yang dicetak tadi:
alurkerja build-alurkerja --database external --db-host <IP server database> --db-port 8101 --db-user <user>Password ditanyakan di sini (tidak ikut tercetak). Step Init database membuat alurkerja_db dan keycloak_db di server database, lalu schema dimuat seperti biasa — container postgres lokal tidak dijalankan.
Expected output di server database:
PostgreSQL + pgvector is running on port 8101 (container alurkerja_postgres, volume alurkerja_pgdata).Port database terbuka ke semua interface. Batasi aksesnya hanya dari IP server aplikasi di firewall jaringan atau cloud. Docker melewati aturan ufw untuk port yang di-publish, jadi firewall level OS saja tidak cukup.
Perhatian: username dan password hanya berlaku saat volume
alurkerja_pgdatamasih kosong. Kalau volume itu sudah berisi data dari instalasi sebelumnya, CLI memberi peringatan dan user lama yang tetap berlaku.
Dijalankan ulang: container yang sedang berjalan di-SKIP; container yang berhenti dinyalakan lagi dengan data dan user lamanya.
Jika gagal:
port 8101 is already in use— port dipakai proses lain; hentikan prosesnya atau pilih port lain dengan--db-port. Database tidak siap dalam 60 detik — cek lognya dengandocker logs alurkerja_postgres.
Jalur cepat untuk instalasi existing
--update-image
alurkerja build-alurkerja --update-imageCek prasyarat (docker, login Harbor), unduh ulang .env.example, docker-compose.yml, dan nginx, merge key baru ke .env, isi AK_VERSION dari rilis migrasi terbaru, salin data MinIO lama ke RustFS kalau belum (Section K), docker compose pull, lalu recreate container. Nilai .env lain, volume, dan schema tidak disentuh; service yang dikonfigurasi external dilewati.
--update-db
alurkerja build-alurkerja --update-dbMengunduh ulang file SQL dari rilis (migrations, config/*.sql, scripts), membuat ulang dan memuat config/sql/public.sql, lalu mengisi ALURKERJA_VERSION dengan rilis migration terakhir. Kalau versinya berubah, container tenant di-recreate supaya melaporkan versi baru.
--update-domain dan --local-domain
alurkerja build-alurkerja --update-domain --domain alurkerja.dev
alurkerja build-alurkerja --local-domain--update-domain menulis ulang blok domain di .env, restart stack, dan menyinkronkan web-origins Keycloak; flag pendampingnya --port, --microsite-domain, --minio-domain, --sso-domain. Setelah domain diisi, CLI menanyakan sertifikatnya: Public (CA publik, tidak memasang apa pun) atau Company internal (folder sertifikat dari IT untuk CA privat perusahaan — lihat J.3). Kalau sertifikat semacam itu sudah terpasang, pilihannya Keep / Replace / Remove (J.4). --local-domain adalah kebalikannya: kembali ke https://alurkerja.local:8100 dengan sertifikat mkcert, tanpa domain yang perlu diketik. Detail dan peta URL: Section J — Skema Domain.
--update-keycloak
alurkerja build-alurkerja --update-keycloakMenyegarkan scripts/ dari rilis lalu menjalankan ulang setup-keycloak.sh — untuk role, client, atau mapper baru tanpa install ulang. Script-nya idempoten: client secret dibaca ulang, bukan dirotasi, jadi container hanya di-recreate kalau nilai realm di .env berubah. Untuk Keycloak external, kredensial admin diambil dari .env; kalau kosong, CLI menanyakannya atau isi lewat --keycloak-admin-user dan --keycloak-admin-password.
Command lain
Update CLI
alurkerja update # cek dan pasang versi terbaru (diverifikasi dengan checksums.txt)
alurkerja update --force # unduh ulang walau sudah versi terbarubuild-alurkerja memperbarui CLI otomatis sebelum berjalan; kalau update gagal, CLI lanjut dengan versi yang terpasang.
Profile dan login
alurkerja profile add <name> <url> <sso-url> <realm> <client-id> [--client-secret <secret>]
alurkerja profile list | show [name] | use <name> | remove <name>
alurkerja profile edit <name> [--url …] [--sso-url …] [--realm …] [--client-id …] [--client-secret …] [--reset-client-secret]
alurkerja login <profile> # login sekaligus menjadikan profile itu aktif
alurkerja auth login [profile]
alurkerja auth device [profile] # login tanpa browser (server headless): cetak URL + kode
alurkerja auth status [profile]
alurkerja auth logout [profile]
alurkerja auth token <authorization_code>Addon
alurkerja addon init [path]
alurkerja addon zip [--dir <path>]
alurkerja addon publish [path] # alias: push
alurkerja addon list [tenant-id]
alurkerja addon <profile> publish [path] # pakai profile tertentu tanpa mengubah profile aktifPanduan lengkap: AlurKerja CLI untuk Addon.
Migration database
alurkerja migrate up --dbname <db> [--host …] [--port …] [--user …] [--password …] [--path ./migrations]
alurkerja migrate status --env-path ./migrate.env
alurkerja migrate rollback --dbname <db> --path <folder-migrations>Migration dibaca dari migrations/<schema>/<release>/, dicatat per release di tabel migrate.migrations, atomik per file, dan dikunci dengan pg_advisory_lock. Urutan schema public lalu camunda (--schemas). Koneksi bisa lewat flag, env var (DB_HOST, DB_PORT, DB_USER, DB_PASS, DB_NAME), atau file --env-path.
Deployment
alurkerja deployment init
alurkerja deployment build <config.json> [--skip-push] [--suffix <image-suffix>] [--fromtag <tag>] [--newtag <tag>]init menyiapkan konfigurasi deployment; build meng-clone/pull project dari file konfigurasi, build image docker, lalu push (kecuali --skip-push).
Docker Compose v2
Runbook instalasi AlurKerja on-premises di mesin lokal menggunakan CLI build-alurkerja. Dua fase otomatis dan idempoten — Setup (5 step, +1 di Windows) lalu Install yang dirakit sesuai konfigurasi, dari download code sampai semua container jalan di domain lokal ber-HTTPS.
Kubernetes
Runbook instalasi AlurKerja di cluster Kubernetes on-premise. Berurutan 1..47, satu nomor satu aksi, setiap langkah memiliki validasi observable.
