Dockerfile
Rama main · réplica de lectura del repositorio original.
# Ripster — Python web UI for multi-service music downloading.
# NOTE: Apple Music (zhaarey/AMD) needs the Go downloader (main.go) + Windows
# wrapper .exe and will NOT work in this Linux image. Deezer / Qobuz / Tidal /
# SoundCloud / Spotify-convert run fine here.
FROM python:3.12-slim
ENV PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1 \
RIPSTER_HOST=0.0.0.0 \
RIPSTER_PORT=7799
# Runtime deps: ffmpeg (transcode/postprocess), git+curl+ca-certificates
# (some engines pip-install from VCS / fetch over https at runtime).
RUN apt-get update \
&& apt-get install -y --no-install-recommends \
ffmpeg git curl ca-certificates \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
# Install Python deps first for layer caching.
COPY requirements.txt ./
RUN pip install -r requirements.txt
# App source.
COPY . .
# Seed a config.yaml from the example on first build if the operator didn't
# bake one in (the running app rewrites it via config_service).
RUN [ -f config.yaml ] || cp config.example.yaml config.yaml
EXPOSE 7799
# Persist downloads and per-service tokens across container restarts.
VOLUME ["/app/downloads", "/app/tokens"]
CMD ["python", "app.py"]