[supervisord] nodaemon=true logfile=/dev/stdout logfile_maxbytes=0 loglevel=debug pidfile=/tmp/supervisord.pid [program:xvfb] command=Xvfb :99 -screen 0 %(ENV_RESOLUTION)s -ac +extension GLX +render -noreset autorestart=true priority=100 [program:vnc_setup] command=bash -c "mkdir -p ~/.vnc && echo '%(ENV_VNC_PASSWORD)s' | vncpasswd -f > ~/.vnc/passwd && chmod 600 ~/.vnc/passwd" autorestart=false priority=150 [program:x11vnc] ; ✅ Use same passwd created by vnc_setup (in /home/user/.vnc/passwd) ; ✅ Write logs to ~/.vnc/x11vnc.log instead of /var/log (avoids permission issues) command=bash -c "sleep 5 && DISPLAY=:99 x11vnc -display :99 -forever -shared -rfbauth ~/.vnc/passwd -rfbport 5901 -o ~/.vnc/x11vnc.log" autorestart=true priority=200 startretries=10 startsecs=10 depends_on=vnc_setup,xvfb [program:x11vnc_log] command=bash -c "tail -f ~/.vnc/x11vnc.log" autorestart=true priority=250 depends_on=x11vnc [program:novnc] ; Old ✅ command=bash -c "sleep 5 && cd /opt/novnc && ./utils/novnc_proxy --vnc localhost:7860 --listen 0.0.0.0:5901 --web /opt/novnc" ;command=bash -c "sleep 5 && /usr/share/novnc/utils/launch.sh --vnc localhost:5901 --listen 6080" command=bash -c "sleep 5 && /usr/share/novnc/utils/launch.sh --vnc localhost:5901 --listen 6080" autorestart=true priority=300 startretries=5 startsecs=3 depends_on=x11vnc [program:webui] command=/home/user/miniconda/envs/webui/bin/python -u webui_with_vnc.py --ip 0.0.0.0 --port 7860 ; ✅ Fix wrong directory (/app -> /web-ui) directory=/web-ui autorestart=true priority=400 startretries=3 startsecs=3