mirror of
https://github.com/myronblair/kino-app
synced 2026-07-28 05:23:45 -05:00
671074764e
- itunes.py: zero-auth fallback for album artwork when MusicBrainz/Cover Art Archive has no match — kicks in automatically during music enrichment, toggleable in Settings (on by default, no key required). - acoustid.py: audio fingerprint identification (Chromaprint fpcalc + the AcoustID API) for tracks with missing/unknown artist or album — nothing to text-search on, so this identifies from the actual audio content instead. Requires a free user-supplied API key from acoustid.org/api-key, off by default. New /music/identify endpoint + admin trigger button. - Dockerfile: added libchromaprint-tools for fpcalc. - Settings page: new Music Metadata & Artwork section with both toggles.
26 lines
784 B
Docker
26 lines
784 B
Docker
# Kino backend — FastAPI + ffmpeg
|
|
FROM python:3.11-slim
|
|
|
|
# ffmpeg for HLS transcoding; util-linux for `nice` (already in base but explicit);
|
|
# libchromaprint-tools provides `fpcalc`, used for AcoustID audio fingerprinting.
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
ffmpeg \
|
|
curl \
|
|
libchromaprint-tools \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# Install Python deps first (layer cache)
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Copy app source
|
|
COPY . .
|
|
|
|
# Create media dirs (will be overridden by volume mount at runtime)
|
|
RUN mkdir -p /media/videos /media/posters /media/subtitles /media/hls
|
|
|
|
EXPOSE 8001
|
|
CMD ["uvicorn", "server:app", "--host", "0.0.0.0", "--port", "8001", "--proxy-headers"]
|