This guide explains how to run the official Roon Server Docker image on Unraid using its built-in Docker interface.
Make sure your Unraid server has:
x86_64 / amd64 processor. ARM is not supported.
4 GB RAM minimum.
Docker is enabled in Unraid.
Roon Remote devices on the same local network as the Unraid server.

/Roon folder on an SSD-backed cache pool rather than on the spinning disk array.If you prefer using YAML configuration files, you can use Unraid's Docker Compose plugin. This is the recommended setup method because the configuration generator creates the exact file you need.
Go to the Apps tab in Unraid (Community Apps) and install the Docker Compose (or Compose Manager) plugin.
Open the Roon Docker Configuration Generator.
Select Unraid as your platform.
Enter your timezone and folder paths. It is strongly recommended that the Roon data path points to your SSD cache.
Copy the generated Docker Compose output.
In the Unraid web interface, navigate to the Docker Compose plugin interface.
Create a new stack (e.g., roonserver).
Paste the generated Compose YAML configuration.
Start the stack. The plugin will automatically pull the image and map everything correctly.
This is the simplest option if you don't use the Docker Compose plugin and want to use Unraid's native UI.
In the Unraid web interface, go to the Docker tab.
Scroll to the bottom and click Add Container.
Fill in the basic settings:
Template: leave as is
Name: RoonServer
Repository: ghcr.io/roonlabs/roonserver:latest
Network Type: Host
Privileged: leave as default (OFF)
You will now need to map your paths and variables. Click Add another Path, Port, Variable, Label or Device for each of the following:
Database Path (SSD-backed storage strongly recommended):
Config Type: Path
Name: Database
Container Path: /Roon
Host Path: /mnt/user/appdata/roon (Ensure this share uses your SSD cache pool)
Access Mode: Read/Write
Music Library Path:
Config Type: Path
Name: Music
Container Path: /Music
Host Path: Your music share (e.g., /mnt/user/Music)
Access Mode: Read Only (Recommended)
Roon Backups Path:
Config Type: Path
Name: RoonBackups
Container Path: /RoonBackups
Host Path: Your backup share (e.g., /mnt/user/RoonBackups)
Access Mode: Read/Write
Timezone Variable:
Config Type: Variable
Name: Timezone
Key: TZ
Value: Your timezone (e.g., America/New_York or Europe/London)
Enable Auto-start (the switch next to the Apply button) if you want the container to start with the server.
Click Apply. Unraid will download the image and start your RoonServer container.
RoonServer uses three main storage locations:
Purpose | Container path | Notes |
Roon data | /Roon | RoonServer state: database, settings, identity, logs, and application files. Must be writable and persistent. SSD-backed storage is strongly recommended for the best experience. |
| Music library | /Music | Your local music library. This can usually be mounted read-only. |
Roon backups | /RoonBackups | Optional but strongly recommended. Configure backups in Settings > Backups. |
Network Type must be set to Host. Host networking is required for Roon discovery. Without it, Roon Remote may not find the server, and the server may not discover audio endpoints on your network.
Auto-start is recommended so Roon Server starts again after the Unraid server reboots.
Two release branches are available:
production — stable releases. This is the default and does not require extra configuration.
earlyaccess — pre-release builds, updated more frequently.
If you are using Method 1 (Compose), you can set this via the configuration generator. If using Method 2, add an environment variable named ROON_INSTALL_BRANCH with the value earlyaccess. Switching channels takes effect on the next container restart.
If you are moving an existing Roon installation into Docker, use Roon's built-in backup and restore:
In your current native Roon installation, disable all watched storage folders (Settings > Storage). This avoids path conflicts after migration.
Create a backup (Settings > Backups > Back Up Now).
Stop your old Roon Server.
Copy the backup to a location accessible from your new Docker host mapping (e.g., your /RoonBackups folder).
Start the new Docker container. On first launch, it will prompt you to set up or restore.
Choose Restore and point it to the backup.
Once the restore is complete, edit your music folders' paths with the paths as they appear inside the Docker container (i.e., /Music).
After the container starts:
Confirm the container is running on the Docker tab.
Open Roon on your phone, tablet, or computer.
Make sure the device is on the same local network as the Unraid server.
Select the Roon Server running on Unraid.
Set up a new Roon Server or restore from backup.
Go to Settings > Storage and confirm your music folder is visible.
Roon Remote cannot find Roon Server Confirm that Network Type is set to Host and that your Roon Remote device is on the same local network as the Unraid server.
Performance is poor Confirm that the /Roon mapping points to an SSD-backed cache pool. For the best experience, the Roon database should not live on a spinning disk array.
Music folder is missing Confirm that the Unraid host path exists and is mapped to /Music inside the container. In Roon, use the container path, not the Unraid host path.
Container does not start after reboot Confirm that Auto-start is enabled for the container in the Docker tab.