This guide explains how to run the official Roon Server Docker image on a standard Linux machine.
Use this guide if you are comfortable managing a Linux system and want to run Roon Server through Docker Engine or Docker Compose.
Make sure your Linux system has:
x86_64 / amd64 processor. ARM is not supported.
4 GB RAM minimum.
Docker Engine 20.10 or later.
SSD-backed storage for the Roon data folder.
Local network access using host networking.
The Roon database is recommended to be stored on SSD-backed storage.
For most users, Docker Compose is the easiest way to manage containers over time.
Install Docker Engine using the official Docker instructions for your Linux distribution.
Install Docker Compose if it is not already included with your Docker installation.
Create folders for Roon data, backups, and music access.
Open the Roon Docker Configuration Generator.
Select Linux as your platform.
Enter your timezone and host folder paths.
Copy the generated Docker Compose output.
Save it as docker-compose.yml in a dedicated folder, for example,/opt/roonserver.
Start the container with Docker Compose.
Example command from the folder containing docker-compose.yml:
- docker compose up -d
Your Compose file should include mappings for the main Roon folders.
Example:
The left side is the Linux host path. The right side is the path inside the container.
Only edit the left side unless you know why you are changing the container paths.
Make sure your container uses:
Host networking is required for Roon discovery. Without it, Roon Remote may not find the server.
The restart policy allows the container to restart automatically after reboots or normal service interruptions.
Set the TZ environment variable to your local timezone.
Example:
Use the timezone that matches the location of the Linux host.
Start:
Stop:
Restart:
View status:
View logs:
The container name may be different if you changed it in your Compose file.
After the container starts:
Confirm the container is running.
Open Roon on your phone, tablet, or computer.
Make sure the Roon Remote device is on the same local network as the Linux host.
Select the Roon Server running in Docker.
Set up a new Roon Server or restore from backup.
Go to Settings > Storage and confirm your music folder is visible.
Check that the container is using host networking and that your Roon Remote device is on the same local network as the Linux host.
Confirm that the /Roon mapping points to SSD-backed storage. The Roon database should not be stored on a spinning disk.
Confirm that the host music folder exists and that it is mapped to /Music inside the container. In Roon, use the container path, not the original Linux host path.
Confirm that Docker can read and write to the host folders used for /Roon and /RoonBackups, and can read the host folder used for /Music.