FROM debian:bookworm-slim

RUN apt-get update \
    && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
        icecast2 \
        gettext-base \
        apache2-utils \
    && apt-get clean \
    && rm -rf /var/lib/apt/lists/*

COPY icecast.xml.template /etc/icecast2/icecast.xml.template

EXPOSE 8000

HEALTHCHECK --interval=10s --timeout=5s --start-period=5s \
    CMD curl -fsS http://localhost:8000/ > /dev/null || exit 1

CMD ["/bin/sh", "-c", "\
  envsubst '${ICECAST_SOURCE_PASSWORD}${ICECAST_RELAY_PASSWORD}${ICECAST_ADMIN_PASSWORD}' \
    < /etc/icecast2/icecast.xml.template > /etc/icecast2/icecast.xml \
  && htpasswd -cb /etc/icecast2/listeners.htpasswd \
       listener \"${ICECAST_LISTENER_PASSWORD:-groove_listen}\" \
  && exec icecast2 -c /etc/icecast2/icecast.xml"]
