[Gelöst] RaspberryMatic in Docker auf Debian, Kernel Problem

Begonnen von Gear, 12 Januar 2023, 09:31:11

Vorheriges Thema - Nächstes Thema

Wernieman

ZitatRPi OS
Pi oder X64??

Also was hast Du jetzt?
- 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

Gear

Ich habe ein Odroid H3 mit Debian 11 drauf, zusätzlich OMV.
Ist 64 Bit, mit Intel CPU.

Zitat von: Gear am 12 Januar 2023, 20:31:19
Das unter 8, wenn es Failed ist es für das RPi OS beschreiben.
Hier steht doch nichts von, ich nutze RPi OS.

Ich habe eine Zotac Box mit im Hotel, habe in der Zeit mal Debian 11 installiert, um ein blankes OS zu haben, hier besteht das gleiche Problem.
Die Zotac Box hat eine AMD 64 Bit CPU.

Um Verwirrung zu vermeiden:
Ich beruflich für eine gewisse Zeit nicht Zuhause.
Zuhause läuft ein Odroid H3 auf dem FHEM und co. läuft, die Verbindung nach Hause läuft über VPN.
Die Tests wie hier beschreiben laufen alle über den Odroid H3.
Ich habe eine Zotac Box als Mediacenter, hier habe ich vorhin die SSD ausgetauscht und habe Debian 11 installiert, um ein nacktes OS zum testen zu haben.


PS:
Ich will euch nicht die kostbare Zeit klauen.
Wenn das nicht läuft, dann muss ich das eben anders lösen, z.B. mit DebMatic direkt ohne Docker.
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Otto123

naja oben hast Du aber auch Schritt 5 probiert.

Ich fand das ganze Installationskonstrukt bei meinen Versuchen damals fragil. Nicht jeder wiederholte Ablauf war wie der vorhergehende.
Also eventuell noch mal alles entfernen, Fehler "auflösen" neu starten und noch mal versuchen.
Ich meine wozu gibt es ein Intel Image wenn es dann nicht auf Intel gar nicht laufen kann. Das klingt nicht logisch.

Du klaust keine Zeit :) ich will das auch mal auf Intel installieren, deswegen lese und denke ich schon mal mit :)

@Werner: Er hat einen Pi, da läuft es. Er hat aber jetzt auch ein debian Intel 64 System, da läuft es nicht.
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

Gear

Ich hatte letztes Wochenende alles durchprobiert und aus Verzweiflung und aus der Not heraus jegliche Möglichkeit getestet.

Werde am Wochenende mit der Zotac Box versuchen das zum laufen zu bekommen.

Wenn ich das hinbekomme, dann versuche ich das zu reproduzieren und poste den Weg hier, damit der nächste das dann auch machen kann.
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Gear

#19
So, ich glaube, ich habe es nun am Laufen....
Werde den Installationsablauf jetzt 2x durchgehen und verifizieren.

Scheinbar macht das OMV Image gelegentlich Probleme und man muss darauf achten, wann man auf dem Host die Installation durchführt...  ::)

Kurz gesagt: (! Noch nicht verifiziert !)
> Nacktes Debian herunterladen und installieren (Getestet mit Debian 11)
> RaspberryMatic installieren
> Neustarten

>>>>> Ab hier nur wenn man OMV nutzen möchte <<<<<

> OMV installieren
> Neustarten
> Im OMV GUI - Update druchführen
> Neustarten
> OMV-Extras installieren (Wenn Bedarf)
> Nach Bedarf Kernel ändern und neustarten
> Docker (+ Portainer) installieren
> RaspberryMatic im Docker einrichen + starten
> Dann den RF-USB anschließen
> Neustarten
> RaspberryMatic im Browser aufrufen und einrichten

Grüße und Happy Weekend
Gear
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Wernieman

Wirklich so häufig neustarten? Reicht es teilweise nicht, den Dienst zu "rebooten"?
- 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

Gear

@Werner
Ist ja nur mein erster Durchlauf gewesen...
Ich schreibe gerade eine kleine Anleitung zusammen.  ;D
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Gear

