Hi,
ich bin gerade dabei ein Dockerfile für OpenEMS zu erstellen.
Ich habe aber noch eine Frage.
Benötigt die BackendApp ein anderes UI als die EdgeApp.
In der Dokumentation wird über jeweils drei unterschiedlichen Builds (Eclipse, Debug u. Prod.) für Edge und Backend gesprochen.
Muss dementsprechend eine Version für das Backend und eine für Edge erstellt werden?
Zudem möchte ich kurz über das Dockerfile und seine Funktionen berichten:
Das Dockerfile besitzt 2 Modi:
- Erstellen von ui/edge/backend als Container
- Erstellen und exportieren von edge/backend als jar und ui als Webfiles (kein eclipse, Gradle oder nodejs notwendig)
Jedes der OpenEMS Komponenten wird als eigener Container erstellt.
Das ui wird auf einem nginx Webserver bereitgestellt.
Die Konfiguration wird als Volume eingebunden, damit diese auch bei einem Neustart und Aktualisierungen erhalten bleiben.
Zudem kann man angeben aus welcher Quelle die Komponenten gebaut werden sollen.
- git und branch (falls das Dockerfile noch nicht in den eigenen branch integiert wurden oder man eine andere Version bauen will)
- local (wenn man die locale Version bauen will)
Als Basis zum bauen dient Alpine Linux.
Als Basis der ausführenden Container dient Linuxserver.io Alpine Linux.
Der Vorteil im Linuxserver.io Image liegt darin, dass die Container mit einer anderen UID und GID ausgeführt werden können.
Eine passende docker-compose Datei ist auch verfügbar und ermöglicht über das standartmäßige stack_network die Kommunikation von edge, backend und ui.
Für Fragen und Anregungen bin ich offen.