Lewati ke konten

Pasang Cepat (One-Click Install)

Metode Pasang Cepat adalah cara termudah dan paling direkomendasikan untuk menjalankan ILDIS. Cukup satu perintah, dan script instalasi akan menangani semuanya — mulai dari menyiapkan database, mengkonfigurasi container, hingga membuat akun admin Anda.


Docker adalah teknologi yang mengemas aplikasi beserta seluruh dependensinya ke dalam sebuah container — bayangkan seperti kotak yang sudah berisi semua yang dibutuhkan agar aplikasi bisa berjalan, terpisah dari sistem Anda. Dengan Docker, Anda tidak perlu memasang PHP, MySQL, Nginx, atau konfigurasi server secara manual satu per satu.

Analogi sederhana: Jika instalasi manual ibarat membangun rumah dari bata dan semen, instalasi dengan Docker ibarat memesan rumah prefab yang sudah jadi — tinggal pakai.

Podman adalah alternatif Docker yang kompatibel dan bisa digunakan sebagai pengganti.

Sebelum memulai, pastikan perangkat Anda memenuhi hal berikut:

  • Docker atau Podman sudah terpasang — Pasang Docker · Pasang Podman
  • Ruang disk minimal 1 GB tersedia
  • Port 8080 tidak digunakan oleh aplikasi lain (atau siap untuk diubah)
  • Koneksi internet stabil (untuk mengunduh image ILDIS)
Pasang Docker di Ubuntu
# Pasang Docker
sudo apt-get update
sudo apt-get install -y ca-certificates curl
sudo install -m 0755 -d /etc/apt/keyrings
sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc
sudo chmod a+r /etc/apt/keyrings/docker.asc
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://download.docker.com/linux/ubuntu $(. /etc/os-release && echo $VERSION_CODENAME) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get update
sudo apt-get install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
# Tambahkan user Anda ke grup Docker (agar tanpa sudo)
sudo usermod -aG docker $USER
newgrp docker

Buka terminal dan jalankan perintah berikut:

Terminal window
curl -fsSL https://raw.githubusercontent.com/bphndigitalservice/ildis/main/install.sh | bash

Perintah ini akan mengunduh dan menjalankan script instalasi ILDIS secara otomatis.

Script akan menampilkan panduan interaktif yang memandu Anda melalui konfigurasi. Berikut adalah hal-hal yang akan ditanyakan:

  • Direktori instalasi — Lokasi folder untuk menyimpan file ILDIS. Default: /opt/ildis (atau ./ildis jika tidak memiliki akses).
  • Port aplikasi — Port yang digunakan untuk mengakses ILDIS. Default: 8080.
  • Reverse proxy — Apakah ILDIS berjalan di belakang reverse proxy (Nginx, Apache, Traefik lain)? Jika tidak, script akan menyiapkan Traefik secara otomatis.
  • SSL/TLS — Pilih salah satu:
    • Tidak ada — HTTP saja (cocok untuk development/local)
    • Let’s Encrypt — Sertifikat otomatis (perlu domain publik)
    • Manual — Gunakan sertifikat SSL sendiri

Pilih salah satu:

  1. MariaDB 10.11 (direkomendasikan, bawaan)
  2. MySQL 8.0
  3. Database eksternal — Jika Anda sudah memiliki server database sendiri

Untuk MariaDB dan MySQL, kata sandi database akan dibuat secara otomatis. Untuk database eksternal, Anda perlu memasukkan host, port, pengguna, dan kata sandi.

Buat username dan password untuk akun admin pertama Anda. Password minimal 8 karakter. Akun ini digunakan untuk login ke halaman backend ILDIS.

Aktifkan atau nonaktifkan Google reCAPTCHA pada halaman login backend. Untuk instalasi lokal/development, sebaiknya pilih nonaktif — Anda bisa mengaktifkannya nanti melalui file .env.

Script akan secara otomatis:

  1. Memeriksa prasyarat — Mendeteksi Docker/Podman, memeriksa ruang disk, dan port yang tersedia
  2. Mengunduh image ILDIS — Dari GitHub Container Registry (ghcr.io/bphndigitalservice/ildis:latest)
  3. Membuat konfigurasi — File .env, docker-compose.yml, dan konfigurasi nginx/Traefik
  4. Menjalankan container — Aplikasi, database, dan reverse proxy (jika diperlukan)
  5. Menunggu database siap — Healthcheck otomatis hingga database dapat menerima koneksi
  6. Menjalankan migrasi databasephp yii migrate/up untuk membuat skema tabel
  7. Membuat akun superadmin — Menggunakan perintah php yii user/create

