Konfigurationen organisieren und versionieren

Begonnen von bickerdyke, 23 Februar 2022, 00:08:12

Vorheriges Thema - Nächstes Thema

bickerdyke

Hi,

ok, ich bin seit 2014 hier angemeldet, also kein echter Anfänger mehr, aber ich fange gerade damit an, mal wieder FHEM neu aufzusetzen. Und dieses mal soll es ordentlich sein. Also FHEM im docker-container, und ganz wichtig: Die Konfigurationen und die gebauten tabletUI-Oberfläche sollen per Github versioniert werden.

Der Container wirft mir jetzt die komplette fhem-installation in das docker-volume - das wäre jetzt höchst unschön das komplett zu versionieren.

Ich suche jetzt also eine Möglichkeit, meine Konfigurationen und nur diese in einem sauberen Verzeichnis zu halten, und das möglichst elegant in die docker-Umgebung einzuspeisen.

Wie habt ihr das Problem gelöst? irgendwelche Ideen?

tatu123

So z.B. mit docker-compose


fhem:
       image: ghcr.io/fhem/fhem-experimental:dev
       #image: fhem/fhem:latest
       #image: fhem/fhem:dev
       restart: always
       privileged: true
       network_mode: host
       labels:
            com.centurylinklabs.watchtower.enable: "true"
       volumes:
            - ./fhem/:/opt/fhem/
            - /dev/serial/by-id:/dev/serial/by-id
            - ./fhem_backup:/backup
       environment:
            FHEM_UID: 999
            FHEM_GID: 20
            TIMEOUT: 10
            RESTART: 1
            TELNETPORT: 7072
            TZ: Europe/Berlin
#            LANG: en_US.UTF-8
#            LANGUAGE: en_US:en
            LANG: de_DE.UTF-8
            LANGUAGE: de_DE:de
            LC_ADDRESS: de_DE.UTF-8
            LC_MEASUREMENT: de_DE.UTF-8
            LC_MESSAGES: en_DK.UTF-8
            LC_MONETARY: de_DE.UTF-8
            LC_NAME: de_DE.UTF-8
            LC_NUMERIC: de_DE.UTF-8
            LC_PAPER: de_DE.UTF-8
            LC_TELEPHONE: de_DE.UTF-8
            LC_TIME: de_DE.UTF-8


FHEM liegt in dem Fall in ./fhem (ist ein Unterverzeichnis vom Ausführungspath der yml-Datei)

Dort liegen dann alle Dateien von fhem einfach rum und du kannst damit machen was du möchtest.

Der Sicherheit wegen möchte ich noch darauf verweisen das ich den "unsicheren" Network_Mode "host" hier benutze. Ich für meinen Teil habe Aufwand und Sicherheit abgewogen und den Nertwork-Mode für akzeptabel eingeschätzt. Aber das muss jeder für sich selbst abschätzen.

VG
Heiko

h002

Eine weitere Möglichkeit wäre configdb zu nutzen.

Mögliche Vorteile:

  • Versionierung der Konfiguratioen
  • Sicherung außerhalb der Containerumgebung
  • Schneller Wechsel auf eine andere Version