docs: Save.TV Pipeline Doku + CT 116 RAM/DNS-Fix in homelab.conf

This commit is contained in:
Homelab Cursor 2026-03-28 20:59:25 +01:00
parent eb47bcb8d1
commit 89eca6c388
2 changed files with 28 additions and 2 deletions

View file

@ -98,3 +98,26 @@ Modelle: perplexity/sonar, perplexity/sonar-deep-research
- Passthrough-Tools: get_temperaturen, get_energie, get_heizung (Grafana direkt)
- tool_loader cached Module — nach Code-Aenderungen Service neu starten
- sync_state.py macht git reset --hard FETCH_HEAD — vernichtet nicht gepushte Commits
## 2026-03-28 — Save.TV Pipeline & Stabilitäts-Updates
### Änderungen
- **CT 116 RAM**: 512 MB → 1 GB (pct set 116 --memory 1024)
- 512 MB war die Ursache für alle Einfrierungen (Swap-Überlast, D-State-Prozesse, Load ~12)
- **CT 116 /etc/hosts**: www.save.tv → 172.66.146.119 (statisch)
- Ohne diesen Fix blockiert DNS-Lookup (socket.getaddrinfo) den Python-GIL → Flask komplett tot
- **savetv_web.py**: Archiv-Cache mit Hintergrund-Refresh
- /api/films antwortet jetzt sofort aus Cache, save.tv-Login im Hintergrund-Thread
- Flask threaded=True für parallele Requests
- **savetv_web.py**: Jellyfin-Duplikate-Filter
- Checkbox »Jellyfin-Duplikate ausblenden« (standard: ein)
- Filme die schon in Jellyfin sind werden versteckt → keine Doppel-Downloads
- **tools/savetv.py**: Login-Timeout (8s connect, 20s read) + moderner User-Agent
- **savetv_sync.py**: 700 MB Mindestgröße
- Dateien unter 700 MB werden übersprungen (SD-Aufnahmen = Schrott)
- Filter passiert auf API-Seite (HEAD-Request), nie auf NAS-Seite
### Pipeline-Architektur
Save.TV → Hetzner CT 116 (temp) → Jellyfin-Server 100.77.105.3 → NAS Muldenstein
- Sync: stündlich per Cron, 24h ± 30min Delay nach Download-Timestamp
- Callback: POST /api/nas_synced nach erfolgreichem Transfer

View file

@ -107,7 +107,7 @@ CT_111_HZ="forgejo|100.89.246.60|Forgejo Git Server"
CT_112_HZ="fuenfvoracht|100.73.171.62|FuenfVorAcht Telegram Bot"
CT_113_HZ="redax-wp|100.69.243.16|Redakteur WordPress KI-Autor + DeutschlandBlog"
CT_115_HZ="flugscanner-hub|100.92.161.97|Flugpreisscanner Hub + Scheduler"
CT_116_HZ="homelab-ai-bot|100.123.47.7|Hausmeister Bot (Qwen3-VL 30B via Ollama/KI-Server, Text+Vision) + Save.TV Web-UI + web_search via SearXNG"
CT_116_HZ="homelab-ai-bot (1 GB RAM)|100.123.47.7|Hausmeister Bot (Qwen3-VL 30B via Ollama/KI-Server, Text+Vision) + Save.TV Web-UI + web_search via SearXNG"
CT_121_HZ="deep-research|100.74.196.29|Open Deep Research + SearXNG — LangGraph API auf Port 2024"
CT_117_HZ="memory-service|100.121.192.94|Memory Service API (FastAPI + SQLite)"
CT_144_HZ="muldenstein-backup|—|Backup-Archiv (Read-Only)"
@ -214,7 +214,10 @@ MCP_TOOLS="homelab_overview,homelab_all_containers,homelab_container_status,home
SAVETV_USER="739281"
SAVETV_PASS="Astral1966"
SAVETV_URL="https://www.save.tv"
# Download-Pipeline: GEPLANT (bauen wenn Muldenstein erreichbar)
# Download-Pipeline: AKTIV (Save.TV → Hetzner CT116 → Jellyfin-Server → NAS Muldenstein)
# savetv_sync.py läuft stündlich auf Jellyfin-Server (100.77.105.3), 24h±30min Delay, min. 700MB
# CT 116 /etc/hosts: www.save.tv → 172.66.146.119 (DNS-GIL-Fix)
# CT 116 RAM: 1 GB (war 512 MB, hat alles einfrieren lassen)
# Ziel: Samba-Share auf RAID in Muldenstein → Jellyfin-Mediathek
# Architektur: Save.TV → pve-hetzner (temp) → Samba/CIFS → Jellyfin-Ordner
# TODO: Share-IP, Share-Name, Credentials, Jellyfin-Pfad ermitteln