Files
watchlist/docker-compose.yml
T
ki 9a4909f083
CI / test (push) Has been cancelled
chore(rebrand): rename WatchStack -> Quivio
Quivio (Kofferwort aus Quire + Video) ersetzt den Arbeitstitel WatchStack.
Es ist origineller, frei auf PyPI/npm, und passt perfekt zur Doppelnatur
der App: Buecher (Quire) + Serien (Video).

Geaendert:
- Python-Paket app/ -> quivio/ (+ alle Imports angepasst)
- DB-File watchstack.db -> quivio.db
- Docker-Image: quivio:0.5.1-beta, Container-Name quivio
- Compose-Services: quivio, quivio-local
- ENV-Vars: QUIVIO_VERSION, QUIVIO_PORT, Volume quivio-data
- Frontend-Logo "W" -> "Q", Titel "Quivio", Footer
- Favicon "Q" (Georgia serif fuer klassischen Look)
- Logger-Name: watchstack -> quivio
- README, NOTICE, dist/README, data/README: Quivio
- CI-Workflow: testet quivio/ Pfade
- build-and-push.sh: lokaler Tag "quivio:VERSION"
- service-Feld in /api/health: quivio
- OpenAPI title: Quivio

Bugfix (gefunden beim Renaming):
- seed.py hatte versteckten "from app.database import DB_PATH" — gefixt

Verifiziert end-to-end:
- Python-Import OK
- Backend: service=quivio, version=0.5.1-beta, 8 unique items
- Docker-Build OK, Push in Gitea-Registry OK (neuer sha256-Digest)
- Container: Quivio 0.5.1-beta ready (logger), HTML ohne WatchStack-Rest
- OpenAPI title=Quivio
- 8 unique items nach cold start (Race-Fix haelt)
2026-07-22 00:42:09 +02:00

77 lines
2.5 KiB
YAML

# Komponiert Quivio.
#
# Standard (empfohlen, Beta):
# Image wird aus der Gitea Container Registry gezogen — kein lokaler
# Build noetig. Version liegt in quivio/__init__.py (single source of truth).
#
# docker compose up -d
# -> http://localhost:8000
#
# Lokal bauen (Development):
# docker compose --profile local up -d --build
# => baut aus dem Dockerfile statt aus der Registry
#
# Andere Version ziehen:
# QUIVIO_VERSION=0.6.0 docker compose pull && docker compose up -d
#
# Optional: Reverse-Proxy (caddy/traefik) davorschalten.
# Wird vom .env oder der Umgebung ueberschrieben, wenn vorhanden.
# Hinweis: Gitea-Pfad ist LOWERCASE (Vibecode/watchlist -> vibecode/watchlist),
# weil Docker-Repository-Namen kleingeschrieben sein muessen.
x-quivio-version: &quivio_version ${QUIVIO_VERSION:-0.5.1-beta}
x-gitea-image: &gitea_image git.pkop.de/vibecode/watchlist:${QUIVIO_VERSION:-0.5.1-beta}
services:
quivio:
# Standard: Image aus der Gitea Container Registry.
image: *gitea_image
container_name: quivio
restart: unless-stopped
ports:
- "${QUIVIO_PORT:-8000}:8000"
environment:
WATCHSTACK_HOST: "0.0.0.0"
WATCHSTACK_PORT: "8000"
WATCHSTACK_WORKERS: "2"
WATCHSTACK_DATA_DIR: "/data"
# TZ: "Europe/Berlin"
volumes:
- quivio-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
# Lokaler Build (Development) — ueber opt-in Profile aktivierbar:
# docker compose --profile local up -d --build
quivio-local:
profiles: ["local"]
build:
context: .
dockerfile: Dockerfile
image: quivio:local
container_name: quivio-local
restart: unless-stopped
ports:
- "${QUIVIO_PORT:-8001}:8000" # anderer Port, damit Registry-Variante parallel laufen kann
environment:
WATCHSTACK_HOST: "0.0.0.0"
WATCHSTACK_PORT: "8000"
WATCHSTACK_WORKERS: "2"
WATCHSTACK_DATA_DIR: "/data"
volumes:
- quivio-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:
quivio-data:
name: quivio-data