Docker Compose
In diesem Handbuch stellen Sie MyEMS mit Docker Compose bereit, indem Sie alle Dienste mit einem einzigen Befehl erstellen und starten.
Voraussetzungen
- Docker, Docker-Compose und npm sind auf dem Host installiert.
- MySQL-Server mit Benutzernamen „root“ und Passwort „!MyEMS1“ ist installiert.
- Auf dem MySQL-Datenbank kann von dem Host, auf dem die Docker-Engine läuft, zugegriffen werden.
Konfiguration
Der Host bezieht sich auf den Server, auf dem die Docker-Engine läuft. IP-Adresse sowie Zugangsdaten werden angenommen und zur Veranschaulichung verwendet. Bitte passen Sie sie entsprechend an.
| -- | -- |
|---|---|
| Host-IP | 192.168.0.1 |
| Datenbank-IP | 192.168.0.2 |
| Datenbank-Benutzer | root |
| Datenbank-Passwort | !MyEMS1 |
Installation
- Repository klonen
git clone https://github.com/myems/myems.git
- Datenbankschema importieren
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
Hinweis: Siehe Datenbank
- Konfiguration bearbeiten
Es wird angenommen, dass die Host-IP 192.168.0.1, die Datenbank-IP 192.168.0.2, der Datenbankbenutzer root und das Datenbankpasswort !MyEMS1 lautet. Bitte passen Sie diese Werte entsprechend an.
3.1 API-Adresse in nginx.conf bearbeiten
cd myems
nano myems-admin/nginx.conf
nano myems-web/nginx.conf
3.2 example.env in jedem Ordner zu .env kopieren und Datenbank-IP, Benutzernamen sowie Passwort in .env bearbeiten
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 Upload-Ordner in docker-compose.yml bearbeiten Bei Windows-Host verwenden Sie c:\upload als Volumes-Quelle für API- und Admin-Dienste. Bei Linux-Host verwenden Sie /upload als Volumes-Quelle für API- und Admin-Dienste. Stellen Sie sicher, dass die Upload-Ordner für API und Admin auf dem Host denselben Ordner sind.
- Web UI erstellen Konfigurationsdatei bearbeiten:
Holen Sie sich einen MapboxToken unter https://mapbox.com und setzen Sie anschließend showOnlineMap auf true. Wenn Sie die Online-Kartenfunktion deaktivieren möchten, setzen Sie showOnlineMap auf false.
cd myems/myems-web
sudo nano src/config.js
Erstellen:
cd myems/myems-web
npm i --unsafe-perm=true --allow-root --legacy-peer-deps
npm run build
- Docker-Compose-Befehl ausführen Auf Windows-Host:
cd myems
docker-compose -f docker-compose-on-windows.yml up -d
Auf Linux-Host:
cd myems
docker-compose -f docker-compose-on-linux.yml up -d
- Überprüfung | Dienst | Adresse | Erwartetes Ergebnis | | ----------- | ----------------------- | ------------------- | | myems-web | 192.168.0.1:80 | Erfolgreiche Anmeldung nach Eingabe von Zugangsdaten | | myems-admin | 192.168.0.1:8001 | Erfolgreiche Anmeldung nach Eingabe von Zugangsdaten | | myems-api | 192.168.0.1:8000/version| Rückgabe von Versionsinformationen |
Falls die API einen Fehler meldet, überprüfen Sie, ob Datenbank-IP, Datenbankbenutzer und Datenbankpasswort in .env korrekt sind. Falls nicht, bearbeiten Sie sie und führen Sie anschließend folgenden Befehl aus:
docker-compose up --build -d
Aufgrund von Netzwerkproblemen des Internetanbieters kann das Herunterladen von Images langsam erfolgen. Sie können hierfür Drittanbieter-Beschleunigungsdienste nutzen.