FROM python:3.12-slim

LABEL org.opencontainers.image.title="bluos-upnp-bridge" \
      org.opencontainers.image.description="UPnP/DLNA MediaRenderer bridge for BluOS (Bluesound) players"

# ffmpeg converts follow-up tracks of another format in gapless mode (MP3 <-> FLAC)
RUN apt-get update \
 && apt-get install -y --no-install-recommends ffmpeg \
 && rm -rf /var/lib/apt/lists/* \
 && useradd --system --uid 10001 --no-create-home bridge \
 && mkdir -p /data && chown bridge /data
WORKDIR /app
COPY bridge.py web_ui.py gapless.py openhome.py /app/

USER bridge
ENV PYTHONUNBUFFERED=1 DATA_DIR=/data
VOLUME /data
HEALTHCHECK --interval=60s --timeout=5s --retries=3 \
  CMD python -c "import os,urllib.request; urllib.request.urlopen('http://127.0.0.1:%s/health' % os.environ.get('HTTP_PORT','49494'), timeout=3)" || exit 1

CMD ["python", "/app/bridge.py"]
