#!/bin/sh
set -eu
[ -n "${A2Y_NOVNC_PASSWORD:-}" ] || { echo "A2Y_NOVNC_PASSWORD is empty" >&2; exit 1; }
mkdir -p /browser/profile /browser/x11 /tmp/.X11-unix
rm -f /tmp/.X11-unix/X99 /tmp/.X99-lock
Xvfb :99 -screen 0 1440x900x24 -nolisten tcp >/tmp/xvfb.log 2>&1 &
i=0
until xdpyinfo -display :99 >/dev/null 2>&1; do
  i=$((i + 1))
  [ "$i" -lt 100 ] || { cat /tmp/xvfb.log >&2; exit 1; }
  sleep 0.1
done
x11vnc -storepasswd "$A2Y_NOVNC_PASSWORD" /browser/x11vnc.pass >/dev/null
x11vnc -display :99 -rfbauth /browser/x11vnc.pass -forever -shared \
  -localhost -bg -o /tmp/x11vnc.log
exec websockify --web=/usr/share/novnc 6080 localhost:5900
