FROM python:3.11-slim-bookworm
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1 DATA_DIR=/data
RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends ffmpeg espeak-ng icecast2 ca-certificates tzdata && rm -rf /var/lib/apt/lists/* && groupadd -g 10001 station && useradd -u 10001 -g station -m station && mkdir -p /app /data /data/audio /data/voice && chown -R station:station /app /data
WORKDIR /app
COPY --chown=station:station backend ./backend
COPY --chown=station:station dist ./dist
COPY --chown=station:station scripts ./scripts
USER station
RUN python scripts/ensure_music.py && python scripts/ensure_classical.py
EXPOSE 8000
CMD ["python", "-m", "backend.server"]
