feat: Docker deployment + Gitea CI/CD workflow

- 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
This commit is contained in:
2026-03-23 02:14:14 +03:00
parent e0bae394ee
commit 1ac6a17f6f
6 changed files with 188 additions and 1 deletions
@@ -36,6 +36,9 @@ class Settings(BaseSettings):
cors_allowed_origins: str = "*"
"""Comma-separated allowed origins for CORS (e.g. 'http://localhost:5173,https://myapp.com'). Use '*' for dev."""
static_dir: str = ""
"""Path to frontend static files. Set to serve SvelteKit build via FastAPI (e.g. /app/static in Docker)."""
model_config = {"env_prefix": "NOTIFY_BRIDGE_"}
@property