Docker Compose
In deze handleiding implementeert u MyEMS met Docker Compose door alle services met één enkele opdracht te creëren en te starten.
Vereisten
- Docker, docker-compose en npm zijn geïnstalleerd op de host.
- MySQL-server is geïnstalleerd met de gebruikersnaam 'root' en het wachtwoord '!MyEMS1'.
- De MySQL-database is bereikbaar vanaf de host waarop de Docker Engine draait.
Configuratie
Met 'host' wordt de server bedoeld waarop de docker engine draait. Het IP-adres en de accountgegevens worden aangenomen en gebruikt om de instructies te tonen. Pas deze aan naar uw situatie.
| -- | -- |
|---|---|
| Host IP | 192.168.0.1 |
| Database IP | 192.168.0.2 |
| Database Gebruiker | root |
| Database Wachtwoord | !MyEMS1 |
Installatie
- Repository klonen
git clone https://github.com/myems/myems.git
- Database schema importeren
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
Opmerking: Raadpleeg database voor meer details.
- Configuratie aanpassen
Er wordt aangenomen dat het host IP-adres 192.168.0.1 is, het database IP-adres 192.168.0.2 is, het databaseaccount: root is, en het databasewachtwoord: !MyEMS1 is. Pas deze waarden aan naar uw situatie.
3.1 API-adres aanpassen in nginx.conf
cd myems
nano myems-admin/nginx.conf
nano myems-web/nginx.conf
3.2 Kopieer example.env naar .env in elke map en pas het database IP-adres, de gebruikersnaam en het wachtwoord in .env aan
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 Uploadmap aanpassen in docker-compose.yml Bij een Windows-host gebruik je c:\upload voor volumes/source in de api- en admin-services. Bij een Linux-host gebruik je /upload voor volumes/source in de api- en admin-services. Zorg ervoor dat de uploadmappen in api en admin dezelfde map op de host zijn.
- Web UI bouwen
Configuratiebestand aanpassen:
Verkrijg een mapboxToken via https://mapbox.com en stel vervolgens showOnlineMap op true in. Als u de online kaartfunctie wilt uitschakelen, stel showOnlineMap dan op false in.
cd myems/myems-web
sudo nano src/config.js
Bouwen:
cd myems/myems-web
npm i --unsafe-perm=true --allow-root --legacy-peer-deps
npm run build
- Docker-compose opdracht uitvoeren
Op een Windows Host:
cd myems
docker-compose -f docker-compose-on-windows.yml up -d
Op een Linux Host:
cd myems
docker-compose -f docker-compose-on-linux.yml up -d
- Verificatie
| Service | Adres | Verwacht resultaat |
|---|---|---|
| myems-web | 192.168.0.1:80 | Inloggen geslaagd door account en wachtwoord in te voeren |
| myems-admin | 192.168.0.1:8001 | Inloggen geslaagd door account en wachtwoord in te voeren |
| myems-api | 192.168.0.1:8000/version | Versie-informatie wordt geretourneerd |
Als de API een foutmelding geeft, controleer dan of het database IP-adres, het databaseaccount en het databasewachtwoord in .env correct zijn. Zo niet, pas deze dan aan en voer vervolgens uit:
docker-compose up --build -d
Vanwege netwerkproblemen van uw ISP kunt u te maken krijgen met traag ophalen van images. U kunt derdengene acceleratiediensten gebruiken.
Samenvatting
- Vereisten controleren: Zorg ervoor dat Docker, Docker Compose, npm en MySQL correct geïnstalleerd zijn en dat de MySQL-database bereikbaar is.
- Configuratie aanpassen: Pas het API-adres in nginx.conf en de databasegegevens in de .env-bestanden aan naar uw specifieke omgeving.
- Implementatie stappen: Clone de repository, importeer de database schema's, bouw de Web UI en start de services via Docker Compose.
- Verificatie en probleemoplossing: Controleer de toegang tot de Web UI, Admin UI en API, en pas de configuratie aan en herbouw de services indien nodig.