Initial commit: MKV → AVI web app (Docker + Keycloak OIDC)

- App FastAPI : recherche dans un dossier média, download original ou
  conversion en AVI Xvid (tone-mapping HDR→SDR, audio FR auto, MP3 stéréo)
- Auth Keycloak OIDC (Authlib) optionnelle
- 3 composes : app seule, stack local (keycloak.local), production (NPM)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-07-04 00:28:51 +02:00
commit fd2e0689bf
15 changed files with 1328 additions and 0 deletions
+22
View File
@@ -0,0 +1,22 @@
# ffmpeg/ffprobe statiques complets (incluent zscale/zimg pour le tone-mapping HDR)
FROM mwader/static-ffmpeg:7.1 AS ffmpeg
FROM python:3.12-slim
COPY --from=ffmpeg /ffmpeg /usr/local/bin/ffmpeg
COPY --from=ffmpeg /ffprobe /usr/local/bin/ffprobe
WORKDIR /app
COPY requirements.txt .
RUN pip install --no-cache-dir -r requirements.txt
COPY app/ /app/
ENV MEDIA_DIR=/media \
OUTPUT_DIR=/output \
MAX_WORKERS=1
EXPOSE 8000
VOLUME ["/media", "/output"]
# --proxy-headers : respecte X-Forwarded-Proto/Host derrière Nginx Proxy Manager
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000", \
"--proxy-headers", "--forwarded-allow-ips", "*"]