Installing Roon Server via Docker on NAS & Linux

RoonServer on Docker

An official Docker image for Roon Server is available via the GitHub Container Registry. This is the recommended approach for running Roon Server on Linux, NAS devices, and Macs that cannot be updated to meet the native installation requirements.

GitHub repository: https://github.com/RoonLabs/roon-docker

Requirements

  • x86_64 (amd64) processor. ARM is not supported.

  • 4 GB RAM minimum.

  • SSD storage for the Roon database. A spinning disk will cause performance problems.

  • Docker Engine 20.10 or later (or an equivalent container runtime on your platform).

  • Host networking mode. Roon relies on multicast and SSDP for device discovery; bridged networking will prevent this from working correctly.

Configuration Generator

Before setting up your container, use the configuration generator to produce a compose file or docker run command tailored to your environment:

https://roonlabs.github.io/roon-docker/

The generator lets you select your platform, specify your music library path, set your timezone, and choose your release branch. It outputs a ready-to-use configuration. The instructions below reference the generator where relevant.

Linux

On a standard Linux system, install Docker Engine following the official Docker documentation for your distribution, then use the output from the configuration generator to start the container.

The key parameters are:

  • --net=host — required for device discovery.

  • --restart unless-stopped — flag is a Docker restart policy that ensures a container restarts automatically in most situations, except when it has been explicitly stopped by the user.

  • -e TZ=America/New_York — allows you to set the specific timezone according to your location.

Volume Mappings:

  • Volume /Roon — RoonServer state (database, settings, identity, and application binaries). Must be writable and persistent.

  • Volume /Music — Your music library, think of this like your user's Music folder on Linux, macOS, or Windows.

  • Volume /RoonBackups — Roon backup destination (optional). Configure in Settings > Backups.

NAS and Other Platforms

Docker provides a consistent way to run Roon Server on any system that supports containers. Beyond the major commercial NAS brands, it runs well on open-source platforms such as TrueNAS SCALE and Unraid. If your platform supports Docker or a compatible container runtime, the same image and the same configuration apply.

The steps below have been collected from official manufacturer documentation. Platform interfaces and procedures change over time — if anything here is out of date, follow the source link provided under each platform and rely on the manufacturer's current instructions.

Unraid

Source: Running Docker Containers on Unraid

Unraid has native Docker support built into its web interface. Containers are managed through the Docker tab and configured via template forms.

  1. In the Unraid web interface, go to the Docker tab.

  2. Click Add Container.

  3. Set the repository to ghcr.io/roonlabs/roonserver:latest.

  4. Set Network Type to Host.

  5. Add a path mapping: Container path /Roon, Host path pointing to a directory on an SSD-backed share.

  6. Optionally add a second path mapping: Container path /Music, Host path pointing to your music library, set to read-only.

  7. Optionally add a third path mapping: Container path /RoonBackups, Host path pointing to your backup share.

  8. Add an environment variable TZ with your timezone value.

  9. Enable Auto-start if you want the container to start with the server.

  10. Click Apply.

Synology (DSM 7 or later)

Source: Synology Container Manager

Synology NAS devices running DSM 7 support Docker via the Container Manager package, available in Package Center.

  1. Install Container Manager from Package Center if not already installed.

  2. Open Container Manager and go to Project.

  3. Click Create, give the project a name, and paste the compose file generated at the Roon Docker Generator (select Synology as your platform).

  4. Review the volume paths — make sure the Roon data volume points to an SSD-backed location on your NAS.

  5. Click Next, then Done to deploy.

Note: Roon's database must be on an SSD. On Synology, this typically means placing the /Roon volume on your system volume rather than on spinning disk expansion storage.

QNAP

Source: Container Station Quick Start Guide

QNAP NAS devices support containers via the Container Station application, available in App Center.

  1. Install Container Station from App Center if not already installed.

  2. Open Container Station and click Create.

  3. Enter the image name: ghcr.io/roonlabs/roonserver:latest and click Next.

  4. Under Network, select Host mode.

  5. Under Storage, add volume mappings for your Roon data (SSD-backed), your music library (read-only), and optionally a backup destination.

  6. Under Environment, set the TZ environment variable to your timezone value.

  7. Enable auto-restart and click Create.

