chore: beta release v0.5.0-beta
- Bump version to 0.5.0-beta - Add Apache-2.0 LICENSE (official text) + NOTICE - Add Docker support: multi-stage Dockerfile + docker-compose * non-root user, tini PID 1, gunicorn + uvicorn workers * healthcheck, OCI labels, persistent /data volume - Add GitHub Actions CI (lint/import-check + Docker smoke-test) - Backend polish: * modern lifespan handler (replaces deprecated on_event) * explicit sort validation (400 instead of 500) * title min_length=1 schema validation * configurable data dir + http timeout via env * avg_rating helper extracted (DRY) - Frontend polish: * beta badge in title, footer with live version * loading spinner on initial fetch * updated README, badges, config table, roadmap
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
# Komponiert WatchStack mit persistentem Daten-Volume.
|
||||
# Optional: Reverse-Proxy (caddy/traefik) davorschalten.
|
||||
|
||||
services:
|
||||
watchstack:
|
||||
build: .
|
||||
image: watchstack:beta
|
||||
container_name: watchstack
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "${WATCHSTACK_PORT:-8000}:8000"
|
||||
environment:
|
||||
WATCHSTACK_HOST: "0.0.0.0"
|
||||
WATCHSTACK_PORT: "8000"
|
||||
WATCHSTACK_WORKERS: "2"
|
||||
WATCHSTACK_DATA_DIR: "/data"
|
||||
# TZ: "Europe/Berlin"
|
||||
volumes:
|
||||
- watchstack-data:/data
|
||||
healthcheck:
|
||||
test: ["CMD", "python", "-c", "import urllib.request,sys,os; r=urllib.request.urlopen('http://127.0.0.1:8000/api/health',timeout=3); sys.exit(0 if r.status==200 else 1)"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 10s
|
||||
|
||||
volumes:
|
||||
watchstack-data:
|
||||
name: watchstack-data
|
||||
Reference in New Issue
Block a user