die Version 2.03 des Edomi-Dockerimages basierend auf CentOS 7 ist verfügbar (1.63 mit CentOS 6 bleibt unverändert bestehen). Dockerfiles incl. Dokumentation befinden sich auf GitHub und hier kann das Image bezogen werden. Folgende Anmerkungen dazu:
- Es gibt aktuell diese Versionen für x86_64 Hosts, welche auf dem Image centos:7 basieren:
- amd64-latest
- amd64-2.03
- amd64-2.02.1
- amd64-2.02
- amd64-2.01.1
- amd64-2.01
- 1.63
- 1.62
- 1.61
- 1.58
- Das Basis-System wurde in das Image starwarsfan/edomi-baseimage ausgelagert, welches wiederum auf starwarsfan/edomi-baseimage-builder basiert. Damit müssen nun nicht bei jedem Build die CentOS-Pakete heruntergeladen und installiert werden
- Edomi selbst befindet sich im Image starwarsfan/edomi-docker
- Es sind Mountpoints für die Verzeichnisse /var/edomi-backups, /var/lib/mysql sowie /usr/local/edomi vorhanden, so dass insbesondere die Backups auf einem Verzeichnis auf dem Host vorgehalten werden können
- Es wird nun bei jedem Start des Containers das Löschen der mysql.sock verhindert
- Die Fehlermeldung bzgl. /dev/vcsa sollte nicht mehr auftreten.
- Es sind zwingend die folgenden Optionen bei docker run ... zu verwenden:
- -p <host-port>:<container-port>
Es ist zwingend notwendig, die verwendeten Ports mit jeweils einem solchen Statement in den Container zu mappen. Das betrifft insbesondere den http- resp. https-Port, den Port für den Websocket sowie die drei Ports für die KNX-Kommunikation. Werden weitere Ports verwendet, bspw. für UDP-Traffic aus eigenen Logiken heraus, müssen diese ebenfalls nach obigem Schema gemappt werden. - --restart=on-failure
Diese Option wird benötigt, damit der Container via Edomi-Admin-UI gestoppt oder neu gestartet werden kann.
- -p <host-port>:<container-port>
- Der Container kann via Edomi-Update-Mechanismus auch direkt aktualisiert werden, wenn eine neue Edomi-Version vorliegt.
- PHP 7.4 mit den folgenden Paketen:
- php
- php-curl
- php-gd
- php-json
- php-mbstring
- php-mysql
- php-process
- php-snmp
- php-soap
- php-ssh2
- php-xml
- php-zip
- Es ist eine ganze Reihe zusätzlicher Pakete für Userland-LBS'e bereits vorab installiert. Namentlich für die folgenden Bausteine:
- Telegram-LBS (19000303 / 19000304)
- Mailer-LBS (19000587)
- Philips HUE Bridge (19000195)
- MQTT Publish Server (19001051)
- AlexaControl LBS (19000809)
- Wird der Container selbst gebaut, kann die Version des zu verwendenden Edomi-Archives angegeben werden. Damit ist es möglich, bei einem Edomi-Update selbst schnell einen neuen Container zu bauen. Konkret geht das dann so:
Damit wird das angegebene Archiv von http://edomi.de/download/install/ heruntergeladen und im Image installiert.
Code: Alles auswählen
docker build -t starwarsfan/edomi-docker:latest --build-arg EDOMI_VERSION=EDOMI_200.tar .
Die empfohlene Vorgehensweise für ein Update des Basis-Images ist diese hier:
- Backup machen
- Edomi auf aktuelle Version updaten
- Erneutes Backup machen
- Neues Image pullen
- Edomi stoppen
- Neuen Container basierend auf neuem Image incl. der vorhandenen Volumes einrichten
- Neuen Container starten
- Backup einspielen
Achtung 3: Die Requirements für den MikroTik-LBS (19001059) sind nicht mehr enthalten, da diese aktuell das Image um über 1G aufblasen! Wenn sich das wieder normalisieren sollte, werde ich diese gern wieder mit reinnehmen.
Feedback ist wie immer gern gesehen, also immer her damit!