# 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