Pemasangan
Cara memasang
Dipasang sendiri dengan Docker Compose, atau dikelola oleh kami.
RANCAQ bisa Anda pasang sendiri di server Anda dengan Docker Compose, atau kami pasang dan operasikan untuk Anda. Halaman ini menjelaskan kedua pilihan itu secara garis besar.
Dua pilihan
| Pilihan | Siapa yang mengoperasikan |
|---|---|
| Dipasang sendiri | Tim Anda menjalankan RANCAQ di server milik Anda dengan profil Docker Compose yang ada di kode sumber. |
| Dikelola | Kami memasang dan mengoperasikan RANCAQ untuk Anda. |
Komponen
Profil Compose acuan ada di direktori ops/compose dan berisi layanan berikut:
| Layanan | Fungsi |
|---|---|
postgres | Basis data PostgreSQL 17. |
minio | Penyimpanan objek untuk lampiran. Bisa dimatikan bila Anda memakai penyimpanan kompatibel S3 sendiri. |
migrate | Menjalankan migrasi basis data sekali, sebelum aplikasi naik. Juga tempat menjalankan perintah administrasi itsm. |
api | Backend aplikasi. |
worker | Pekerjaan latar: menarik email, menyusun notifikasi, dan mengirimnya. |
web | Konsol agen dan portal requester. |
proxy | Reverse proxy Caddy (profil proxy). Konsol dan API harus satu alamat, jadi aplikasi dibuka lewat layanan ini. |
api, worker, dan CLI itsm berada dalam satu image. api dan worker terhubung ke basis data dengan role aplikasi yang tunduk pada Row-Level Security; kredensial pemeliharaan hanya ada di layanan migrate.
Dipasang sendiri
Prasyarat
- Docker Engine 24 atau lebih baru dengan Compose v2.
- Kode sumber RANCAQ di server tempat Anda memasang.
- Mailbox POP3 dan SMTP bila Anda akan memakai channel email.
1. Siapkan konfigurasi
cd ops/compose
cp .env.example .env
Buka .env dan ganti semua nilai bawaan. Garis besarnya:
| Variabel | Isi |
|---|---|
POSTGRES_PASSWORD, ITSM_APP_PASSWORD | Password pemeliharaan basis data dan password role aplikasi. |
MINIO_ROOT_USER, MINIO_ROOT_PASSWORD | Akun penyimpanan objek. |
ITSM_SECRET_KEY | Kunci untuk mengenkripsi password mailbox. Wajib sebelum mailbox dipakai. |
ITSM_REPLY_KEY | Kunci untuk token alamat balasan email. Wajib sebelum mailbox dipakai. |
ITSM_PORTAL_BASE_URL | Alamat RANCAQ yang bisa dibuka penerima email, dipakai untuk tautan di email. |
ITSM_ORG_NAME | Nama pada penutup email notifikasi. |
ITSM_FETCH_INTERVAL, ITSM_MAX_EMAIL_MB | Jeda penarikan mailbox dan batas ukuran email masuk. |
Dua kunci email berisi 32 byte acak dalam base64. Buat masing-masing sekali:
openssl rand -base64 32
Simpan .env seperti Anda menyimpan password basis data, dan jangan memasukkannya ke repositori. Bila ITSM_SECRET_KEY hilang, semua password mailbox harus diisi ulang.
Beberapa pengaturan lain dibaca dari lingkungan yang sama:
ITSM_COOKIE_SECURE=truewajib bila RANCAQ dibuka lewat HTTPS.ITSM_S3_PUBLIC_ENDPOINTharus alamat penyimpanan objek yang bisa dijangkau browser pengguna, karena lampiran diunduh lewat tautan bertanda tangan.ITSM_MAX_ATTACHMENT_MBmembatasi ukuran lampiran, bawaannya 10.
Untuk HTTPS, ganti :80 di Caddyfile dengan nama domain Anda, atau pasang RANCAQ di belakang reverse proxy milik Anda.
2. Jalankan layanan
docker compose --profile proxy up -d
Layanan migrate berjalan lebih dulu dan menerapkan semua migrasi. api dan worker baru naik setelah migrasi selesai dengan sukses.
3. Buat tenant dan admin pertama
Akun pertama dibuat lewat CLI, bukan lewat API. Perintah ini membuat tenant, peran dasar, dan satu admin tenant:
ITSM_BOOTSTRAP_ADMIN_PASSWORD='<password-awal-admin>' \
docker compose run --rm -e ITSM_BOOTSTRAP_ADMIN_PASSWORD migrate \
itsm bootstrap-admin --tenant-slug <slug> --tenant-name "<nama perusahaan>" \
--admin-email <email-admin> --admin-name "<nama admin>"
Password dikirim lewat variabel lingkungan supaya tidak tercatat di riwayat shell.
4. Periksa dan masuk
docker compose run --rm migrate itsm doctor
doctor memeriksa koneksi basis data, migrasi yang tertunda, dan konfigurasi penyimpanan objek. Setelah itu buka alamat RANCAQ di browser dan masuk dengan akun admin tadi. Lihat Masuk dan navigasi.
5. Siapkan tenant
Dari menu Administrasi, lanjutkan secara berurutan:
- Organisasi dan pengguna, tim, dan peran.
- Kalender kerja dan kebijakan SLA.
- Katalog layanan.
- Channel email.
Operasi harian
Semua perintah administrasi dijalankan lewat layanan migrate:
docker compose run --rm migrate itsm migrate status
docker compose run --rm -v "$PWD/backups:/backup" -w /backup migrate \
itsm backup itsm-$(date +%Y%m%d).dump
- Pencadangan.
itsm backupmencadangkan basis data. Lampiran di penyimpanan objek dicadangkan terpisah, misalnya dengan menyalin bucket atau snapshot volumeminio. Simpan.envterpisah dari file cadangan basis data. - Pemulihan. Hentikan
apidanworker, jalankanitsm restore <file>lewatmigrate, nyalakan lagi keduanya, lalu jalankanitsm doctor. Latih pemulihan ini sebelum dipakai sungguhan. - Pembaruan. Ambil kode sumber versi baru, lalu jalankan lagi
docker compose --profile proxy up -d --build. Migrasi baru diterapkan sebelumapidanworkernaik.
Basis data dan penyimpanan yang sudah ada
Bila Anda sudah punya PostgreSQL dan penyimpanan objek sendiri, kode sumber menyediakan varian Compose docker-compose.remote.yml yang tidak membawa postgres dan minio. Dengan varian ini, database dan role aplikasi harus Anda siapkan lebih dulu di server basis data, karena skrip penyiapan role bawaan hanya berjalan di layanan postgres.
Dikelola
Bila Anda tidak ingin mengoperasikan server sendiri, kami bisa memasang dan mengoperasikan RANCAQ untuk Anda. Hubungi kami untuk membicarakan kebutuhan dan ketentuannya.