Offizielles FHEM Docker Basis Image für verschiedene Plattformen

Begonnen von Loredo, 28 Juli 2018, 21:24:57

Vorheriges Thema - Nächstes Thema

joshi

Zitat von: Otto123 am 24 Januar 2021, 23:17:55
Vielleicht blöde Frage: aber was ist das? Ich kenne OpenMediaVault - ist das gemeint?
ja, das war ein Tippfehler

Superposchi

Keine Ahnung ob mir hier direkt im Forum geholfen werden kann, denke es ist eigentlich eher ein Problem des NAS.
Seit gestern Abend habe ich Probleme mit meinem Fhem-Server, der als Image auf einem Container innerhalb einer QNAP-NAS läuft.

Als ich heute Morgen nach den Problemen schauen wollte, habe ich festgestellt, dass die Container-Station auf dem NAS, überhaupt nichts mehr beinhaltet.
Weder die runtergeladenen Images noch die erstellten Container werden angezeigt. Allerdings wird wohl eine genutzte CPU- und Speicherleistung angezeigt.

Hat vielleicht jemand eine Idee was ich tun kann oder schon mal ähnliches erlebt.

Backups meines Fhem sind erstellt worden, doch ohne Container bringt das ja nicht sehr viel.
Habe vorgestern auf dem NAS auch ein Update der Firmware eingespielt, doch nach dem Update lief noch alles, weshalb ich dies als Fehlerquelle eigentlich ausschließe.

Wernieman

Weißst Du, was als Basis für den Containerdienst der QNAP läuft? Docker oder ein anderer Container-Dienst?
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

kadettilac89

Zitat von: Superposchi am 03 März 2021, 08:18:54
Hat vielleicht jemand eine Idee was ich tun kann oder schon mal ähnliches erlebt.


Container neu anlegen mit Konfiguration von vorher und auch den Pfad der persistenten Daten beibehalten. Dann werden die vorhandenen Daten wieder verwendet. Zumindest wenn die Docker-Implementierung sauber ist. Mit Docker-Compose kann ich Container löschen und neu anlegen wie ich will. Solange die persistenten Verzeichnisse bleiben sind auch Daten weiterhin da.

Wenn das, aus welchen Gründen auch immer, nicht geht den Container neu anlegen. Fhem stoppen. Die alten, persistenten Daten in den neuen Pfad der neuen persistenten Daten kopieren, ggf. Rechte anpassen.

balli1187

Zitat von: Wernieman am 03 März 2021, 08:35:36
Weißst Du, was als Basis für den Containerdienst der QNAP läuft? Docker oder ein anderer Container-Dienst?
Da läuft Docker u ter der Haube.
FHEM auf QNAP im docker, nanoCUL per ser2net an VU+, 2x Echo Dot, 3x HM-ES-PMSw1-Pl, 3x HM-LC-Bl1PBU-FM, 6x Sonoff Basic, div. "Shelly Eigenbauten" von Papa Romeo, ESPRGBWW-Controller, ...
Projekte: Smart Mirror in Spiegelschrank auf RPi Zero

Superposchi

Es müsste Docker sein, doch wirklich erkennen kann man das nicht, da immer nur von Container-Station gesprochen wird.

Hab aber inzwischen rausbekommen was wohl passiert ist:
Habe wohl aus Versehen Daten aus dem Container-Station-Verzeichnis auf dem NAS gelöscht (Falsches Windowsfenster mit falscher Markierung beim Löschen angeklickt gehabt - Scheiß Windowslogik)
Habe schon versucht die Daten aus einer Sicherung zurück zu speichern. Bisher leider ohne Erfolg, zweiter Versuch läuft aber noch

ZitatContainer neu anlegen mit Konfiguration von vorher und auch den Pfad der persistenten Daten beibehalten.
Ohne Image und Kennnisse der Konfiguration ist das ziemlich schwer. Was meinst du mit persistenten Daten? Den Verzeichnislink auf das Verzeichnis des Fhem-Servers?

Wernieman

"persistenten Daten" sind alle Daten, die nicht direkt im Container liegen. Also in einem extra Docker-Volumen oder (besser) direkt auf der "Platte"
- Bitte um Input für Output
- When there is a Shell, there is a Way
- Wann war Dein letztes Backup?

Wie man Fragen stellt: https://tty1.net/smart-questions_de.html

kadettilac89

Zitat von: Superposchi am 03 März 2021, 10:25:10
Ohne Image und Kennnisse der Konfiguration ist das ziemlich schwer. Was meinst du mit persistenten Daten? Den Verzeichnislink auf das Verzeichnis des Fhem-Servers?

Du hast das Verzeichnis "/opt/fhem" irgendwo "hingemountet". Genau diese Daten brauch dein neuer Container da hier alle Logs und deine fhem.cfg liegt (und weitere Daten).

In docker-compose sieht das so aus. Wo das QNAP hat musst du dir aus der Doku rauslesen.

# Example w/ custom environment variables
  fhem:
    image: fhem/fhem:latest
    restart: always
    networks:
      - net
    ports:
      - "8083:8083"
    volumes:                                         <<<<<<<<<<<<<<<<<<<<<<<<
      - "./fhem/:/opt/fhem/"                   <<<<<<<<<<<<<<<<<<<<<<<<

Superposchi

Werde ich probieren sobald der Kopiervorgang abgeschlossen ist.

Ich fürchte nur, dass dies nicht das Problem löst, denn es sind ja Daten aus dem Verzeichnis der Docker-Installation (also dem Verzeichnis das die Container-Station bei der Installation selbsttätig erstellt).
Die müssen ja irgendwo wieder her kommen, oder nicht?

