Distribution & Pull-Token
TeamVis wird als Multi-Tenant-Container-Image in der zfx-Gitea-Registry
ausgeliefert. Du brauchst keinen Build, kein Repo-Klon, keine
Rebuild-Pipeline — pulle das Image, setze deine .env, starte.
Image-Adresse
git.zoesch.de/zfx-services/teamvis:<version>git.zoesch.de/zfx-services/teamvis:latestVerfügbar für linux/amd64 und linux/arm64 (Apple Silicon, Raspberry Pi 5, Hetzner CAX, AWS Graviton).
Pull-Token erhalten
Pro Kunde generieren wir einen Read-Only-Token, der ausschließlich zum Pullen aus der Registry berechtigt — kein Zugriff auf den Source-Code, keine Push-Rechte.
Du erhältst:
- Username (z. B.
kunde-musterstadt-pull) - Token (32-Zeichen-String, beginnend mit
gtea_…) - Login-Befehl zum Kopieren
Bei Vertragsende oder Token-Verlust wird der Token serverseitig widerrufen — der Pull schlägt sofort mit 401 fehl.
Login + Pull
# Einmalig auf jeder Maschine, die das Image braucht:docker login git.zoesch.de -u <dein-username> -p <dein-token>
# Image holen:docker pull git.zoesch.de/zfx-services/teamvis:latestDer Login speichert die Credentials unter ~/.docker/config.json. Bei
Headless-Servern reicht das einmal pro Maschine.
docker-compose.yml für ein Deployment
services: app: image: git.zoesch.de/zfx-services/teamvis:latest container_name: teamvis restart: unless-stopped env_file: .env ports: - "127.0.0.1:3000:3000"Die zugehörige .env:
# Supabase (eigenes Projekt — siehe Installation)SUPABASE_URL=https://<dein-projekt>.supabase.coSUPABASE_ANON_KEY=eyJhbGc…SUPABASE_SERVICE_ROLE_KEY=eyJhbGc…
# Session (≥ 32 Zeichen Zufallsstring)SESSION_SECRET=…
# SiteSITE_URL=https://team.deine-domain.de
# SMTP (optional, für Self-Service-Portal)SMTP_HOST=mail.deine-domain.deSMTP_PORT=587SMTP_USER=noreply@deine-domain.deSMTP_PASS=…SMTP_FROM_EMAIL=noreply@deine-domain.deSMTP_FROM_NAME=TeamVisdocker compose up -d reicht — kein Build, kein npm install. Image läuft.
Updates ziehen
docker compose pulldocker compose up -d --force-recreateBei größeren Versionssprüngen (Major-Updates): vorher die Migration-Notes prüfen — manche Releases verlangen DB-Migrations vor dem Container-Start.
Token rotieren
Falls dein Token kompromittiert wird:
- Sofort melden an
hallo@zfx.services - Wir widerrufen den alten Token
- Du erhältst einen neuen
docker logout git.zoesch.de+ neuendocker login
Stolperfallen
unauthorized: authentication requiredbeim Pull → Token abgelaufen oder widerrufen. Neuen anfordern- Token im Klartext im Repo / Skripten — niemals einchecken. Nutze
~/.docker/config.json(von docker login) oder Secret-Stores (Docker Swarm Secrets, K8s Secrets, Hashicorp Vault) - CI/CD eines Kunden, das aus zfx-Registry pullen will — eigenes Service-Account-Token, separat vom interaktiven Login
- Image-Größe: ~280 MB komprimiert (Next.js standalone + node-Runtime). Sollte für die meisten VPS unkritisch sein