4.3 KiB
Deploy di aaPanel (Docker)
aaPanel adalah salah satu panel hosting paling populer yang memiliki modul Docker Manager yang sangat memudahkan manajemen container. Kami merekomendasikan penggunaan gaya "Native" aaPanel agar manajemen resource dan env lebih rapi.
::: tip PRASYARAT Pastikan Anda sudah menginstall modul Docker dari App Store di dalam aaPanel Anda. :::
1. Siapkan Konfigurasi
Metode ini memisahkan konfigurasi (di file .env) dari template logic, sehingga Anda bisa dengan mudah mengubah port atau resource limit tanpa mengedit file YAML yang rumit.
File Environment (.env)
Buat file baru bernama .env (atau simpan teks ini untuk nanti):
VERSION=latest
CONTAINER_NAME=mivo
HOST_IP=0.0.0.0
APP_PORT=8085
APP_PATH=/www/dk_project/mivo
APP_ENV=production
APP_DEBUG=false
TZ=Asia/Jakarta
CPUS=1.0
MEMORY_LIMIT=512M
Penjelasan Atribut:
APP_PATH: Penting. Ini harus sama persis dengan lokasi project di aaPanel Anda (defaultnya/www/dk_project/<nama_project>).APP_PORT: Port host yang ingin dibuka (default8080).CPUS&MEMORY_LIMIT: Batasan resource agar container tidak membebani server/VPS Anda.
2. Buat Project di aaPanel
- Login ke dashboard aaPanel.
- Masuk ke menu Docker > Project (atau Compose di versi lama).
- Klik tombol Add Project.
- Isi form sebagai berikut:
- Name:
mivo(atau nama lain yang Anda suka) - Path: Perhatikan path yang muncul otomatis (biasanya
/www/dk_project/mivo). PastikanAPP_PATHdi .env Anda sesuai dengan path ini! - Compose Template: Copy-paste kode YAML berikut:
- Name:
version: '3.8'
services:
mivo:
image: mivodev/mivo:${VERSION:-latest}
container_name: ${CONTAINER_NAME:-mivo}
restart: unless-stopped
ports:
- "${HOST_IP:-0.0.0.0}:${APP_PORT:-8085}:80"
volumes:
# Database & Sessions
- ${APP_PATH:-.}/mivo_data:/var/www/html/app/Database
# Custom Logos
- ${APP_PATH:-.}/mivo_logos:/var/www/html/public/assets/img/logos
# Environment file (Optional - mapped from host)
# - ${APP_PATH:-.}/.env:/var/www/html/.env
environment:
- APP_ENV=${APP_ENV:-production}
- APP_DEBUG=${APP_DEBUG:-false}
- TZ=${TZ:-Asia/Jakarta}
deploy:
resources:
limits:
cpus: '${CPUS:-1.0}'
memory: ${MEMORY_LIMIT:-512M}
networks:
- mivo_net
networks:
mivo_net:
driver: bridge
- Tunggu! Sebelum klik "Confirm":
- Cari bagian konfigurasi .env (biasanya berupa tab atau input area di samping/bawah editor YAML).
- Paste konten
.envyang sudah Anda siapkan di langkah 1 ke sana.
- Klik Confirm untuk memulai deployment.
3. Verifikasi Deployment
aaPanel akan otomatis mendownload image dan menjalankan container.
- Lokasi Data: Database Anda aman tersimpan di
/www/dk_project/mivo/mivo_data. folder ini tidak akan hilang walau container dihapus. - Lokasi Logo: Upload logo kustom Anda ke
/www/dk_project/mivo/mivo_logos.
4. Setup Domain (Reverse Proxy)
Agar MIVO bisa diakses menggunakan domain (contoh: mivo.domainanda.com):
- Ke menu Website > Add Site.
- Masukkan nama domain Anda.
- Pada PHP Version, pilih Static (atau langsung Reverse Proxy jika ada opsinya).
- Setelah site dibuat, buka settingannya > Reverse Proxy > Add Reverse Proxy.
- Target URL:
http://127.0.0.1:8085(Ganti8085sesuai denganAPP_PORTAnda). - Simpan dan aktifkan SSL agar lebih aman.
5. Cara Update MIVO
Saat versi baru dirilis (misal v1.2.3), ikuti langkah ini untuk update container di aaPanel:
- Masuk ke Docker > Project.
- Cari project
mivoAnda dalah daftar. - Klik tombol "Rebuild" atau "Update" (tergantung versi aaPanel).
- Konfirmasi. aaPanel akan otomatis melakukan
docker pulluntuk image terbaru dan me-restart service Anda.
Cara Alternatif (Manual Re-pull): Jika tombol Rebuild tidak muncul atau tidak bekerja:
- Klik Delete pada project mivo (Tenang saja, data database Anda di
/www/dk_project/mivo/mivo_dataAMAN dan tidak ikut terhapus). - Klik Add Project lagi.
- Gunakan settingan yang SAMA PERSIS (Path & YAML) seperti sebelumnya.
- Klik Confirm. Ini akan memaksa aaPanel untuk mendownload image
latestyang segar dari server.