restructuring, removed unneccessary options from web ui

This commit is contained in:
jt-chris
2026-04-12 03:06:36 +02:00
parent 615cf26bdd
commit cdc4554731
22 changed files with 129 additions and 332 deletions

View File

@@ -1,30 +0,0 @@
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"]

View File

@@ -0,0 +1,6 @@
services:
roonserver:
devices:
- /dev/snd:/dev/snd
group_add:
- audio

View File

@@ -0,0 +1,5 @@
services:
roonserver:
devices:
- /dev/dri:/dev/dri

View File

@@ -0,0 +1,6 @@
services:
roonserver:
volumes:
- /run/udev:/run/udev:ro
devices:
- /dev/bus/usb:/dev/bus/usb

View File

@@ -1,13 +1,14 @@
services:
qnap-roonserver:
roonserver:
environment:
- "QNAP_MODEL=${QNAP_MODEL:-Docker}"
- "QNAP_SERIAL=${QNAP_SERIAL:-NoSerial}"
- "QNAP_QTS_VER=${QNAP_QTS_VER:-System}"
- "ROONMNT_DIR=/Roon"
volumes:
# mount all disks and shared folder as read-only
- /share:/share:ro
# mount all disks and shared folders
- /share:/share
# mount database folder
- ${ROON_DATAROOT:-/dev/null}:/Roon/data
@@ -16,6 +17,6 @@ services:
- /etc/os-release:/etc/os-release:ro
# fake qnap binaries
- ./getcfg.sh:/sbin/getcfg:ro
- ./getsysinfo.sh:/sbin/getsysinfo
- ./get_hwsn.sh:/sbin/get_hwsn
- ../scripts/getcfg.sh:/sbin/getcfg:ro
- ../scripts/getsysinfo.sh:/sbin/getsysinfo
- ../scripts/get_hwsn.sh:/sbin/get_hwsn

View File

@@ -0,0 +1,11 @@
services:
roonserver:
image: ghcr.io/roonlabs/roonserver:latest
container_name: ${CONTAINER_NAME}
network_mode: host
environment:
- TZ=${TZ:-UTC}
stop_grace_period: 45s
restart: unless-stopped
logging:
driver: local

View File

@@ -0,0 +1,6 @@
services:
roonserver:
cap_add:
- SYS_ADMIN
- DAC_READ_SEARCH

View File

@@ -1,21 +0,0 @@
services:
qnap-roonserver:
#image: ghcr.io/roonlabs/roonserver:latest
build: .
container_name: qnap-roonserver
network_mode: host
environment:
- TZ=${TZ:-UTC}
stop_grace_period: 45s
restart: unless-stopped
cap_add:
- SYS_ADMIN
- DAC_READ_SEARCH
devices:
- /dev/snd:/dev/snd
- /dev/bus/usb:/dev/bus/usb
- /dev/dri:/dev/dri
group_add:
- audio
logging:
driver: local

View File

@@ -1,35 +0,0 @@
#!/usr/bin/env bash
set -euo pipefail
ROON_APP_DIR="/Roon/app"
ROON_INSTALLED="${ROON_APP_DIR}/.installed"
ROON_DOWNLOAD_URL="${ROON_DOWNLOAD_URL:-https://download.roonlabs.net/builds/RoonServer_linuxx64.tar.bz2}"
# Download and install RoonServer on first run
if [ ! -f "$ROON_INSTALLED" ]; then
echo "RoonServer not found — downloading..."
mkdir -p "$ROON_APP_DIR"
curl -fL --progress-bar -o /tmp/RoonServer.tar.bz2 "$ROON_DOWNLOAD_URL"
echo "Extracting..."
tar xjf /tmp/RoonServer.tar.bz2 -C "$ROON_APP_DIR"
rm -f /tmp/RoonServer.tar.bz2
# libharfbuzz.so links against libfreetype.so.6 but bundled lib has no soname suffix
ln -sf "${ROON_APP_DIR}/RoonServer/Appliance/libfreetype.so" \
"${ROON_APP_DIR}/RoonServer/Appliance/libfreetype.so.6"
# Record the installed Roon version from the tarball's VERSION file
if [ -f "${ROON_APP_DIR}/RoonServer/VERSION" ]; then
cp "${ROON_APP_DIR}/RoonServer/VERSION" "$ROON_INSTALLED"
else
echo "unknown" > "$ROON_INSTALLED"
fi
echo "RoonServer installed successfully."
fi
# Log versions at startup
echo "Image: $(cat /etc/roon-image-version 2>/dev/null || echo 'unknown')"
echo "Roon: $(sed -n '2p' "$ROON_INSTALLED" 2>/dev/null || echo 'unknown')"
# start.sh handles restart-on-exit-122 without a full container restart
exec "${ROON_APP_DIR}/RoonServer/start.sh"

View File

@@ -1,3 +0,0 @@
#!/bin/sh
echo $QNAP_SERIAL
echo "get_hwsn $@" >> /Roon/data/args.txt

View File

@@ -0,0 +1,2 @@
#!/bin/sh
echo $QNAP_SERIAL