deconz-community / deconz-docker

MIT License
376 stars 34 forks source link

Container crash with VNC mode enabled #168

Closed hille721 closed 1 year ago

hille721 commented 1 year ago

When setting -e DECONZ_VNC_MODE=1 the container crashs during startup. With VNCs mode disabled, everything works fine. Here the logs with -e DECONZ_START_VERBOSE=0:


Jan 14 18:18:29 raspi4 deconz[451228]: + echo [deconzcommunity/deconz] Starting deCONZ...
Jan 14 18:18:29 raspi4 deconz[451228]: [deconzcommunity/deconz] Starting deCONZ...
Jan 14 18:18:29 raspi4 deconz[451228]: [deconzcommunity/deconz] Current deCONZ version: 2.19.03
Jan 14 18:18:29 raspi4 deconz[451228]: [deconzcommunity/deconz] Web UI port: 8080
Jan 14 18:18:29 raspi4 deconz[451228]: [deconzcommunity/deconz] Websockets port: 8443
Jan 14 18:18:29 raspi4 deconz[451228]: [deconzcommunity/deconz] Using options --auto-connect=1 --appdata=/opt/deCONZ --dbg-info=1 --dbg-aps=0 --dbg-zcl=0 --dbg-ddf=0 --dbg-dev=0 --dbg-zdp=0 --dbg-ota=0 --dbg-error=0 --dbg-http=0 --http-port=8080 --ws-port=8443
Jan 14 18:18:29 raspi4 deconz[451228]: [deconzcommunity/deconz] Modifying user and group ID
Jan 14 18:18:29 raspi4 deconz[451228]: + echo [deconzcommunity/deconz] Current deCONZ version: 2.19.03
Jan 14 18:18:29 raspi4 deconz[451228]: + echo [deconzcommunity/deconz] Web UI port: 8080
Jan 14 18:18:29 raspi4 deconz[451228]: + echo [deconzcommunity/deconz] Websockets port: 8443
Jan 14 18:18:29 raspi4 deconz[451228]: + DECONZ_OPTS=--auto-connect=1         --appdata=/opt/deCONZ         --dbg-info=1         --dbg-aps=0         --dbg-zcl=0         --dbg-ddf=0         --dbg-dev=0         --dbg-zdp=0         --dbg-ota=0         --dbg-error=0         --dbg-http=0         --http-port=8080         >
Jan 14 18:18:29 raspi4 deconz[451228]: + echo [deconzcommunity/deconz] Using options --auto-connect=1 --appdata=/opt/deCONZ --dbg-info=1 --dbg-aps=0 --dbg-zcl=0 --dbg-ddf=0 --dbg-dev=0 --dbg-zdp=0 --dbg-ota=0 --dbg-error=0 --dbg-http=0 --http-port=8080 --ws-port=8443
Jan 14 18:18:29 raspi4 deconz[451228]: + echo [deconzcommunity/deconz] Modifying user and group ID
Jan 14 18:18:29 raspi4 deconz[451228]: + [ 1000 != 1000 ]
Jan 14 18:18:29 raspi4 deconz[451228]: + [ 1000 != 1000 ]
Jan 14 18:18:29 raspi4 deconz[451228]: + echo [deconzcommunity/deconz] Checking device group ID
Jan 14 18:18:29 raspi4 deconz[451228]: + [ /dev/ttyACM0 != 0 ]
Jan 14 18:18:29 raspi4 deconz[451228]: + DEVICE=/dev/ttyACM0
Jan 14 18:18:29 raspi4 deconz[451228]: [deconzcommunity/deconz] Checking device group ID
Jan 14 18:18:29 raspi4 deconz[451228]: + stat --printf=%g /dev/ttyACM0
Jan 14 18:18:29 raspi4 deconz[451228]: + DIALOUTGROUPID=18
Jan 14 18:18:29 raspi4 deconz[451228]: + DIALOUTGROUPID=18
Jan 14 18:18:29 raspi4 deconz[451228]: + [ 18 != 20 ]
Jan 14 18:18:29 raspi4 deconz[451228]: + groupmod -o -g 18 dialout
Jan 14 18:18:29 raspi4 podman[451087]: 2023-01-14 18:18:29.772447085 +0000 UTC m=+2.817330765 container start 78c91819f64606b4b96db7afb044d58471aa23ea349c5f5b16cf09ebc4c02556 (image=docker.io/deconzcommunity/deconz:stable, name=deconz, maintainer=deconz-community, org.opencontainers.image.revision=304bdbce08e8aa94a3>
Jan 14 18:18:29 raspi4 podman[451087]: 78c91819f64606b4b96db7afb044d58471aa23ea349c5f5b16cf09ebc4c02556
Jan 14 18:18:29 raspi4 deconz[451228]: + stat -c %A /dev/ttyACM0
Jan 14 18:18:29 raspi4 deconz[451228]: + cut -c 5-7
Jan 14 18:18:29 raspi4 deconz[451228]: + GROUPPERMISSIONS=rw-
Jan 14 18:18:29 raspi4 deconz[451228]: + [ rw- = --- ]
Jan 14 18:18:29 raspi4 deconz[451228]: + [ 1 != 0 ]
Jan 14 18:18:29 raspi4 deconz[451228]: + [ 5900 -lt 5900 ]
Jan 14 18:18:29 raspi4 deconz[451228]: [deconzcommunity/deconz] VNC port: 5900
Jan 14 18:18:29 raspi4 deconz[451228]: + DECONZ_VNC_DISPLAY=:0
Jan 14 18:18:29 raspi4 deconz[451228]: + echo [deconzcommunity/deconz] VNC port: 5900
Jan 14 18:18:29 raspi4 deconz[451228]: + [ ! -e /opt/deCONZ/vnc ]
Jan 14 18:18:29 raspi4 deconz[451228]: + ln -sfT /opt/deCONZ/vnc /home/deconz/.vnc
Jan 14 18:18:29 raspi4 deconz[451228]: + chown deconz:deconz /home/deconz/.vnc
Jan 14 18:18:29 raspi4 deconz[451228]: + chown deconz:deconz /opt/deCONZ -R
Jan 14 18:18:29 raspi4 deconz[451228]: + [ 0 != 0 ]
Jan 14 18:18:29 raspi4 deconz[451228]: + echo changeme
Jan 14 18:18:29 raspi4 deconz[451228]: + tigervncpasswd -f
Jan 14 18:18:29 raspi4 deconz[451228]: + chmod 600 /opt/deCONZ/vnc/passwd
Jan 14 18:18:30 raspi4 deconz[451228]: + chown deconz:deconz /opt/deCONZ/vnc/passwd
Jan 14 18:18:30 raspi4 deconz[451228]: + gosu deconz tigervncserver -kill :*
Jan 14 18:18:30 raspi4 deconz[451228]: tigervncserver: No VNC server running for this user!
Jan 14 18:18:30 raspi4 deconz[451228]: + gosu deconz tigervncserver -list :* -cleanstale
Jan 14 18:18:30 raspi4 deconz[451228]: 
Jan 14 18:18:30 raspi4 deconz[451228]: TigerVNC server sessions:
Jan 14 18:18:30 raspi4 deconz[451228]: 
Jan 14 18:18:30 raspi4 deconz[451228]: X DISPLAY #        RFB PORT #        PROCESS ID        SERVER
Jan 14 18:18:30 raspi4 deconz[451228]: + [ -e /tmp/.X0-lock ]
Jan 14 18:18:30 raspi4 deconz[451228]: + continue
Jan 14 18:18:30 raspi4 deconz[451228]: + [ -e /tmp/.X11-unix/X0 ]
Jan 14 18:18:30 raspi4 deconz[451228]: + continue
Jan 14 18:18:30 raspi4 deconz[451228]: + gosu deconz tigervncserver -SecurityTypes VncAuth,TLSVnc :0
Jan 14 18:18:31 raspi4 deconz[451228]: /usr/bin/xauth:  file /home/deconz/.Xauthority does not exist
Jan 14 18:19:01 raspi4 deconz[451228]: 
Jan 14 18:19:01 raspi4 deconz[451228]: =================== tail /home/deconz/.vnc/78c91819f646:5900.log ===================
Jan 14 18:19:01 raspi4 deconz[451228]: _XSERVTransmkdir: ERROR: euid != 0,directory /tmp/.X11-unix will not be created.
Jan 14 18:19:01 raspi4 deconz[451228]: 
Jan 14 18:19:01 raspi4 deconz[451228]: Xvnc TigerVNC 1.11.0 - built 2022-01-26 17:59
Jan 14 18:19:01 raspi4 deconz[451228]: Copyright (C) 1999-2020 TigerVNC Team and many others (see README.rst)
Jan 14 18:19:01 raspi4 deconz[451228]: See https://www.tigervnc.org for information on TigerVNC.
Jan 14 18:19:01 raspi4 deconz[451228]: Underlying X server release 12011000, The X.Org Foundation
Jan 14 18:19:01 raspi4 deconz[451228]: 
Jan 14 18:19:01 raspi4 deconz[451228]: 
Jan 14 18:19:01 raspi4 deconz[451228]: Sat Jan 14 18:18:31 2023
Jan 14 18:19:01 raspi4 deconz[451228]:  vncext:      VNC extension running!
Jan 14 18:19:01 raspi4 deconz[451228]:  vncext:      Listening for VNC connections on all interface(s), port 5900
Jan 14 18:19:01 raspi4 deconz[451228]:  vncext:      created VNC server for screen 0
Jan 14 18:19:01 raspi4 deconz[451228]: 
Jan 14 18:19:01 raspi4 deconz[451228]: Sat Jan 14 18:19:01 2023
Jan 14 18:19:01 raspi4 deconz[451228]:  ComparingUpdateTracker: 0 pixels in / 0 pixels out
Jan 14 18:19:01 raspi4 deconz[451228]:  ComparingUpdateTracker: (1:nan ratio)
Jan 14 18:19:01 raspi4 deconz[451228]: ====================================================================================
Jan 14 18:19:01 raspi4 deconz[451228]: 
Jan 14 18:19:01 raspi4 deconz[451228]: tigervncserver: /usr/bin/Xtigervnc did not start up, please look into '/home/deconz/.vnc/78c91819f646:5900.log' to determine the reason! -1
Jan 14 18:19:01 raspi4 deconz[451228]: Killing Xtigervnc process ID 49... success!
Jan 14 18:19:01 raspi4 deconz[451228]: + export DISPLAY=:0
Jan 14 18:19:01 raspi4 deconz[451228]: + [ 6080 = 0 ]
Jan 14 18:19:01 raspi4 deconz[451228]: + [ 6080 -lt 6080 ]
Jan 14 18:19:01 raspi4 deconz[451228]: + NOVNC_CERT=/opt/deCONZ/vnc/novnc.pem
Jan 14 18:19:01 raspi4 deconz[451228]: + [ -f /opt/deCONZ/vnc/novnc.pem ]
Jan 14 18:19:01 raspi4 deconz[451228]: + openssl x509 -noout -in /opt/deCONZ/vnc/novnc.pem -checkend 0
Jan 14 18:19:01 raspi4 deconz[451228]: + [ 0 != 0 ]
Jan 14 18:19:01 raspi4 deconz[451228]: + [ ! -f /opt/deCONZ/vnc/novnc.pem ]
Jan 14 18:19:01 raspi4 deconz[451228]: + chown deconz:deconz /opt/deCONZ/vnc/novnc.pem
Jan 14 18:19:01 raspi4 deconz[451228]: + gosu deconz websockify -D --web=/usr/share/novnc/ --cert=/opt/deCONZ/vnc/novnc.pem 6080 localhost:5900
Jan 14 18:19:02 raspi4 deconz[451228]: WebSocket server settings:
Jan 14 18:19:02 raspi4 deconz[451228]:   - Listen on :6080
Jan 14 18:19:02 raspi4 deconz[451228]:   - Web server. Web root: /usr/share/novnc
Jan 14 18:19:02 raspi4 deconz[451228]:   - SSL/TLS support
Jan 14 18:19:02 raspi4 deconz[451228]:   - Backgrounding (daemon)
Jan 14 18:19:02 raspi4 deconz[451228]: [deconzcommunity/deconz] NOVNC port: 6080
Jan 14 18:19:02 raspi4 deconz[451228]: + echo [deconzcommunity/deconz] NOVNC port: 6080
Jan 14 18:19:02 raspi4 deconz[451228]: + [ /dev/ttyACM0 != 0 ]
Jan 14 18:19:02 raspi4 deconz[451228]: + DECONZ_OPTS=--auto-connect=1         --appdata=/opt/deCONZ         --dbg-info=1         --dbg-aps=0         --dbg-zcl=0         --dbg-ddf=0         --dbg-dev=0         --dbg-zdp=0         --dbg-ota=0         --dbg-error=0         --dbg-http=0         --http-port=8080         >
Jan 14 18:19:02 raspi4 deconz[451228]: + [ 1 != 1 ]
Jan 14 18:19:02 raspi4 deconz[451228]: + mkdir -p /opt/deCONZ/otau
Jan 14 18:19:02 raspi4 deconz[451228]: + ln -sfT /opt/deCONZ/otau /home/deconz/otau
Jan 14 18:19:02 raspi4 deconz[451228]: + chown deconz:deconz /home/deconz/otau
Jan 14 18:19:02 raspi4 deconz[451228]: + chown deconz:deconz /opt/deCONZ -R
Jan 14 18:19:02 raspi4 deconz[451228]: + exec gosu deconz /usr/bin/deCONZ --auto-connect=1 --appdata=/opt/deCONZ --dbg-info=1 --dbg-aps=0 --dbg-zcl=0 --dbg-ddf=0 --dbg-dev=0 --dbg-zdp=0 --dbg-ota=0 --dbg-error=0 --dbg-http=0 --http-port=8080 --ws-port=8443 --dev=/dev/ttyACM0
Jan 14 18:19:02 raspi4 deconz[451228]: qt.qpa.xcb: could not connect to display :0
Jan 14 18:19:02 raspi4 deconz[451228]: qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
Jan 14 18:19:02 raspi4 deconz[451228]: This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.
Jan 14 18:19:02 raspi4 deconz[451228]: 
Jan 14 18:19:02 raspi4 deconz[451228]: Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vnc, xcb.
Jan 14 18:19:02 raspi4 deconz[451228]: 
phdelodder commented 1 year ago

Can you share a bit more information? Have you had a look at for example #64

hille721 commented 1 year ago

I'm running deconz with podman, controlled by following systemd service:

[Unit]
Description=Podman container-deconz.service
Documentation=man:podman-generate-systemd(1)
Wants=network-online.target
After=network-online.target
RequiresMountsFor=%t/containers

[Service]
Environment=PODMAN_SYSTEMD_UNIT=%n
Restart=always
TimeoutStopSec=70
ExecStartPre=/bin/rm -f %t/%n.ctr-id
ExecStart=/usr/bin/podman run --cidfile=%t/%n.ctr-id --cgroups=no-conmon --rm --sdnotify=conmon --replace -d -p 8080:8080 -p 8443:8443 -p 5905:5900 -p 6080:6080 --name=deconz -v /etc/localtime:/etc/localtime:ro -v /srv/deconz:/opt/deCONZ --device=/dev/ttyACM0 -e DECONZ_DEVICE=/dev/ttyACM0 -e DECONZ_WEB_PORT=8080 -e DECONZ_WS_PORT=8443 -e TZ=UTC -e DECONZ_VNC_MODE=1 deconzcommunity/deconz:stable
ExecStop=/usr/bin/podman stop --ignore --cidfile=%t/%n.ctr-id
ExecStopPost=/usr/bin/podman rm -f --ignore --cidfile=%t/%n.ctr-id
Type=notify
NotifyAccess=all

[Install]
WantedBy=default.target

This worked for over ~ a year, but suddenly it did not start anymore. First I thought it might be related to my deCONZ update to 2.19.03, but error is now also comming for the 2.18 image.

Already removed /opt/deCONZ/vnc, but error was still coming.

The issue you mentioned seems to be not really related to my one, because I had it already running

hille721 commented 1 year ago

ok funny, just retried it again. Those tigervnc error messages are still there, but now the container starts and deconz, phoscon and VNC are working.

Thus I close this issue.