docker.videokonverter/Dockerfile
data 0a2372cb5c Entrypoint: Default-Configs automatisch in gemountete Volumes kopieren
Auf Unraid ist app/cfg als Volume gemountet und bei Erstinstallation leer.
Der Entrypoint kopiert presets.yaml und settings.yaml aus cfg_defaults,
falls sie im gemounteten Verzeichnis fehlen. Config._load_presets() hat
zusaetzlich einen Fallback auf cfg_defaults.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-24 18:25:26 +01:00

56 lines
1.5 KiB
Docker

FROM ubuntu:24.04
# Basis-Pakete + ffmpeg + Intel GPU Treiber
RUN apt-get update && apt-get install -y --no-install-recommends \
ffmpeg \
python3 \
python3-pip \
intel-opencl-icd \
intel-media-va-driver-non-free \
libva-drm2 \
libva2 \
libmfx1 \
vainfo \
&& rm -rf /var/lib/apt/lists/*
# Umgebungsvariablen fuer Intel GPU
ENV LIBVA_DRIVER_NAME=iHD
ENV LIBVA_DRIVERS_PATH=/usr/lib/x86_64-linux-gnu/dri
# VideoKonverter Defaults (ueberschreibbar per docker run -e / Unraid UI)
ENV VK_DB_HOST=localhost
ENV VK_DB_PORT=3306
ENV VK_DB_USER=video
ENV VK_DB_PASSWORD=""
ENV VK_DB_NAME=video_converter
ENV VK_MODE=cpu
ENV VK_PORT=8080
ENV VK_LOG_LEVEL=INFO
WORKDIR /opt/video-konverter
# Python-Abhaengigkeiten
COPY requirements.txt .
RUN pip install --no-cache-dir --break-system-packages -r requirements.txt
# Anwendung kopieren
COPY __main__.py .
COPY app/ ./app/
# Default-Konfigdateien sichern (werden beim Start ins gemountete cfg kopiert)
RUN cp -r /opt/video-konverter/app/cfg /opt/video-konverter/cfg_defaults
# Daten- und Log-Verzeichnisse (beschreibbar fuer UID 1000)
RUN mkdir -p /opt/video-konverter/data /opt/video-konverter/logs \
&& chmod 777 /opt/video-konverter/data /opt/video-konverter/logs
# Entrypoint (kopiert Defaults in gemountete Volumes)
COPY entrypoint.sh .
RUN chmod +x entrypoint.sh
# Konfiguration und Daten als Volumes
VOLUME ["/opt/video-konverter/app/cfg", "/opt/video-konverter/data", "/opt/video-konverter/logs"]
EXPOSE 8080
ENTRYPOINT ["./entrypoint.sh"]