#!/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