docker.videokonverter/entrypoint.sh
data 4f151de78c feat: VideoKonverter v4.2 - TV Admin-Center, HLS-Streaming, Startseiten-Rubriken
- TV Admin-Center (/tv-admin): HLS-Settings, Session-Monitoring, User-Verwaltung
- HLS-Streaming: ffmpeg .ts-Segmente, hls.js, GPU VAAPI, SIGSTOP/SIGCONT
- Startseite: Rubriken (Weiterschauen, Neu, Serien, Filme, Schon gesehen)
- User-Settings: Startseiten-Rubriken konfigurierbar, Watch-Threshold
- UI: Amber/Gold Accent-Farbe, Focus-Ring-Fix, Player-Buttons einheitlich
- Cache-Busting: ?v= Timestamp auf allen CSS/JS Includes

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-02 17:57:48 +01:00

51 lines
1.7 KiB
Bash

#!/bin/bash
# Entrypoint: PUID/PGID User-Switching + Default-Config kopieren
#
# Unterstuetzt zwei Betriebsarten:
# 1) docker-compose mit user: "${PUID:-99}:${PGID:-100}" → laeuft direkt als richtiger User
# 2) Unraid Docker-UI mit PUID/PGID als Container-Variablen → entrypoint wechselt den User
PUID=${PUID:-99}
PGID=${PGID:-100}
CFG_DIR="/opt/video-konverter/app/cfg"
DEFAULTS_DIR="/opt/video-konverter/cfg_defaults"
# Default-Konfigdateien kopieren falls nicht vorhanden
for file in "$DEFAULTS_DIR"/*; do
filename=$(basename "$file")
if [ ! -f "$CFG_DIR/$filename" ]; then
echo "Kopiere Default-Config: $filename"
cp "$file" "$CFG_DIR/$filename"
fi
done
# Pruefen ob wir als root laufen (Unraid Docker-UI Modus)
if [ "$(id -u)" = "0" ]; then
echo "Container laeuft als root - wechsle zu PUID=$PUID PGID=$PGID"
# Gruppe erstellen/aendern
if getent group vkuser > /dev/null 2>&1; then
groupmod -o -g "$PGID" vkuser
else
groupadd -o -g "$PGID" vkuser
fi
# User erstellen/aendern
if id vkuser > /dev/null 2>&1; then
usermod -o -u "$PUID" -g "$PGID" vkuser
else
useradd -o -u "$PUID" -g "$PGID" -M -s /bin/bash vkuser
fi
# Verzeichnis-Berechtigungen rekursiv setzen (inkl. vorhandener Dateien)
chown -R "$PUID:$PGID" /opt/video-konverter/data /opt/video-konverter/logs /tmp/hls 2>/dev/null
chown -R "$PUID:$PGID" "$CFG_DIR" 2>/dev/null
# Als PUID:PGID User starten
exec gosu "$PUID:$PGID" python3 __main__.py
else
# Laeuft bereits als richtiger User (docker-compose user: Direktive)
echo "Container laeuft als UID=$(id -u) GID=$(id -g)"
exec python3 __main__.py
fi