Files
codex-console/scripts/docker/start-webui.sh
T

36 lines
999 B
Bash

#!/usr/bin/env bash
set -euo pipefail
export DISPLAY="${DISPLAY:-:99}"
ENABLE_VNC="${ENABLE_VNC:-1}"
VNC_PORT="${VNC_PORT:-5900}"
NOVNC_PORT="${NOVNC_PORT:-6080}"
if [[ "${ENABLE_VNC}" == "1" || "${ENABLE_VNC,,}" == "true" ]]; then
echo "[docker] starting Xvfb on ${DISPLAY}"
Xvfb "${DISPLAY}" -screen 0 1366x900x24 -ac +extension RANDR >/tmp/xvfb.log 2>&1 &
echo "[docker] starting fluxbox window manager"
fluxbox >/tmp/fluxbox.log 2>&1 &
echo "[docker] starting x11vnc on :${VNC_PORT}"
x11vnc \
-display "${DISPLAY}" \
-rfbport "${VNC_PORT}" \
-forever \
-shared \
-nopw \
>/tmp/x11vnc.log 2>&1 &
NOVNC_WEB_ROOT="/usr/share/novnc"
if [[ ! -d "${NOVNC_WEB_ROOT}" ]]; then
NOVNC_WEB_ROOT="/usr/share/novnc/"
fi
echo "[docker] starting noVNC on :${NOVNC_PORT} (web=${NOVNC_WEB_ROOT})"
websockify --web="${NOVNC_WEB_ROOT}" "${NOVNC_PORT}" "127.0.0.1:${VNC_PORT}" >/tmp/novnc.log 2>&1 &
fi
echo "[docker] starting webui..."
exec python webui.py