Files
QNAP_RoonServer/QPKG/shared/docker/Dockerfile
2026-04-10 02:25:36 +02:00

31 lines
1.0 KiB
Docker
Executable File

FROM debian:12-slim
RUN apt-get update \
&& apt-get -y upgrade \
&& apt-get -y install bash curl bzip2 ffmpeg cifs-utils alsa-utils libicu72
ENV ROON_SERVER_PKG RoonServer_linuxx64.tar.bz2
ENV ROON_SERVER_URL https://download.roonlabs.net/builds/${ROON_SERVER_PKG}
ENV ROON_DATAROOT /data
ENV ROON_ID_DIR /data
ENV ROON_DATAROOT=/Roon/data
ENV ROON_ID_DIR=/Roon/data
COPY entrypoint.sh /entrypoint.sh
# Informational only — requires --net=host for multicast discovery
EXPOSE 9003/udp 9100-9200/tcp 9200-9250/tcp 9330-9339/tcp 55000/tcp
# Healthcheck uses /proc directly instead of pgrep to avoid procps dependency
HEALTHCHECK --interval=30s --timeout=10s --start-period=120s --retries=3 \
CMD grep -ql '[R]oonServer.dll' /proc/[0-9]*/cmdline 2>/dev/null || exit 1
STOPSIGNAL SIGTERM
# entrypoint.sh downloads RoonServer on first run (to /Roon/app), then
# exec's into Server/RoonServer — the stock bash launcher that handles
# .NET runtime discovery, ulimit, self-update swap, and restart (exit 122).
ENTRYPOINT ["/entrypoint.sh"]