Docker Compose
Dalam panduan ini, Anda akan melakukan deploy MyEMS dengan Docker Compose dengan membuat dan memulai semua layanan menggunakan satu perintah.
Prasyarat
- Docker, docker-compose, npm telah terinstal di host.
- Server MySQL terinstal dengan username 'root' dan password '!MyEMS1'.
- Basis data MySQL dapat dihubungkan dari host tempat Docker Engine berjalan.
Konfigurasi
Host merujuk pada server tempat mesin Docker berjalan. IP dan kata sandi akun diasumsikan dan digunakan untuk menunjukkan instruksi. Harap modifikasi sesuai kebutuhan.
| -- | -- |
|---|---|
| IP Host | 192.168.0.1 |
| IP Basis Data | 192.168.0.2 |
| Pengguna Basis Data | root |
| Kata Sandi Basis Data | !MyEMS1 |
Instalasi
- Clone repositori
git clone https://github.com/myems/myems.git
- Impor skema basis data
cd myems/database/install
mysql -u root -p < myems_billing_db.sql
mysql -u root -p < myems_carbon_db.sql
mysql -u root -p < myems_energy_baseline_db.sql
mysql -u root -p < myems_energy_db.sql
mysql -u root -p < myems_energy_model_db.sql
mysql -u root -p < myems_energy_plan_db.sql
mysql -u root -p < myems_energy_prediction_db.sql
mysql -u root -p < myems_fdd_db.sql
mysql -u root -p < myems_historical_db.sql
mysql -u root -p < myems_production_db.sql
mysql -u root -p < myems_reporting_db.sql
mysql -u root -p < myems_system_db.sql
mysql -u root -p < myems_user_db.sql
Catatan: Lihat basis data
- Modifikasi Konfigurasi
Asumsikan IP host adalah 192.168.0.1, IP basis data adalah 192.168.0.2, akun basis data adalah: root, dan kata sandi basis data adalah: !MyEMS1, harap modifikasi sesuai kebutuhan
3.1 Modifikasi alamat API di nginx.conf
cd myems
nano myems-admin/nginx.conf
nano myems-web/nginx.conf
3.2 Salin example.env ke .env di setiap folder dan modifikasi IP basis data, username, dan password di .env
cd myems
cp myems-aggregation/example.env myems-aggregation/.env
nano myems-aggregation/.env
cp myems-api/example.env myems-api/.env
nano myems-api/.env
cp myems-cleaning/example.env myems-cleaning/.env
nano myems-cleaning/.env
cp myems-modbus-tcp/example.env myems-modbus-tcp/.env
nano myems-modbus-tcp/.env
cp myems-normalization/example.env myems-normalization/.env
nano myems-normalization/.env
3.3 Modifikasi folder upload di docker-compose.yml Jika host Windows, gunakan c:\upload untuk volumes/source di layanan api dan admin. Jika host Linux, gunakan /upload untuk volumes/source di layanan api dan admin. Pastikan folder upload di api dan admin adalah folder yang sama di host.
- Build Web UI
Modifikasi file konfigurasi:
Dapatkan mapboxToken dari https://mapbox.com lalu atur showOnlineMap ke true. Jika Anda ingin mematikan fitur peta online, atur showOnlineMap ke false
cd myems/myems-web
sudo nano src/config.js
Build:
cd myems/myems-web
npm i --unsafe-perm=true --allow-root --legacy-peer-deps
npm run build
- Jalankan perintah docker-compose
Di Host Windows:
cd myems
docker-compose -f docker-compose-on-windows.yml up -d
Di Host Linux:
cd myems
docker-compose -f docker-compose-on-linux.yml up -d
- Verifikasi
| Alamat | Hasil yang Diharapkan | |
|---|---|---|
| myems-web | 192.168.0.1:80 | Login berhasil dengan memasukkan akun dan kata sandi |
| myems-admin | 192.168.0.1:8001 | Login berhasil dengan memasukkan akun dan kata sandi |
| myems-api | 192.168.0.1:8000/version | Mengembalikan informasi versi |
Jika API melaporkan error, harap konfirmasi apakah IP basis data, akun basis data, dan kata sandi basis data di .env sudah benar. Jika tidak, harap modifikasi lalu jalankan:
docker-compose up --build -d
Karena masalah jaringan ISP, Anda mungkin mengalami penarikan image yang lambat. Anda dapat menggunakan layanan akselerasi pihak ketiga.