Proses ini biasanya memakan waktu 3-10 menit tergantung kecepatan internet Anda.

Setelah instalasi berhasil, berikut adalah struktur direktori yang dibuat di folder instalasi (default: /opt/ildis):

File/DirektoriKeterangan
.envKonfigurasi environment — database, port, domain, SSL, reCAPTCHA, cookie key
docker-compose.ymlKonfigurasi Docker Compose — mendefinisikan container app, database (db), cron, dan Traefik (jika diperlukan)
nginx/default.confKonfigurasi Nginx dalam container — routing frontend dan backend
traefik/traefik.ymlKonfigurasi utama Traefik — entrypoints, log level, certificates resolver (hanya jika tidak menggunakan reverse proxy eksternal)
traefik/config.ymlKonfigurasi dinamis Traefik — routing rules dan redirect HTTP→HTTPS (hanya jika tidak menggunakan reverse proxy eksternal)
ssl/Direktori untuk sertifikat SSL manual — berisi server.crt dan server.key (hanya jika menggunakan SSL manual)
logs/nginx/Log Nginx — akses dan error log
logs/traefik/Log Traefik — akses dan error log (hanya jika menggunakan Traefik)
VERSIONFile versi ILDIS yang terpasang — digunakan oleh script update
backups/Direktori backup — dibuat saat menjalankan ./install.sh --update

Container Docker yang berjalan:

ContainerKeterangan
ildis_appAplikasi ILDIS (frontend + backend) — PHP-FPM + Nginx dalam satu image
ildis_mariadb atau ildis_mysqlDatabase — MariaDB 10.11 atau MySQL 8.0 sesuai pilihan saat instalasi
ildis_cronCron job — menjalankan tugas terjadwal (feed generator, dll)
ildis_traefikReverse proxy & SSL — Traefik v3 (hanya jika tidak menggunakan reverse proxy eksternal)

Data persisten disimpan dalam Docker volumes sehingga tidak hilang saat container dihapus atau diperbarui.

Setelah proses selesai, buka browser dan akses:

  • Frontend: http://localhost:8080
  • Backend (Admin): http://localhost:8080/backend

Jika Anda mengkonfigurasi domain dan SSL, ganti localhost:8080 dengan domain Anda (misalnya https://ildis.example.com).

Login ke backend menggunakan akun superadmin yang Anda buat pada Langkah 2.


Untuk pemasangan tanpa interaksi (misalnya di CI/CD pipeline), gunakan flag --non-interactive bersama variabel lingkungan:

Terminal window
INSTALL_DIR=/opt/ildis \
PORT=8080 \
DB_TYPE=mariadb \
DB_PASSWORD=yourpassword \
ADMIN_USERNAME=admin \
ADMIN_PASSWORD=yoursecurepassword \
curl -fsSL https://raw.githubusercontent.com/bphndigitalservice/ildis/main/install.sh | bash -s -- --non-interactive

Variabel lingkungan yang tersedia:

VariabelKeteranganDefault
INSTALL_DIRDirektori instalasi/opt/ildis
PORTPort aplikasi8080
PUBLIC_DOMAINURL publikhttp://localhost:8080
DB_TYPETipe database: mariadb, mysql, externalmariadb
DB_PASSWORDKata sandi database(dibuat otomatis)
DB_USERPengguna databaseildis
DB_DATABASENama databaseildis_v4
ADMIN_USERNAMEUsername superadminadmin
ADMIN_PASSWORDPassword superadmin(wajib diisi)
RECAPTCHA_ENABLEDAktifkan reCAPTCHAfalse

Untuk memperbarui ILDIS yang sudah terpasang ke versi terbaru:

Terminal window
./install.sh --update

Script akan menyimpan backup konfigurasi Anda, menarik image terbaru, dan menjalankan migrasi database secara otomatis.


Script instalasi mendukung berbagai opsi untuk kustomisasi:

OpsiKeterangan
--dir /pathTentukan direktori instalasi
--db-type mariadb|mysql|externalPilih tipe database
--reverse-proxyILDIS di belakang reverse proxy
--ssl-mode none|letsencrypt|manualMode SSL/TLS
--ssl-domain example.comDomain untuk SSL
--ssl-email user@example.comEmail untuk Let’s Encrypt
--admin-username adminUsername superadmin
--admin-password secretPassword superadmin
--db-port 3306Ekspos port database ke host

Jalankan ./install.sh --help untuk melihat semua opsi yang tersedia.


Jika Anda mengalami masalah selama instalasi:


Setelah instalasi berhasil, lanjutkan ke halaman berikut untuk konfigurasi tambahan: