#!/bin/sh set -e XVFB_PID="" cleanup() { if [ -n "$XVFB_PID" ]; then kill "$XVFB_PID" >/dev/null 2>&1 || true fi } trap cleanup EXIT INT TERM if [ -z "$DISPLAY" ]; then export DISPLAY=:0 export LIBGL_ALWAYS_SOFTWARE=1 Xvfb :0 -screen 0 1920x1080x24+32 -nolisten tcp -ac -dpi 96 >/tmp/xvfb.log 2>&1 & XVFB_PID=$! fi exec /app/.venv/bin/python -u server.py