Files
project-kino/nextcloud-import/docs/deployment.md
Hermes Agent 884c198783 Import remaining Nextcloud Kino-Projekt material into git
Moves git-compatible content from Nextcloud
(Botomir/Projekte/Angefangen/Kino-Projekt) into this repo per cleanup
request, under nextcloud-import/ to avoid colliding with the actively
maintained backend/frontend/worker layout:

- status/planning docs (Botomir-Status.md, Plan-Botomir.md, Projektbeschreibung.md)
- docs/ (deployment.md, provider-policy.md)
- backend-nextcloud-variant/ (older app/ layout, kept for reference only)
- plugin.video.xstream/, script.module.xstreamscraper/ (vendored Kodi addon source)

A third-party Firefox extension folder was intentionally left in Nextcloud
(unrelated vendor code, not project source).
2026-08-17 10:47:13 +02:00

1.3 KiB

Deployment

  1. .env auf dem Zielhost aus .env.example erstellen; JELLYFIN_API_KEY, KINOPROJEKT_ADMIN_PASSWORD_HASH und KINOPROJEKT_SESSION_SECRET nur dort oder in Vaultwarden speichern.
  2. Medien- und Datenverzeichnisse als Volumes mounten.
  3. Dienst nur Mesh-only veröffentlichen und den App-Login aktivieren.
  4. Nach Start prüfen:
curl http://127.0.0.1:8080/health
curl -X POST http://127.0.0.1:8080/api/probe \
  -H 'content-type: application/json' \
  --data '{"url":"http://localhost/video.mp4"}'
# Erwartet: HTTP 400, weil private/loopback Ziele abgelehnt werden.
  1. Login prüfen: Ohne Session antworten geschützte API-Routen mit 401; nach POST /api/auth/login setzt die App ein HttpOnly; Secure; SameSite=Lax Session-Cookie.
  2. Zielprofile prüfen: Ein Import mit target_profile=film|serie|clip muss unter /jellyfin/Filme, /jellyfin/Serien/.../Staffel<N> oder /jellyfin/YouTube-Mediathek landen. Der Ordner /jellyfin/YouTube-Mediathek sollte auf dem Zielhost jellyfinuser:media gehören und setgid wie die vorhandenen Bibliotheken nutzen.
  3. Für echte Importe muss yt-dlp im Container/Host verfügbar sein; das Dockerfile installiert es.
  4. Jellyfin-Refresh wird über POST <JELLYFIN_URL>/Library/Refresh mit X-Emby-Token ausgelöst, wenn JELLYFIN_API_KEY gesetzt ist.