Homegear in Docker Container findet CUL nicht

Hallo groovepack,

danke für deine Antwort.

pi@homeassistant:~ $ ps -auxf | grep homegear
root      1688  0.0  0.6  75580  6660 ?        Ss   Aug12   0:13  |   |       \_ /usr/bin/homegear -p /var/run/homegear/homegear.pid -u homegear -g homegear -d
systemd+  1689  0.9  5.6 950892 56504 ?        SLsl Aug12  49:34  |   |       |   \_ /usr/bin/homegear -p /var/run/homegear/homegear.pid -u homegear -g homegear -d
systemd+  1708  0.0  0.6  20376  6072 ?        SLsl Aug12   1:11  |   |       \_ /usr/bin/homegear-influxdb -p /var/run/homegear/homegear-influxdb.pid -u homegear -g homegear -d
root      1710  0.0  0.0   1396   392 ?        S    Aug12   0:06  |   |       \_ tail -f /var/log/homegear/homegear.log
pi       23916  0.0  0.0   4776   524 pts/0    S+   17:58   0:00              \_ grep --color=auto homegear

Homegear schien unter systemd+ zu laufen. Kaum die Doku angeschaut und die richtigen Parameter verwendet, funktioniert es auch.

pi@homeassistant:/dev/serial/by-id $ ps -auxf | grep homegear
root     29052  0.0  0.4  67388  4984 ?        Ss   18:13   0:00  |           \_ /usr/bin/homegear -p /var/run/homegear/homegear.pid -u homegear -g homegear -d
pi       29053 21.2  5.4 875096 54236 ?        SLsl 18:13   0:01  |           |   \_ /usr/bin/homegear -p /var/run/homegear/homegear.pid -u homegear -g homegear -d
pi       29072  0.0  0.6  20376  6408 ?        SLsl 18:13   0:00  |           \_ /usr/bin/homegear-influxdb -p /var/run/homegear/homegear-influxdb.pid -u homegear -g homegear -d
root     29073  0.1  0.0   1396   340 ?        S    18:13   0:00  |           \_ tail -f /var/log/homegear/homegear.log
pi       29192  0.0  0.0   4776   552 pts/0    S+   18:13   0:00              \_ grep --color=auto homegear

Schande auf mein Haupt. Mein Docker Aufruf sieht nun folgendermaßen aus:

docker run -d --rm -v /home/pi/homegear/etc:/etc/homegear:Z -v /home/pi/homegear/lib:/var/lib/homegear:Z -v /home/pi/homegear/log:/var/log/homegear:Z -e TZ=Europe/Berlin -e HOST_USER_ID=$(id -u) -e HOST_USER_GID=$(id -g) -p 2001:2001 -p 2002:2002 -p 2003:2003 --device=/dev/ttyUSB0 --name homegear homegear/rpi-homegear:nightly

Danke für den zündenden Denkanstoß.

VG Xargon

Edit: Bei mir findet Homegear nun sogar ohne --privileged den USB Sender. “–device=/dev/ttyUSB0” scheint erstmal zu funktionieren. Aber ich will es früher oder später trotzdem noch einmal mit der vollständigen ID des USB Senders versuchen.

@Xargon: schön, dass ich Dir helfen konnte …
Du startest den Prozess auch mit dem user “pi” in docker, also hat “pi” in die group “docker” aufgenommen, richtig?

Das habe ich bisher immer nur unter root oder eben meinen Benutzer-Account gemacht, komme aber dann im Container immer mit dem systemd-resolve user raus obwohl ich explizit die 1002 setze für HOST_USER_ID und HOST_USER_GID …

Hi @groovepack,
Nein, ich habe an dem User pi nichts geändert. Also keine Gruppe hinzugefügt oder zusätzliche Rechte vergeben.
Alles was ich bezüglich Rechte, bzw. User Geändert habe ist der Aufruf mit:
-e HOST_USER_ID=$(id -u) -e HOST_USER_GID=$(id -g)
Kannst du den Docker Aufruf verwenden, den ich oben gepostet habe?
VG Xargon