diff --git a/Kapitel 13/Tutorial.md b/Kapitel 13/Tutorial.md index 82bc78c..a13c251 100644 --- a/Kapitel 13/Tutorial.md +++ b/Kapitel 13/Tutorial.md @@ -216,117 +216,6 @@ Inhalt: Mit dieser Einrichtung sind **SSH‑Schlüssel**, **Berechtigungen** und **Pfade** konsistent. `ssh-copy-id` aus Abschnitt 3 funktioniert dadurch ohne Fehlermeldungen – und n8n kann die Skripte stabil starten. -## Abschnitt 2 – Clipper-LXC einrichten (Basisdienste & Einstiegsskripte) - -Damit der Benutzer `clipper` sauber funktioniert, legen wir ihn **immer mit Home-Verzeichnis und Shell** an. So können wir später SSH-Schlüssel ohne Fehler hinterlegen. - -### Benutzer und Verzeichnisse - -Als root: -```bash -adduser --home /home/clipper --shell /bin/bash clipper -``` -Vergib ein Passwort und bestätige die Abfragen. Danach richte das Konfigurationsverzeichnis ein: -```bash -mkdir -p /etc/clipper -chown root:clipper /etc/clipper -chmod 750 /etc/clipper -``` - -### Pakete installieren -```bash -apt install -y ffmpeg jq python3 python3-venv curl unzip inotify-tools sudo -``` - -- **ffmpeg**: Kern für Analyse/Schnitt -- **jq**: JSON-Auswertung -- **python3/venv**: Virtuelle Umgebung für Analyse -- **inotify-tools**: Events -- **sudo**: für Rechteeskalation - -### Konfiguration anlegen -```bash -nano /etc/clipper/clipper.env -``` -Inhalt: -``` -CLIPPER_IN=/srv/clipper/watch -CLIPPER_OUT=/srv/clipper/out -CLIPPER_TMP=/srv/clipper/temp -CLIPPER_LOG=/srv/clipper/logs/clipper.log -``` - -Rechte setzen: -```bash -chown root:clipper /etc/clipper/clipper.env -chmod 640 /etc/clipper/clipper.env -``` - -### Python-Umgebung vorbereiten -```bash -su - clipper -python3 -m venv /srv/clipper/.venv -source /srv/clipper/.venv/bin/activate -pip install --upgrade pip -pip install numpy opencv-python-headless -``` - -### Einstiegsskripte erstellen -**Analyse-Stub:** -```bash -nano /srv/clipper/bin/clipper-analyze -``` -```bash -#!/usr/bin/env bash -set -euo pipefail -source /etc/clipper/clipper.env -IN="$1" -JOBID="${2:-manual}" -mkdir -p "$CLIPPER_TMP/$JOBID" -echo "$(date '+%F %T') [ANALYZE] job=$JOBID file=$IN" | tee -a "$CLIPPER_LOG" -OUT_JSON="$CLIPPER_TMP/$JOBID/candidates.json" -echo '[]' > "$OUT_JSON" -echo "$OUT_JSON" -``` - -**Schneid-Stub:** -```bash -nano /srv/clipper/bin/clipper-cut -``` -```bash -#!/usr/bin/env bash -set -euo pipefail -source /etc/clipper/clipper.env -IN="$1" -RANGES_JSON="$2" -JOBID="${3:-manual}" -mkdir -p "$CLIPPER_OUT/$JOBID" -echo "$(date '+%F %T') [CUT] job=$JOBID file=$IN ranges=$RANGES_JSON" | tee -a "$CLIPPER_LOG" -exit 0 -``` - -Rechte setzen: -```bash -chmod +x /srv/clipper/bin/clipper-* -chown -R clipper:clipper /srv/clipper/bin -``` - -### Logs und Rotation -```bash -nano /etc/logrotate.d/clipper -``` -``` -/srv/clipper/logs/*.log { - rotate 14 - daily - missingok - notifempty - compress - delaycompress - copytruncate -} -``` - --- ## Abschnitt 3 – n8n ↔ Twitch: VOD & Clips importieren, in Nextcloud ablegen, Clipper starten