Instalasi
Ada beberapa cara memasang Databasus: script otomatis (direkomendasikan), Docker run, Docker Compose, Helm untuk Kubernetes, atau Docker Compose dengan Caddy untuk deployment production.
Kebutuhan sistem
Databasus membutuhkan sumber daya minimum berikut agar bisa berjalan dengan baik:
- CPU: Setidaknya 1 core CPU
- RAM: Minimum 500 MB RAM
- Penyimpanan: 5 GB untuk instalasi, ditambah ruang sesuai kebutuhan backup kamu
- Docker: Docker Engine 20.10+ dan Docker Compose v2.0+
Opsi 1: script instalasi (direkomendasikan, khusus Linux)
Script instalasi akan:
- ✅ Memasang Docker beserta Docker Compose (jika belum terpasang)
- ✅ Menyiapkan Databasus
- ✅ Mengatur agar Databasus berjalan otomatis setelah sistem dimulai ulang
sudo apt-get install -y curl && \
sudo curl -sSL https://raw.githubusercontent.com/databasus/databasus/refs/heads/main/install-databasus.sh | sudo bashDengan cara ini, Databasus dipasang di direktori /opt/databasus.
Opsi 2: Docker run sederhana
Cara paling mudah menjalankan Databasus:
docker run -d \
--name databasus \
-p 4005:4005 \
-v ./databasus-data:/databasus-data \
--restart unless-stopped \
databasus/databasus:latestSatu perintah ini akan:
- ✅ Menjalankan Databasus
- ✅ Menyimpan semua data di direktori
./databasus-data - ✅ Menjalankan ulang Databasus secara otomatis setelah sistem dimulai ulang
Opsi 3: pengaturan Docker Compose
Buat file docker-compose.yml dengan konfigurasi berikut:
services:
databasus:
container_name: databasus
image: databasus/databasus:latest
ports:
- "4005:4005"
volumes:
- ./databasus-data:/databasus-data
restart: unless-stoppedLalu jalankan:
docker compose up -dProses awal menjalankan layanan bisa memakan waktu hingga ~2 menit.
Opsi 4: Kubernetes dengan Helm
Untuk deployment Kubernetes, pasang langsung dari OCI registry. Pilih metode akses yang sesuai dengan lingkungan kamu.
Dengan ClusterIP + port-forward (development)
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespaceAkses melalui port-forward:
kubectl port-forward svc/databasus-service 4005:4005 -n databasus
# Access at http://localhost:4005Dengan LoadBalancer (lingkungan cloud)
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace \
--set service.type=LoadBalancerDapatkan IP eksternal, lalu akses Databasus:
kubectl get svc databasus-service -n databasus
# Access at http://<EXTERNAL-IP>:4005Dengan Ingress (akses melalui domain)
helm install databasus oci://ghcr.io/databasus/charts/databasus \
-n databasus --create-namespace \
--set ingress.enabled=true \
--set ingress.hosts[0].host=backup.example.comUntuk opsi lain (NodePort, TLS, HTTPRoute untuk Gateway API), lihat dokumentasi Helm chart.
Menjalankan dengan reverse proxy Caddy
Untuk deployment production, kamu bisa menggunakan Caddy sebagai reverse proxy agar mendapatkan sertifikat HTTPS otomatis dan akses aman ke Databasus. Berikut konfigurasi lengkap Docker Compose dengan Caddy.
Docker Compose dengan Caddy
Buat file docker-compose.yml:
services:
databasus:
container_name: databasus
image: databasus/databasus:latest
volumes:
- ./databasus-data:/databasus-data
restart: unless-stopped
# No port exposed - Caddy handles external access
caddy:
container_name: caddy
image: caddy:latest
ports:
- "80:80"
- "443:443"
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- ./caddy-data:/data
- ./caddy-config:/config
restart: unless-stopped
depends_on:
- databasusBuat Caddyfile di direktori yang sama:
backup.example.com {
reverse_proxy databasus:4005
}Lalu jalankan layanan:
docker compose up -dKonfigurasi ini menyediakan:
- ✅ HTTPS otomatis dengan sertifikat Let's Encrypt
- ✅ Pengalihan HTTP ke HTTPS
- ✅ Reverse proxy ke Databasus
- ✅ Data persisten untuk Caddy dan Databasus
Ganti backup.example.com dengan domain kamu. Pastikan DNS domain mengarah ke alamat IP server sebelum menjalankan layanan.
Mulai menggunakan Databasus
Setelah instalasi:
- Jalankan dan akses Databasus: Jalankan Databasus, lalu buka
http://localhost:4005 - Buat tugas backup pertama: Klik "New Backup", lalu atur koneksi database PostgreSQL kamu
- Atur jadwal: Tentukan jadwal backup (per jam, harian, mingguan, bulanan, atau cron)
- Pilih tujuan penyimpanan: Pilih tempat menyimpan backup (lokal, S3, Azure Blob Storage, dan sebagainya)
- Atur notifikasi: Tambahkan kanal notifikasi (Slack, Telegram, Discord) untuk menerima pemberitahuan status backup
- Mulai backup: Simpan konfigurasi dan pantau backup pertama kamu!
Pemeriksaan ketersediaan
Pemeriksaan ketersediaan Docker
Pemeriksaan ketersediaan bawaan aktif otomatis untuk docker run dan Docker Compose. Container dilaporkan healthy setelah Databasus mulai melayani request (setelah masa tenggang singkat saat startup). Pemeriksaan ini hanya memastikan aplikasi merespons, sehingga kondisi yang tidak kritis, seperti ruang disk menipis, tidak memicu restart container.
Endpoint pemantauan / status
Untuk pemantauan uptime dan dashboard status:
GET http://<host>:4005/api/v1/system/healthMengembalikan 200 jika sehat, atau 503 beserta alasannya jika ada yang perlu diperhatikan: database internal, penggunaan disk (di atas 95%), alat client database, proses latar belakang, dan keaktifan agen verifikasi. Tidak memerlukan autentikasi, dan CORS terbuka untuk alat pemantauan berbasis browser.
⚠️ Penting: gunakan hanya untuk pemantauan dan pemberitahuan, bukan sebagai liveness probe container atau Kubernetes. Endpoint ini mengembalikan 503 ketika kondisi memburuk tetapi layanan masih berjalan (misalnya disk hampir penuh), sehingga bisa memicu restart container yang sebenarnya masih berfungsi.
Kubernetes
Gunakan liveness/readiness probe yang menjalankan databasus healthcheck; gunakan endpoint /api/v1/system/health hanya untuk pemantauan eksternal.
Cara memperbarui Databasus
Memperbarui instalasi Docker
Untuk memperbarui Databasus yang berjalan melalui Docker, hentikan layanan, bersihkan cache Docker, lalu jalankan kembali container.
- Buka direktori instalasi Databasus (biasanya
/opt/databasus) - Hentikan container:
docker compose stop - Bersihkan cache Docker:
docker system prune -a - Jalankan kembali container:
docker compose up -d
Langkah ini akan mengambil versi terbaru Databasus dari Docker Hub (jika kamu tidak menetapkan versi tertentu di file docker-compose.yml).
Memperbarui instalasi Helm
Untuk memperbarui Databasus yang berjalan di Kubernetes melalui Helm, gunakan perintah upgrade:
helm upgrade databasus oci://ghcr.io/databasus/charts/databasus -n databasusJika menggunakan nilai khusus, tambahkan -f values.yaml atau flag --set agar konfigurasi kamu tetap digunakan. Helm akan melakukan rolling update ke versi baru.
Migrasi dari Postgresus
Databasus adalah nama baru Postgresus. Jika saat ini menggunakan Postgresus, kamu bisa tetap menggunakannya atau bermigrasi ke Databasus.
Penting: Mengganti nama image Docker saja tidak cukup karena Postgresus dan Databasus menggunakan folder data dan nama database internal yang berbeda.
Untuk bermigrasi:
- Hentikan container Postgresus:
docker compose stop - Pasang Databasus dengan salah satu metode di atas (gunakan path volume yang berbeda,
./databasus-data) - Buat ulang database, penyimpanan, dan kanal notifikasi secara manual di Databasus
Kamu bisa menjalankan Postgresus dan Databasus bersamaan selama migrasi dengan menggunakan port dan path volume yang berbeda.
Pemecahan masalah
Container tidak bisa dijalankan
Jika container gagal dijalankan, periksa log:
docker logs databasusPort sudah digunakan
Jika port 4005 sudah digunakan, kamu bisa menggantinya di docker-compose.yml:
ports:
- "8080:4005" # Change 8080 to any available portError permission denied
Jika ada masalah izin pada direktori data:
sudo chown -R $USER:$USER ./databasus-data
chmod -R 755 ./databasus-data