mirror of
https://github.com/mivodev/mivo.git
synced 2026-01-26 21:41:59 +07:00
105 lines
3.5 KiB
Markdown
105 lines
3.5 KiB
Markdown
# 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):
|
|
|
|
```ini
|
|
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 (default `8080`).
|
|
- `CPUS` & `MEMORY_LIMIT`: Batasan resource agar container tidak membebani server/VPS Anda.
|
|
|
|
## 2. Buat Project di aaPanel
|
|
|
|
1. Login ke dashboard aaPanel.
|
|
2. Masuk ke menu **Docker** > **Project** (atau **Compose** di versi lama).
|
|
3. Klik tombol **Add Project**.
|
|
4. Isi form sebagai berikut:
|
|
- **Name**: `mivo` (atau nama lain yang Anda suka)
|
|
- **Path**: Perhatikan path yang muncul otomatis (biasanya `/www/dk_project/mivo`). **Pastikan `APP_PATH` di .env Anda sesuai dengan path ini!**
|
|
- **Compose Template**: Copy-paste kode YAML berikut:
|
|
|
|
```yaml
|
|
version: '3.8'
|
|
|
|
services:
|
|
mivo:
|
|
image: dyzulk/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
|
|
```
|
|
|
|
5. **Tunggu!** Sebelum klik "Confirm":
|
|
- Cari bagian konfigurasi **.env** (biasanya berupa tab atau input area di samping/bawah editor YAML).
|
|
- Paste konten `.env` yang sudah Anda siapkan di langkah 1 ke sana.
|
|
6. 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`):
|
|
|
|
1. Ke menu **Website** > **Add Site**.
|
|
2. Masukkan nama domain Anda.
|
|
3. Pada **PHP Version**, pilih **Static** (atau langsung Reverse Proxy jika ada opsinya).
|
|
4. Setelah site dibuat, buka settingannya > **Reverse Proxy** > **Add Reverse Proxy**.
|
|
5. **Target URL**: `http://127.0.0.1:8085` (Ganti `8085` sesuai dengan `APP_PORT` Anda).
|
|
6. Simpan dan aktifkan SSL agar lebih aman.
|