Dokumen ini menjelaskan cara men-deploy aplikasi IoT Vermikompos ke server produksi, seperti Virtual Private Server (VPS) yang menjalankan Ubuntu. Ini akan membuat sistem Anda dapat diakses secara online dan berjalan 24/7.
Pastikan server Anda memenuhi persyaratan berikut:
# Update server
sudo apt update && sudo apt upgrade -y
# Install Git, Docker, dan Docker Compose
sudo apt install git docker.io docker-compose -y
# Tambahkan user ke grup docker agar tidak perlu sudo
sudo usermod -aG docker ${USER}
Penting: Anda perlu logout dan login kembali agar perubahan grup docker diterapkan.
Hubungkan ke server Anda via SSH dan clone repository proyek dari GitHub (atau sumber lain).
git clone https://github.com/your-username/mqtt_plan.git
cd mqtt_planSalin file environment example dan sesuaikan isinya untuk mode produksi. Ganti semua password default dengan password yang kuat.
# Di dalam direktori /api
cp .env.example .env.production
nano .env.productionPastikan untuk mengatur `DB_HOST=mysql` dan `MQTT_BROKER=mosquitto` agar container dapat berkomunikasi melalui jaringan Docker.
Buat file `docker-compose.prod.yml` yang dioptimalkan untuk produksi. File ini mungkin tidak akan mem-build dari source, melainkan menggunakan image yang sudah jadi, dan tidak akan mem-mount volume kode sumber.
Gunakan Docker Compose untuk membangun image (jika perlu) dan menjalankan semua container di background mode (`-d`).
# Menjalankan semua service
docker-compose -f docker-compose.prod.yml up --build -d
# Memeriksa status container yang berjalan
docker-compose -f docker-compose.prod.yml ps
Sangat disarankan untuk menggunakan Nginx sebagai reverse proxy. Ini berguna untuk:
Anda perlu menginstall Nginx di server dan membuat file konfigurasi di `/etc/nginx/sites-available/`. Jangan lupa untuk mengaktifkannya dengan membuat symbolic link ke `sites-enabled`.