🐳 Dockerfile

The Dockerfile is based on a Playwright Python image and additionally installs:

  • Poetry dependencies
  • Chromium (Playwright)
  • Xfce + VNC stack for UI debugging

The web container starts via entrypoint.sh:

  • waits for Postgres
  • runs migrations
  • runs collectstatic
  • starts Gunicorn

🐳 docker-compose.yml

Compose starts the full local stack:

  • web
  • celery_worker (with VNC)
  • celery_scheduler (Celery Beat)
  • command_request_starter
  • db (Postgres)
  • redis

🖥️ VNC for celery_worker

VNC is helpful for debugging UI automation:

  • you can see the real browser window
  • it is easier to understand which step failed

Ports:

  • in the container, VNC runs on 5900 (display :0)
  • Docker Compose maps it to host 5901 (5901:5900)

The VNC password is currently hardcoded in scripts/Dockerfile — change it before using outside local dev.