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

PilihanSiapa yang mengoperasikan
Dipasang sendiriTim Anda menjalankan RANCAQ di server milik Anda dengan profil Docker Compose yang ada di kode sumber.
DikelolaKami memasang dan mengoperasikan RANCAQ untuk Anda.

Komponen

Profil Compose acuan ada di direktori ops/compose dan berisi layanan berikut:

LayananFungsi
postgresBasis data PostgreSQL 17.
minioPenyimpanan objek untuk lampiran. Bisa dimatikan bila Anda memakai penyimpanan kompatibel S3 sendiri.
migrateMenjalankan migrasi basis data sekali, sebelum aplikasi naik. Juga tempat menjalankan perintah administrasi itsm.
apiBackend aplikasi.
workerPekerjaan latar: menarik email, menyusun notifikasi, dan mengirimnya.
webKonsol agen dan portal requester.
proxyReverse 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:

VariabelIsi
POSTGRES_PASSWORD, ITSM_APP_PASSWORDPassword pemeliharaan basis data dan password role aplikasi.
MINIO_ROOT_USER, MINIO_ROOT_PASSWORDAkun penyimpanan objek.
ITSM_SECRET_KEYKunci untuk mengenkripsi password mailbox. Wajib sebelum mailbox dipakai.
ITSM_REPLY_KEYKunci untuk token alamat balasan email. Wajib sebelum mailbox dipakai.
ITSM_PORTAL_BASE_URLAlamat RANCAQ yang bisa dibuka penerima email, dipakai untuk tautan di email.
ITSM_ORG_NAMENama pada penutup email notifikasi.
ITSM_FETCH_INTERVAL, ITSM_MAX_EMAIL_MBJeda 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=true wajib bila RANCAQ dibuka lewat HTTPS.
  • ITSM_S3_PUBLIC_ENDPOINT harus alamat penyimpanan objek yang bisa dijangkau browser pengguna, karena lampiran diunduh lewat tautan bertanda tangan.
  • ITSM_MAX_ATTACHMENT_MB membatasi 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:

  1. Organisasi dan pengguna, tim, dan peran.
  2. Kalender kerja dan kebijakan SLA.
  3. Katalog layanan.
  4. 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 backup mencadangkan basis data. Lampiran di penyimpanan objek dicadangkan terpisah, misalnya dengan menyalin bucket atau snapshot volume minio. Simpan .env terpisah dari file cadangan basis data.
  • Pemulihan. Hentikan api dan worker, jalankan itsm restore <file> lewat migrate, nyalakan lagi keduanya, lalu jalankan itsm 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 sebelum api dan worker naik.

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.