Makes the all-in-one image actually run the new real-time-search features and closes review gaps: - Gemini OAuth path: install Node 22 + @google/gemini-cli (pinned 0.46.0) in the image; mount a DEDICATED host dir (~/.config/javis/gemini) holding only the OAuth creds to /root/.gemini (not the whole ~/.gemini). Verified in-container: `gemini -p ... -o json` returns a grounded answer with no API key. - Broadcast audio: add PulseAudio + a headless null-sink (run-pulse.sh, new supervisor program); export XDG_RUNTIME_DIR/PULSE_SERVER so Chrome playback and the selfbot `ffmpeg -f pulse -i @DEFAULT_MONITOR@` share one daemon. Verified: default sink virtual_speaker, monitor present, ffmpeg capture OK. - Bind the brain bridge to 127.0.0.1 only (internal, unauthenticated API). - VNC host port is overridable; this server pins VNC_PORT=5902 (.env) since the host already runs Xvnc on 5901. Verified in-container with CDI GPU passthrough: RTX 5050 visible, NVENC encoders (h264/hevc/av1) available. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
81 lines
1.7 KiB
Plaintext
81 lines
1.7 KiB
Plaintext
[supervisord]
|
|
nodaemon=true
|
|
user=root
|
|
logfile=/var/log/supervisord.log
|
|
pidfile=/run/supervisord.pid
|
|
|
|
[unix_http_server]
|
|
file=/run/supervisor.sock
|
|
|
|
[supervisorctl]
|
|
serverurl=unix:///run/supervisor.sock
|
|
|
|
[rpcinterface:supervisor]
|
|
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
|
|
|
|
[program:xvnc]
|
|
command=/app/docker/run-xvnc.sh
|
|
priority=100
|
|
autorestart=true
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
[program:pulse]
|
|
command=/app/docker/run-pulse.sh
|
|
priority=150
|
|
autorestart=true
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
[program:xfce]
|
|
command=/app/docker/run-xfce.sh
|
|
priority=200
|
|
autorestart=true
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
[program:novnc]
|
|
command=websockify --web=/usr/share/novnc 6080 localhost:5901
|
|
priority=250
|
|
autorestart=true
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
[program:bridge]
|
|
command=/opt/venv/bin/python -m bridge.server
|
|
directory=/app
|
|
priority=300
|
|
autorestart=true
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
[program:chrome]
|
|
command=/app/docker/run-chrome.sh
|
|
priority=350
|
|
autorestart=true
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|
|
|
|
[program:bot]
|
|
command=/app/docker/run-bot.sh
|
|
directory=/app/bot
|
|
priority=400
|
|
autorestart=true
|
|
startretries=999
|
|
stdout_logfile=/dev/stdout
|
|
stdout_logfile_maxbytes=0
|
|
stderr_logfile=/dev/stderr
|
|
stderr_logfile_maxbytes=0
|