# MediaManager (Rust) su Linux: mmg-server (motore + interfaccia web) con ffmpeg per l'importazione e l'ascolto.
# bin/mmg-server si compila con build.sh (o crea-deploy-linux.sh) prima di "docker build".
# Il binario e' compilato con glibc 2.36 (rust:1-bookworm) o 2.39 (Ubuntu 24.04): l'immagine e' Ubuntu 24.04.
FROM ubuntu:24.04
ENV DEBIAN_FRONTEND=noninteractive

# ffmpeg/ffprobe: dati dei media, forma d'onda e conversioni per l'ascolto; tini: segnali (docker stop);
# tzdata: ora locale di log, palinsesti e blocchi.
RUN apt-get update \
 && apt-get install -y --no-install-recommends ca-certificates ffmpeg tini tzdata \
 && rm -rf /var/lib/apt/lists/*

COPY bin/mmg-server /opt/mmg/bin/mmg-server
COPY start.sh /opt/mmg/start.sh
RUN chmod +x /opt/mmg/bin/mmg-server /opt/mmg/start.sh

# Ora locale (palinsesti, log): il fuso della radio, non UTC. Si cambia con -e TZ=... in run.sh / run.bat.
ENV TZ=Europe/Rome
RUN ln -sf /usr/share/zoneinfo/Europe/Rome /etc/localtime && echo Europe/Rome > /etc/timezone
EXPOSE 8097
ENTRYPOINT ["/usr/bin/tini", "--", "/opt/mmg/start.sh"]
