Add JARVIS_ROLE (full|browser|bot) via a run-if-role.sh supervisord guard so one image serves three layouts. Make Chrome CDP bind configurable (CDP_BIND) and publishable on the LAN (CDP_PUBLISH_BIND) so a bot on another PC can drive this host's on-screen Chrome over the internal network (no auth, as requested).
26 lines
994 B
Bash
Executable File
26 lines
994 B
Bash
Executable File
#!/usr/bin/env bash
|
|
# Wait for the desktop, then launch Chrome on :1 so the VNC screen shows a
|
|
# controllable browser (jarvis can also drive it). Runs as root -> --no-sandbox.
|
|
set -e
|
|
for i in $(seq 1 40); do
|
|
xdpyinfo -display :1 >/dev/null 2>&1 && break
|
|
sleep 1
|
|
done
|
|
sleep 3
|
|
export DISPLAY=:1
|
|
# --remote-debugging-port exposes CDP so the brain's browse-search.mjs
|
|
# (playwright connectOverCDP) can drive this on-screen Chrome for the
|
|
# broadcast-visible Google/YouTube search. Bound to loopback (same container).
|
|
exec google-chrome \
|
|
--no-sandbox --no-first-run --disable-dev-shm-usage \
|
|
--test-type \
|
|
--disable-infobars \
|
|
--no-default-browser-check \
|
|
--disable-translate \
|
|
--disable-features=Translate,TranslateUI,InfoBars \
|
|
--remote-debugging-port="${CDP_PORT:-9222}" \
|
|
--remote-debugging-address="${CDP_BIND:-127.0.0.1}" \
|
|
--user-data-dir="${CHROME_PROFILE_DIR:-/root/chrome-profile}" \
|
|
--password-store=basic --start-maximized \
|
|
"${CHROME_START_URL:-about:blank}"
|