Docker Compose
In questa guida, distribuirai MyEMS con Docker compose creando e avviando tutti i servizi con un singolo comando.
Prerequisito
- Docker, docker-compose, npm installati sull'host.
- Server MySQL installato con username 'root' e password '!MyEMS1'.
- Il database MySQL può essere connesso dall'host su cui viene eseguito il Docker Engine.
Configurazione
L'host si riferisce al server su cui viene eseguito il motore docker. IP e password dell'account sono assunti e utilizzati per mostrare le istruzioni. Modificali come appropriato.
| -- | -- |
|---|---|
| IP Host | 192.168.0.1 |
| IP Database | 192.168.0.2 |
| Utente Database | root |
| Password Database | !MyEMS1 |
Installazione
- Clona repository
git clone https://github.com/myems/myems.git
- Importa schema database
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
Nota: Riferimento a database
- Modifica Config
Supponendo che l'IP host sia 192.168.0.1, l'IP database sia 192.168.0.2, l'account database sia: root e la password database sia: !MyEMS1, modificare come appropriato
3.1 Modifica indirizzo API in nginx.conf
cd myems
nano myems-admin/nginx.conf
nano myems-web/nginx.conf
3.2 Copia example.env in .env in ogni cartella e modifica IP database, username e password in .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 Modifica cartella upload in docker-compose.yml Se host Windows, usa c:\upload per volumes/source nei servizi api e admin. Se host Linux, usa /upload per volumes/source nei servizi api e admin. Assicurati che le cartelle upload in api e admin siano la stessa cartella sull'host.
- Compila Interfaccia Web
Modifica file configurazione:
Ottieni mapboxToken da https://mapbox.com e poi imposta showOnlineMap a true. Se vuoi disattivare funzione mappa online, imposta showOnlineMap a false
cd myems/myems-web
sudo nano src/config.js
Compila:
cd myems/myems-web
npm i --unsafe-perm=true --allow-root --legacy-peer-deps
npm run build
- Esegui comando docker-compose
Su Host Windows:
cd myems
docker-compose -f docker-compose-on-windows.yml up -d
Su Host Linux:
cd myems
docker-compose -f docker-compose-on-linux.yml up -d
- Verifica
| Indirizzo | Risultato atteso | |
|---|---|---|
| myems-web | 192.168.0.1:80 | Login riuscito inserendo account e password |
| myems-admin | 192.168.0.1:8001 | Login riuscito inserendo account e password |
| myems-api | 192.168.0.1:8000/version | Restituisce informazioni versione |
Se l'API segnala un errore, conferma se l'IP database, l'account database e la password database in .env sono corretti. Se non lo sono, modificali e poi esegui:
docker-compose up --build -d
A causa di problemi di rete ISP, potresti riscontrare lentezza nel pull delle immagini. Puoi usare servizi di accelerazione di terze parti.