Ist das ein Abfuck, wenn du gerade die ganze Anleitung fertig hast, diese noch mal gegenliest und dann sagt Win10 ich mache jetzt einen Neustart...  >:( :-X :-[
Ich gehe schreiend in den Keller...

Ich schreibe es nachher oder morgen nochmal neu.
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Wernieman

.. darum liebe ich mein Linux ... wenn es mir dort abschmiert, weiß ich warum  ;D

Leide muß ich seit neuestem beruflich auch wieder Win einsetzen ...  :(
- 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

Gear

Ich finde dieses Updates gemacht und einfach mal neu starten grauenhaft.
Linux ist angenehm, ja, nur funktioniert das ein oder andere nicht so richtig, wie Gaming oder die ein oder andere Software, hatte das auch schon mit Wine getestet, aber war nicht so zufrieden.

Ich schreibe es einfach nachher oder morgen nochmal neu.

Wenn ich das richtig verstanden habe, hatte mein Vorhaben nicht funktioniert, weil man die fehlende Datei vor OMV hinzufügen muss, damit OMV das auch "annimmt".

Man muss das ganze nur 2 x Neustarten.
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Gear

#25
Hardware:
> Host: Odroid H3 - Intel CPU 64bit
> HMIP: HmIP-RFUSB
> OS: Debian 11

Der Schritt mit der Installation von OMV kann übersprungen werden, wenn man dieses nicht nutzen möchte.
Für eine Installation von Docker (+ Portainer oder ähnliches) ohne OMV, bitte selbst informieren.



#### Debian installieren ######################################################

Sollte man ohne Anleitung hinbekommen. (Hoffe ich)


#### Debian vorbereiten ######################################################

Wir greifen via SSH auf den Host zu, loggen uns mit dem angelegten User ein und switchen den User zu root.
su root

Dann müssen wir SUDO installieren:
apt-get install sudo


#### RaspberryMatic vorbereitungen auf dem Host ######################################################
#### > Nach Anleitung: https://github.com/jens-maus/RaspberryMatic/wiki/Installation-Docker-OCI#using-docker-load


sudo apt install wget ca-certificates build-essential bison flex libssl-dev gpg
wget -qO - https://www.pivccu.de/piVCCU/public.key | gpg --dearmor | sudo tee /usr/share/keyrings/pivccu-archive-keyring.gpg >/dev/null
sudo sh -c 'echo "deb [signed-by=/usr/share/keyrings/pivccu-archive-keyring.gpg] https://www.pivccu.de/piVCCU stable main" >/etc/apt/sources.list.d/pivccu.list'
sudo apt update
sudo apt install pivccu-modules-dkms


sudo sh -c 'echo eq3_char_loop >/etc/modules-load.d/eq3_char_loop.conf'

sudo service pivccu-dkms start
sudo modprobe eq3_char_loop


Hier sollte keine Fehlermeldung auftreten!


#### Vorbereitung für OMV ######################################################

Kann bei einem nackten System auf dem OMV installiert wird, zu Problemen mit dem time-daemon kommen.
sudo apt purge time-daemon

Dann muss der User root zum SSH Login hinzugefügt werden.
su root
nano /etc/ssh/sshd_config


In der /etc/ssh/sshd_config müssen wir PermitRootLogin unter Authentication anpassen.
Alles andere so lassen.
# Authentication:

#LoginGraceTime 2m
PermitRootLogin yes
#StrictModes yes
#MaxAuthTries 6
#MaxSessions 10



#### OMV installieren ######################################################
#### > Nach Anleitung: https://docs.openmediavault.org/en/latest/installation/on_debian.html


apt-get install --yes gnupg
wget -O "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc" https://packages.openmediavault.org/public/archive.key
apt-key add "/etc/apt/trusted.gpg.d/openmediavault-archive-keyring.asc"


cat <<EOF >> /etc/apt/sources.list.d/openmediavault.list
deb https://packages.openmediavault.org/public shaitan main
# deb https://downloads.sourceforge.net/project/openmediavault/packages shaitan main
## Uncomment the following line to add software from the proposed repository.
# deb https://packages.openmediavault.org/public shaitan-proposed main
# deb https://downloads.sourceforge.net/project/openmediavault/packages shaitan-proposed main
## This software is not part of OpenMediaVault, but is offered by third-party
## developers as a service to OpenMediaVault users.
# deb https://packages.openmediavault.org/public shaitan partner
# deb https://downloads.sourceforge.net/project/openmediavault/packages shaitan partner
EOF


export LANG=C.UTF-8
export DEBIAN_FRONTEND=noninteractive
export APT_LISTCHANGES_FRONTEND=none
apt-get update
apt-get --yes --auto-remove --show-upgraded \
    --allow-downgrades --allow-change-held-packages \
    --no-install-recommends \
    --option DPkg::Options::="--force-confdef" \
    --option DPkg::Options::="--force-confold" \
    install openmediavault-keyring openmediavault

omv-confdbadm populate



#### OMV vorbereiten ######################################################

In der Web-GUI von OMV mit dem User admin und dem Passwort openmediavault einloggen.
Dann gehen wir zum Reiter Aktualisierungen und installieren alle.
System > Aktualisierungsverwaltung > Aktualisierungen

Hier einmal neu starten.
Wenn wir nicht neu starten, kann es beim Installieren von OMV-Extras zu Problemen kommen.

Ab hier können wir uns via SSH nur noch als root einloggen!

Wenn wir einen anderen / neueren Kernel nutzen möchten, dann müssen wir via SSH OMV-Extras installieren:
wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

Dann in der Web-GUI zum Reiter:
System > Erweiterungen

Hier müssen wir dann nach folgender Erweiterung suchen:
openmediavault-kernel

Nun können wir den Kernel ändern unter folgendem Reiter:
System > Kernel

Ich nutze folgenden Kernel Debian GNU/Linux, with Linux 6.0.0-0.deb11.6-amd64.

Nach dem Ändern des Kernel starten wir den Host neu.


#### Docker + Portainer installieren ######################################################

Um Docker zu installieren, gehen wir zum Reiter:
System > omv-extras > Docker

Hier wählen wir Installieren.

Im Anschluss können wir Portainer installieren, dazu gehen wir zum Reiter:
System > omv-extras > Portainer

Hier kann es zu einer Fehlermeldung kommen, wenn dies der Fall ist, dann müssen wir per SSH folgendes ausführen:
Anpingen von Google
ping Google.com

Wenn der Ping nicht geht, dann müssen wir die Netzwerkeinstellungen anpassen, dazu geben wir im SSH folgenden Befehl ein:
omv-firstaid

Bei IPv4 + IPv6 könnt ihr das wählen, was ihr braucht, wenn ihr keine Ahnung oder keine Extrawünsche habt, dann macht es wie beschreiben.

1. Nun wählen wir die 1 (Configure network interface)
2. Wir wählen unser Netzwerkgerät
3. IPv4 mit Yes bestätigen
4. DHCPv4 mit Yes
5. IPv6 No
6. WOL könnt ihr selbst entscheiden, ich habe Yes gewählt. (Somit kann ich den Host per WOL starten, wenn unterstützt)

Nun können wir Portainer installieren, wir müssen den Portainer User innerhalb einer gewissen Zeit anlegen.


#### RaspberryMatic Container anlegen ######################################################

Ich mache das über den Portainer Stack.
Folgende Docker Compose ist ein Beispiel, bitte für eigene Zwecke anpassen.

services:

####>---- RaspberryMatic ----<######################################################################################################

  raspberrymatic:
    image: ghcr.io/jens-maus/raspberrymatic:latest
    container_name: RaspberryMatic
    hostname: raspberrymatic
    privileged: true
    restart: always
    networks:
      internal:
        ipv4_address: 172.18.0.50
    ports:
      - "8081:80"
      - "2001:2001"
      - "2010:2010"
      - "9292:9292"
      - "8181:8181"
      - "7411:7411"
      - "7420:7420"
    stop_grace_period: 30s
    volumes:
      - /Mein/Pfad:/usr/local
     
####>---- Network ----<######################################################################################################

networks:
  internal:
    driver: bridge
    ipam:
      config:
        - subnet: 172.18.0.0/16
          gateway: 172.18.0.1
          ip_range: 172.18.0.1/24


In den Logs können wir nun schauen, ob eine HM RF-Hardware erkannt wurde.

Ich habe für mich selbst noch ein Neustart durchgeführt, um zu schauen, ob nach einem Neustart alles wieder verbindet und lädt, wie es soll.


#### Finish ######################################################


Ich hoffe, ich habe es verständlich erklärt.
Rechtschreibfehler und grammatikalische Fehler dürfen gerne behalten werden.  ;)

Grüße
Gear
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Otto123

Hallo Gear,

klingt danach, dass Du erfolgreich zwei fragile Installationen miteinander verheiratet hast ;)

Ich will mal aus dem Gedächtnis noch einen Stolperstein dazu werfen:
Wenn FHEM und RaspberryMatic Container im gleichen Netzwerk laufen und HMCCU über das interne Docker Netzwerk kommunizieren kann, ist sicher alles schick. Wenn nicht, müssen die Ports 7411 und 7420 noch nach außen gemappt werden.

Gruß Otto
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

Gear

Hallo Otto,

ja, sieht so aus. (Zum Glück)
Dann wird der Ablauf dir hoffentlich auch helfen, wenn du nach Intel umziehst. =)

Nach FHEM habe ich noch gar nicht getestet.  :-X
Aber RaspberryMatic im Container funktioniert und die Verbindung nach FHEM sollte das kleinste Problem sein. (Würde ich jetzt sagen)

Aber Danke für die Info mit den Ports, wird bestimmt noch anfallen, wenn ich das vereine.  8)

Ein schönes Wochenende
Grüße
Gear
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <

Wernieman

Zitatprivileged: true
Brauchst Du wirklich ein "privileged" Container?
- 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

Gear

Zitat von: Wernieman am 14 Januar 2023, 11:40:52
Brauchst Du wirklich ein "privileged" Container?

Laut der Anleitung auf Git, ja.
Hatte mich was das betrifft an die Anleitung gehalten.
> ODroid H3 => OMV => Docker => FHEM <
Fritz!Box 7590, Fritz!Repeater 6000, MQTT, RaspberryMatic, Zigbee2MQTT, ESP32, ESP8266, Shelly, Grafana ...
> 3D-Druck <