├── Dockerfile ├── Dockerfile.base ├── LICENSE ├── Makefile ├── README.md └── run_installer.sh /Dockerfile: -------------------------------------------------------------------------------- 1 | # Dockerfile to install the latest version of RoonServer for Linux x86_64 2 | FROM mikedickey/roonserver:base 3 | 4 | # Based upon RonCH's Dockerfile from https://community.roonlabs.com/t/roon-running-in-docker-on-synology/9979 5 | # and instructions from http://kb.roonlabs.com/LinuxInstall 6 | MAINTAINER mike@mikedickey.com 7 | 8 | # Location of Roon's latest Linux installer 9 | ENV ROON_INSTALLER roonserver-installer-linuxx64.sh 10 | ENV ROON_INSTALLER_URL http://download.roonlabs.com/builds/${ROON_INSTALLER} 11 | 12 | # These are expected by Roon's startup script 13 | ENV ROON_DATAROOT /var/roon 14 | ENV ROON_ID_DIR /var/roon 15 | 16 | # Grab installer and script to run it 17 | COPY run_installer.sh /tmp 18 | 19 | # Fix installer permissions 20 | RUN curl -s -L -o /tmp/${ROON_INSTALLER} ${ROON_INSTALLER_URL} && \ 21 | chmod 700 /tmp/${ROON_INSTALLER} /tmp/run_installer.sh && \ 22 | /tmp/run_installer.sh 23 | 24 | # Your Roon data will be stored in /var/roon; /music is for your music 25 | VOLUME [ "/var/roon", "/music" ] 26 | 27 | # This starts Roon when the container runs 28 | ENTRYPOINT /opt/RoonServer/start.sh 29 | -------------------------------------------------------------------------------- /Dockerfile.base: -------------------------------------------------------------------------------- 1 | # Dockerfile to install the latest version of RoonServer for Linux x86_64 2 | FROM debian:bullseye 3 | 4 | # Install prerequisite packages 5 | RUN apt-get update \ 6 | && apt-get install -y --no-install-recommends curl bzip2 ffmpeg cifs-utils libasound2 libicu67 ca-certificates \ 7 | && apt-get clean && apt-get autoclean 8 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2016 mikedickey 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | all: roonserver 2 | 3 | base: 4 | docker build -t mikedickey/roonserver:base -f Dockerfile.base . 5 | 6 | roonserver: 7 | docker build --no-cache -t mikedickey/roonserver:latest -f Dockerfile . 8 | 9 | stop: 10 | docker-compose -f /etc/compose/roon.yml down 11 | 12 | start: 13 | docker-compose -f /etc/compose/roon.yml up -d 14 | 15 | restart: 16 | docker-compose -f /etc/compose/roon.yml down 17 | docker-compose -f /etc/compose/roon.yml up -d 18 | 19 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # RoonServer 2 | Dockerfile for RoonServer on Linux x86_64 3 | 4 | Roon data files are stored in /var/roon. Music volume should be /music. 5 | 6 | You currently must use the "host" networking driver with this. 7 | 8 | Example: 9 | 10 | docker run --name RoonServer --net=host -d -v /home/roon:/var/roon -v /home/music:/music mikedickey/roonserver 11 | -------------------------------------------------------------------------------- /run_installer.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | printf "y\ny\n" | /tmp/${ROON_INSTALLER} >> /tmp/roon_installer.log 2>&1 3 | true 4 | --------------------------------------------------------------------------------