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.
Apa Itu Docker?
Section titled “Apa Itu Docker?”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.
Prasyarat
Section titled “Prasyarat”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 Dockersudo apt-get updatesudo apt-get install -y ca-certificates curlsudo install -m 0755 -d /etc/apt/keyringssudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.ascsudo chmod a+r /etc/apt/keyrings/docker.ascecho "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/nullsudo apt-get updatesudo 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 $USERnewgrp dockerUnduh dan pasang Docker Desktop untuk Mac.
Atau gunakan Homebrew:
brew install --cask dockerUnduh dan pasang Docker Desktop untuk Windows.
Pastikan WSL 2 sudah aktif. Docker Desktop akan mengaturnya secara otomatis.
Langkah 1: Jalankan Perintah Instalasi
Section titled “Langkah 1: Jalankan Perintah Instalasi”Buka terminal dan jalankan perintah berikut:
curl -fsSL https://raw.githubusercontent.com/bphndigitalservice/ildis/main/install.sh | bashPerintah ini akan mengunduh dan menjalankan script instalasi ILDIS secara otomatis.
Langkah 2: Ikuti Panduan Interaktif
Section titled “Langkah 2: Ikuti Panduan Interaktif”Script akan menampilkan panduan interaktif yang memandu Anda melalui konfigurasi. Berikut adalah hal-hal yang akan ditanyakan:
Direktori dan Port
Section titled “Direktori dan Port”- Direktori instalasi — Lokasi folder untuk menyimpan file ILDIS. Default:
/opt/ildis(atau./ildisjika tidak memiliki akses). - Port aplikasi — Port yang digunakan untuk mengakses ILDIS. Default:
8080.
Konfigurasi Jaringan
Section titled “Konfigurasi Jaringan”- 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
Tipe Database
Section titled “Tipe Database”Pilih salah satu:
- MariaDB 10.11 (direkomendasikan, bawaan)
- MySQL 8.0
- 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.
Akun Superadmin
Section titled “Akun Superadmin”Buat username dan password untuk akun admin pertama Anda. Password minimal 8 karakter. Akun ini digunakan untuk login ke halaman backend ILDIS.
reCAPTCHA
Section titled “reCAPTCHA”Aktifkan atau nonaktifkan Google reCAPTCHA pada halaman login backend. Untuk instalasi lokal/development, sebaiknya pilih nonaktif — Anda bisa mengaktifkannya nanti melalui file .env.
Langkah 3: Tunggu Proses Selesai
Section titled “Langkah 3: Tunggu Proses Selesai”Script akan secara otomatis:
- Memeriksa prasyarat — Mendeteksi Docker/Podman, memeriksa ruang disk, dan port yang tersedia
- Mengunduh image ILDIS — Dari GitHub Container Registry (
ghcr.io/bphndigitalservice/ildis:latest) - Membuat konfigurasi — File
.env,docker-compose.yml, dan konfigurasi nginx/Traefik - Menjalankan container — Aplikasi, database, dan reverse proxy (jika diperlukan)
- Menunggu database siap — Healthcheck otomatis hingga database dapat menerima koneksi
- Menjalankan migrasi database —
php yii migrate/upuntuk membuat skema tabel - Membuat akun superadmin — Menggunakan perintah
php yii user/create
Proses ini biasanya memakan waktu 3-10 menit tergantung kecepatan internet Anda.
Struktur Direktori Instalasi
Section titled “Struktur Direktori Instalasi”Setelah instalasi berhasil, berikut adalah struktur direktori yang dibuat di folder instalasi (default: /opt/ildis):
| File/Direktori | Keterangan |
|---|---|
.env | Konfigurasi environment — database, port, domain, SSL, reCAPTCHA, cookie key |
docker-compose.yml | Konfigurasi Docker Compose — mendefinisikan container app, database (db), cron, dan Traefik (jika diperlukan) |
nginx/default.conf | Konfigurasi Nginx dalam container — routing frontend dan backend |
traefik/traefik.yml | Konfigurasi utama Traefik — entrypoints, log level, certificates resolver (hanya jika tidak menggunakan reverse proxy eksternal) |
traefik/config.yml | Konfigurasi 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) |
VERSION | File versi ILDIS yang terpasang — digunakan oleh script update |
backups/ | Direktori backup — dibuat saat menjalankan ./install.sh --update |
Container Docker yang berjalan:
| Container | Keterangan |
|---|---|
ildis_app | Aplikasi ILDIS (frontend + backend) — PHP-FPM + Nginx dalam satu image |
ildis_mariadb atau ildis_mysql | Database — MariaDB 10.11 atau MySQL 8.0 sesuai pilihan saat instalasi |
ildis_cron | Cron job — menjalankan tugas terjadwal (feed generator, dll) |
ildis_traefik | Reverse 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.
Langkah 4: Akses Aplikasi
Section titled “Langkah 4: Akses Aplikasi”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.
Mode Non-Interaktif (CI/Otomatisasi)
Section titled “Mode Non-Interaktif (CI/Otomatisasi)”Untuk pemasangan tanpa interaksi (misalnya di CI/CD pipeline), gunakan flag --non-interactive bersama variabel lingkungan:
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-interactiveVariabel lingkungan yang tersedia:
| Variabel | Keterangan | Default |
|---|---|---|
INSTALL_DIR | Direktori instalasi | /opt/ildis |
PORT | Port aplikasi | 8080 |
PUBLIC_DOMAIN | URL publik | http://localhost:8080 |
DB_TYPE | Tipe database: mariadb, mysql, external | mariadb |
DB_PASSWORD | Kata sandi database | (dibuat otomatis) |
DB_USER | Pengguna database | ildis |
DB_DATABASE | Nama database | ildis_v4 |
ADMIN_USERNAME | Username superadmin | admin |
ADMIN_PASSWORD | Password superadmin | (wajib diisi) |
RECAPTCHA_ENABLED | Aktifkan reCAPTCHA | false |
Memperbarui Instalasi
Section titled “Memperbarui Instalasi”Untuk memperbarui ILDIS yang sudah terpasang ke versi terbaru:
./install.sh --updateScript akan menyimpan backup konfigurasi Anda, menarik image terbaru, dan menjalankan migrasi database secara otomatis.
Opsi Lanjutan
Section titled “Opsi Lanjutan”Script instalasi mendukung berbagai opsi untuk kustomisasi:
| Opsi | Keterangan |
|---|---|
--dir /path | Tentukan direktori instalasi |
--db-type mariadb|mysql|external | Pilih tipe database |
--reverse-proxy | ILDIS di belakang reverse proxy |
--ssl-mode none|letsencrypt|manual | Mode SSL/TLS |
--ssl-domain example.com | Domain untuk SSL |
--ssl-email user@example.com | Email untuk Let’s Encrypt |
--admin-username admin | Username superadmin |
--admin-password secret | Password superadmin |
--db-port 3306 | Ekspos port database ke host |
Jalankan ./install.sh --help untuk melihat semua opsi yang tersedia.
Bantuan dan Dukungan
Section titled “Bantuan dan Dukungan”Jika Anda mengalami masalah selama instalasi:
- Periksa log container:
docker compose -f /opt/ildis/docker-compose.yml logs - Hubungi tim IT di it.dev@bphn.go.id untuk bantuan teknis
- Lihat Langkah Setelah Instalasi untuk konfigurasi tambahan
Langkah Selanjutnya
Section titled “Langkah Selanjutnya”Setelah instalasi berhasil, lanjutkan ke halaman berikut untuk konfigurasi tambahan: