1ac6a17f6f
- Multi-stage Dockerfile: Node frontend build → Python wheel build → slim runtime - Backend serves SvelteKit static output via FastAPI StaticFiles mount - docker-compose.yml with named volume for /data persistence - Gitea Actions workflow: build/push Docker image + create release on v* tags - Add NOTIFY_BRIDGE_STATIC_DIR config for frontend path - Fix run() to use configurable host/port