🐳 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:
webcelery_worker(with VNC)celery_scheduler(Celery Beat)command_request_starterdb(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.