Alternatively, Container Station supports Docker Compose. Use the Compose output from the configuration generator (select QNAP as your platform) and import it via Create > Create Application.

ASUSTOR (ADM 4 or later)

Source: Using an ASUSTOR NAS with Docker

ASUSTOR NAS devices support Docker via Portainer, available in App Central.

  1. Install Portainer from App Central.

  2. Open Portainer and connect to the local Docker endpoint.

  3. Go to Stacks and click Add Stack.

  4. Paste the Compose file from the configuration generator.

  5. Adjust the volume paths to match your NAS directory structure. Place the Roon data volume on SSD-backed storage.

  6. Click Deploy the stack.

TrueNAS SCALE (24.10 or later)

Source: Installing Custom Apps (via YAML)

TrueNAS SCALE 24.10 (Electric Eel) and later features a native Docker-based runtime. Custom applications are now deployed directly using Docker Compose YAML configuration.

  1. In the TrueNAS web interface, go to Apps.

  2. Click Discover Apps, then click Custom App.

  3. An "Install via YAML" window will appear. Provide an application name in the top field (e.g., roonserver).

  4. In the Custom Config text area, paste the Docker Compose YAML code generated by the Roon Docker Generator.

  5. Update the volume paths on the left side of the colon (:) in the YAML to match your actual TrueNAS datasets (e.g., /mnt/tank/SSD_App_Data/Roon:/Roon). Make sure the /Roon directory points to an SSD-backed dataset.

  6. Click Install. TrueNAS will pull the image and start the container based on your YAML configuration.

(Tip: If you prefer managing containers via a dedicated graphical interface instead of TrueNAS's built-in Apps menu, third-party tools like Portainer or Dockge work perfectly with TrueNAS SCALE 24.10 and later).

Release Branches

Two release branches are available:

  • production — stable releases. This is the default and does not require configuration in the environment variables.

  • earlyaccess — pre-release builds, updated more frequently.

To select an early access branch, set the ROON_INSTALL_BRANCH environment variable in your container configuration: ROON_INSTALL_BRANCH=earlyaccess

Switching channels takes effect on the next container restart.

Migrating from a Native Installation

If you are moving an existing Roon installation into Docker, use Roon's built-in backup and restore:

  1. In your current Roon installation, disable all watched storage folders (Settings > Storage). This avoids path conflicts after migration.

  2. Create a backup (Settings > Backups > Back Up Now).

  3. Copy the backup to a location accessible from your new Docker host.

  4. Start the new Docker container. On first launch, it will prompt you to set up or restore.

  5. Choose Restore and point it to the backup.

  6. Once the restore is complete, edit your music folders' paths with the paths as they appear inside the Docker container or your network.

    • Related Articles

    • Installing Roon on Linux

      Overview Two packages are available for Linux: Roon Bridge and Roon Server. There is no real purpose to running both Roon Bridge and Roon Server on the same machine, since both provide identical access to audio devices. That said, doing so should not ...
    • Roon Server on NAS

      Roon Server requires a more powerful processor than most media servers due to our architecture. Historically, most NAS devices have not been powerful enough to deliver a first-class experience with Roon, but an increasing number are becoming capable. ...
    • Logs

      Occasionally, Roon Support will need to have a look at your Roon, Roon Remote, or Roon Server logs or database. The instructions below will walk you through finding various folders we might need to investigate your issue. In most cases, you'll want ...
    • Installing Roon

      Operating Systems covered in this article: macOS Windows Linux iOS and Android Minimum Requirements See the FAQ: What are the minimum requirements for more information about the hardware and software platforms supported by Roon. Installing Roon on ...
    • Starting with Roon Server

      What is Roon Server? Roon Server is media server software that runs on a powerful computer, NAS, or turnkey appliance (like Nucleus or ROCK), located on the network within your home. (For more information on how it fits in with Control and Output ...
    Visit the Roon Community!
    Need help? Thousands of Roon subscribers and audio enthusiasts are chatting over on our community site right now, join them! You don't even need a Roon subscription to sign up.