chore(rebrand): rename WatchStack -> Quivio
CI / test (push) Has been cancelled

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)
This commit is contained in:
ki
2026-07-22 00:42:09 +02:00
parent fe291ba8ec
commit 9a4909f083
25 changed files with 102 additions and 114 deletions
+4 -4
View File
@@ -1,7 +1,7 @@
#!/usr/bin/env bash
# Baut das Image und pusht es in die Gitea Container Registry.
# Baut das Quivio-Image und pusht es in die Gitea Container Registry.
# Verwendung:
# bin/build-and-push.sh # Version aus app/__init__.py
# bin/build-and-push.sh # Version aus quivio/__init__.py
# VERSION=0.6.0 bin/build-and-push.sh # explizite Version
# bin/build-and-push.sh --load # baut + laedt nur (kein Push)
set -euo pipefail
@@ -16,7 +16,7 @@ fi
REGISTRY="${REGISTRY:-git.pkop.de}"
OWNER_LC=$(echo "${OWNER:-Vibecode}" | tr '[:upper:]' '[:lower:]')
REPO_LC=$(echo "${REPO:-watchlist}" | tr '[:upper:]' '[:lower:]')
LOCAL_TAG="watchstack:${VERSION}"
LOCAL_TAG="quivio:${VERSION}"
REMOTE_TAG="${REGISTRY}/${OWNER_LC}/${REPO_LC}:${VERSION}"
echo ">> Building ${LOCAL_TAG}"
@@ -35,4 +35,4 @@ docker push "${REMOTE_TAG}"
echo ">> Done."
echo " Pull with: docker pull ${REMOTE_TAG}"
echo " Run with: docker run -d --name watchstack -p 8000:8000 -v watchstack-data:/data ${REMOTE_TAG}"
echo " Run with: docker run -d --name quivio -p 8000:8000 -v quivio-data:/data ${REMOTE_TAG}"
+4 -13
View File
@@ -1,28 +1,19 @@
#!/usr/bin/env bash
# Baut das Docker-Image und legt es als versionierten Tar in dist/ ab.
# Verwendung:
# bin/build-image.sh # baut mit Version aus app/__init__.py
# bin/build-image.sh --load # baut + laedt direkt in lokales Docker
# VERSION=0.6.0 bin/build-image.sh # baut mit expliziter Version
# Baut das Quivio-Image und speichert es als Tar (Fallback, nicht mehr im Standard-Workflow).
# Normalerweise: bin/build-and-push.sh -> Image in Gitea-Registry.
set -euo pipefail
cd "$(dirname "$0")/.."
# Version aus app/__init__.py lesen, falls nicht via env ueberschrieben
if [ -z "${VERSION:-}" ]; then
VERSION=$(python3 bin/get-version.py)
fi
IMAGE="watchstack:${VERSION}"
TAR="dist/watchstack-${VERSION}.docker.tar"
IMAGE="quivio:${VERSION}"
TAR="dist/quivio-${VERSION}.docker.tar"
mkdir -p dist
echo ">> Building ${IMAGE}"
docker build -t "${IMAGE}" .
if [ "${1:-}" = "--load" ]; then
echo ">> Loaded into local Docker as ${IMAGE}"
exit 0
fi
echo ">> Saving to ${TAR}"
docker save -o "${TAR}" "${IMAGE}"
+2 -2
View File
@@ -1,12 +1,12 @@
#!/usr/bin/env python3
"""Liest die Version aus app/__init__.py (single source of truth).
"""Liest die Version aus quivio/__init__.py (single source of truth).
Verwendung: VERSION=$(python3 bin/get-version.py)
"""
import re
import sys
from pathlib import Path
text = (Path(__file__).parent.parent / "app" / "__init__.py").read_text()
text = (Path(__file__).parent.parent / "quivio" / "__init__.py").read_text()
m = re.search(r'__version__\s*=\s*["\'](.+?)["\']', text)
if not m:
sys.exit("__version__ nicht gefunden")
+3 -4
View File
@@ -1,6 +1,5 @@
#!/usr/bin/env bash
# Schreibt dist/manifest.json mit Build-Metadaten.
# Wird von bin/build-image.sh aufgerufen; kann auch solo laufen.
set -euo pipefail
cd "$(dirname "$0")/.."
@@ -14,13 +13,13 @@ BUILD_DATE=$(date -u +"%Y-%m-%dT%H:%M:%SZ")
mkdir -p dist
cat > dist/manifest.json <<EOF
{
"name": "watchstack",
"name": "quivio",
"version": "${VERSION}",
"git_sha": "${GIT_SHA}",
"git_tag": "${GIT_TAG}",
"build_date": "${BUILD_DATE}",
"image": "watchstack:${VERSION}",
"tarball": "dist/watchstack-${VERSION}.docker.tar",
"image": "quivio:${VERSION}",
"tarball": "dist/quivio-${VERSION}.docker.tar",
"license": "Apache-2.0",
"source": "https://git.pkop.de/Vibecode/watchlist"
}