kadettilac89

Zitat von: Superposchi am 03 März 2021, 13:02:41
Werde ich probieren sobald der Kopiervorgang abgeschlossen ist.

Ich fürchte nur, dass dies nicht das Problem löst, denn es sind ja Daten aus dem Verzeichnis der Docker-Installation (also dem Verzeichnis das die Container-Station bei der Installation selbsttätig erstellt).
Die müssen ja irgendwo wieder her kommen, oder nicht?

Docker Basics ... wenn du Docker richtig einsetzt hast du 2 Arten von Daten.

1) Flüchtige Daten, sprich das Image selbst und temporäre Daten. Diese können immer wieder erstellt werden indem du den Container neu anlegst und das Image lädst
2) persistente Daten, sprich die Daten die du für dich selber brauchst bzw. erstellt hast. Diese sind in dem Volume von dem ich rede. Die müssen irgendwo herkommen, richtig.

Herkommen tun die entweder indem diese immer noch da liegen wo dein System diese nach deiner Anweisung abgelegt hast. Oder eben aus deinem Backup. Wenn du kein Volume angelegt hast obwohl das so empfohlen und vorgesehen ist, dann hast du ein Problem. Dann musst du hoffen, dass du die Daten irgendwie aus deinem Backup bekommst.

Aber selbst dann, du schreibst ja dass du ein Backup hast. Wie ist der Recovery Vorgang bei QNAP, sollte in der Doku auch beschrieben sein. Dafür hat man ja das Backup.

Superposchi

Ich habe den Eindruck wir reden aneinander vorbei.
Ich habe nicht die Daten des Containers gelöscht, sondern die Daten der Container-Software.
Also nicht die Word-Datei, sondern die Programmdateien von Word wenn man so will.

Meine Daten vom Fhem-Server sind sicher noch da, doch wenn die darüber geschaltete Container-Station selbst nicht mehr funktioniert, was dann?

kadettilac89

Zitat von: Superposchi am 03 März 2021, 14:36:56
Ich habe den Eindruck wir reden aneinander vorbei.
Ich habe nicht die Daten des Containers gelöscht, sondern die Daten der Container-Software.
Also nicht die Word-Datei, sondern die Programmdateien von Word wenn man so will.

Meine Daten vom Fhem-Server sind sicher noch da, doch wenn die darüber geschaltete Container-Station selbst nicht mehr funktioniert, was dann?

Dann ist das was ich vorhin sagte weiterhin gültig

Zitat von: kadettilac89 am 03 März 2021, 08:43:36
Container neu anlegen mit Konfiguration von vorher und auch den Pfad der persistenten Daten beibehalten. Dann werden die vorhandenen Daten wieder verwendet. Zumindest wenn die Docker-Implementierung sauber ist. Mit Docker-Compose kann ich Container löschen und neu anlegen wie ich will. Solange die persistenten Verzeichnisse bleiben sind auch Daten weiterhin da.

Wenn das, aus welchen Gründen auch immer, nicht geht den Container neu anlegen. Fhem stoppen. Die alten, persistenten Daten in den neuen Pfad der neuen persistenten Daten kopieren, ggf. Rechte anpassen.

Wenn der Container mit selber Konfiguration und selbem Pfad neu angelegt wird hast du ein neues, in deinem Jargon, Word mit dem alten Pfad zu den Word Dokumenten.

Wenn der Container aus welchen Gründen auch immer halb zerstört rumhängt erstmal den Container löschen und neu anlegen. Ob das Image vorhanden ist oder nicht - egal. Wird bei Bedarf vom Hub neu gezogen.

Versuche mal Docker Basics zu suchen. Damit wir vom Selben reden. Vor allem, was ist ein Image, was ist ein Container und was ist ein Volume. Wenn du den Zusammenhang verstehts kannst du leichter nachvollziehen warum du den Container neu anlegen sollst und warum die Daten im Volume bleiben.

Superposchi

Gemacht wie gesagt, die beiden Container werden wieder angezeigt, lassen sich aber nicht starten.
Offenbar wird ein Unterverzeichnis aus dem Programmverzeichnis der Container-Station selbst vermisst (Siehe Screenshot).

Eine Wiederherstellung aus einer Datensicherung lässt sich auch nicht zu 100% durchführen. Es wird mit einem Fehler abgebrochen.

Otto123

ZitatEine Wiederherstellung aus einer Datensicherung lässt sich auch nicht zu 100% durchführen. Es wird mit einem Fehler abgebrochen.
Was hat die Fehlermeldung vom Start des Containers mit dem Fehler bei der Wiederherstellung der Datensicherung zu tun?  ???

Im Übrigen ist eine Datensicherung solange KEINE - bis der diensthabende Operator nicht mal erfolgreich eine Wiederherstellung durchgeführt hat!
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Superposchi

ZitatWas hat die Fehlermeldung vom Start des Containers mit dem Fehler bei der Wiederherstellung der Datensicherung zu tun?
Ganz einfach, es zeigt, dass der Fehler nicht im container, sondern in der Container-Station liegt. Es also nichts nutzen würde / genutzt hat den Container einfach neu aufzusetzen wie mehrfach gewünscht wurde.

Aus irgendeinem Grund läst sich ein Unterverzeichnis der Programmdateien der Container-Station nicht aus der Sicherung zurückspielen.
Genau dieses fehlende Unterverzeichnis verhindert aber ebenso den Start der nun wieder angezeigten Container.

Die Frage ist also wie ich das Verzeichnis wiederherstellen kann?
Denke dann lassen sich auch die Container wieder ordnungsgemäß starten.