Lots of Q's on QNAP Docker RoonServer setup & rolling back to the old Roon Server to make a backup (ref#3A9EX2)

Hi! What’s not quite right with Roon?

· I am trying to finish the installation of Roon Server within a container in Docker. Please see attached screen shots for reference. I think my Volume mapping is not correct. I have a 6 drive QNAP Raid Drive (1xSDD for RoonServer and 5xHDD RAID drive). The two volume names are "RoonSysDrive" and "Volume1". RoonSysDrive is SDD drive where my existing Roon Server is located. On Volume1 my music is stored in Volume1\RoonMusic\Artists. When I start the roonserver-1 Docker container - I get these errors: Error: The /Roon directory is not writable. Check that your volume mount points at a writable host path. Roon Docker image 1.0.6 starting. Error: The /Roon directory is not writable. Check that your volume mount points at a writable host path. Roon Docker image 1.0.6 starting. Error: The /Roon directory is not writable. Check that your volume mount points at a writable host path. Roon Docker image 1.0.6 starting. Error: The /Roon directory is not writable. Check that your volume mount points at a writable host path. The text of my YAML file is version: '3' services: roonserver: image: ghcr.io/roonlabs/roonserver:latest container_name: roonserver network_mode: host environment: - ROON_INSTALL_BRANCH=earlyaccess - TZ=Europe/London volumes: - /RoonSysDrive/Container/roon:/Roon - /Volume1/Multimedia/RoonMusic:/Music - /Volume1/Backups/RoonDB_backups:/RoonBackups restart: unless-stopped logging: driver: local

None of the above quite fits

· None of these quite match

Tell us what's going on

· File mapping when installing RoonServer in a Container on a QNAP TS-670

Tell us about your home network

· FTTC 1GB internet connection into a Draytek router with wired connection to QNAP and Remote zones. Some zones connected via Draytek Mesh network - but all function

Is Roon Server running?

· No, Roon Server is not running.

For Roon connectivity to work properly, both Roon Server and Roon Remote need to be turned on.

· I can't turn on Roon Server, I need help.

Describe the issue

I am trying to roll back to the old Roon Server to make a Server backup for use with a new Docker install which is a work-in-progress. I am also unsure where I should store my Containers. I have a QNAP TS-670 NAS with a single 200GB SSD drive and 5-HDD RAID where Roon Music is stored.I have gone through the Roon FAQ on using Containers, creating a new Roon Server and then linking Remotes - but there is something wrong in my configuration that I can not get the Docker Roon Server to run.

Describe your network setup

QNAP connected by ethernet into a Draytek router. Remotes ethernet connected into endpoints save for one endpoint which connects by Mesh Wifi AP and then ethernet.

Hi @Ado,

Just to understand the problem clearly: you don’t have an immediate or recent Backup of your database available, so you need to try to launch the old Roon Server (not in the Docker) to create a Backup?

As for the Docker itself not launching, how specifically did you generate the Docker Compose file?

What do you see in Roon itself on a remote?

Hi @Ado,

I’ll merge this thread with our other conversation so you can receive replies in a single topic thread.

Thanks for the detailed info and screenshots.

On QNAP NAS systems, shared volumes aren’t mounted at the root level — they live under /share/. Your Compose file is pointing to paths like /RoonSysDrive/... which don’t actually exist on the host, so Docker can’t bind-mount them and the container has nowhere writable to land.

Here’s the corrected docker-compose.yml:

version: '3'
services:
  roonserver:
    image: ghcr.io/roonlabs/roonserver:latest
    container_name: roonserver
    network_mode: host
    environment:
      - ROON_INSTALL_BRANCH=earlyaccess
      - TZ=Europe/London
    volumes:
      - /share/RoonSysDrive/Container/roon:/Roon
      - /share/Volume1/RoonMusic:/Music
      - /share/Volume1/Backups/RoonDB_backups:/RoonBackups
    restart: unless-stopped
    logging:
      driver: local

Note on the music path: You mentioned your music is at Volume1\RoonMusic\Artists, so I’ve mapped /share/Volume1/RoonMusic/Music. Your original YAML had a Multimedia subfolder in that path. I’ve removed it, but adjust if your actual path includes it.

Once updated, bring the container back up:

docker compose down && docker compose up -d

Please let us know if you have any questions and we’ll proceed from there.

1 Like

Hi Connor - thank you for your kind assistance. So have managed to create a roonserver App within Container Manager. I could not see where to execute the docker compose down && docker compose up -d but there was an option to restart which I clicked on.

I also looked under the Container Manager / Resource / Images tab and see 2 docker images: (“latest” and “latest-data-1” which has the newer Image Created date. Under Actions I tried to create a new container using latest-data-1. I can create the Container but again I think my file paths are an issue. I deleted the first attempt I tried again (container name: roonserverdocker) but this time I looked into the Create Container - Advanced Settings>> where I am presented with 4 tabs: Environment / Network / Device / Shared Folders. It offers 3 further options: New Volume-Mount Point / Volume from host-Mount Point and Volume from container. Each section has an “Add” option but only the first option is repopulated with:
[Blank editable field] Mount Point= /Roon
[Blank editable field] Mount Point= /RoonBackups
[Blank editable field] Mount Point= /Music

I populated each respective blank editable fields with each of the following:
/share/RoonSysDrive/Container/roon:/Roon
/share/Volume1/RoonMusic:/Music
/share/Volume1/Backups/RoonDB_backups:/RoonBackups

I then hit Create. The Summary screen appears and at the bottom of it is “New Volume” with 2 columns Name and Mount Point. Nothing is populated under Name and under Mount Point /Roon /RoonBackups and /Music are populated in each of 3 rows.

I then hit “Ok”. It shows some activity. I then move to Container Station Resource Containers tab and click on roonserverdocker docker item. By this time the activity has stopped. I hit “start” for that Container and receive the following error message:

Roon Docker image 1.0.6 starting. Error: The /Roon directory is not writable. Check that your volume mount points at a writable host path.

When I try to start the roonserver application I also get an error message (see screenshots attached) but basically reads that there are “No containers to start”.

Your further assistance would be greatly appreciated.

@connor Apologies for chasing - but any further thoughts on my set-up? Any assistance greatly appreciated. Kind regards, Adrian

I would first try leaving out the volume name level (both /RoonSysDrive/ and /Volume1/) from the path. It seems the top-level folder /Container in your case is on Volume1, and creating a second top-level folder /Container on the SSD volume might not be allowed, leading to the error messages ´no permission to write´, you have encountered.

Another thing: as your /Container top-level folder is seemingly living on the HDD, this is not ideal for handling of roon´s internal database. So I suggest to create a new top-level folder named for example /RooninContainer on the SSD volume, it should appear just above /RoonOnNAS. I would then try the following share path structure:

/share/RooninContainer/roon:/Roon
/share/RoonMusic:/Music
/share/Backups/RoonDB_backups:/RoonBackups

Good luck!

@Arindal - Thank you for the further suggestions. Still not working. I stopped and then deleted Container Manager, and rebooted my QNAP. I then re-installed Container Manager and when prompted, chose my SSD as the location for the install. It then prompted me for the name of the Container folder “\Container” - but the installer placed that on the HDD Raid. I tried to move the Container folders to my SSD without success. So I am in the process of again uninstalling / rebooting / installing of the Container Manager. This time when asked for the name of the Container folder I will try to make it install on the SSD. What path should I add to do that?

As a suggestion - I think it would be super helpful if you and your team could update the “install Roon Server with Docker FAQ” - this is way more involved than I expected…

If the top-level folder /Container is on an HDD volume, Container Station would refer to that one. You can´t just move it in my understanding.

Sorry to hear it is still not successful. Btw I am not a member of roon team, just a fellow user who has been facing exactly the same problems so wanted to share my solution.

Hello @Ado,

Apologies for the delay in getting back to you! Thank you for the detailed breakdown and the screenshots—it makes it very easy to see exactly where things got tangled up.

First, let’s address your question about the docker compose down && docker compose up -d command. Please completely ignore that! Those instructions are for users running Docker via a command-line interface (SSH). Because you are using the QNAP Container Station graphical interface, you do not need to run any code commands. Clicking the “Restart” or “Recreate” buttons in the UI accomplishes the exact same thing.

Why the “Not Writable” Error Happened: I see exactly what went wrong in your “Advanced Settings” attempt. When using the manual Container Station creation screen, the system expects you to split the path into two distinct boxes. You cannot paste the entire string (e.g., /share/RoonSysDrive/Container/roon:/Roon) into a single field.

That string actually represents two halves separated by a colon:

  • Host Path (The left side): The physical location on your QNAP (e.g., /share/RoonSysDrive/Container/roon).
  • Mount Point (The right side): The location inside the Docker container (e.g., /Roon).

By pasting the whole string with the colon into one blank field, QNAP created a malformed folder name, which triggered the permissions error.

The Easiest Way to Fix This: You do not need to manually map these boxes one by one. The absolute easiest way to set this up is to use the Applications feature in Container Station, which allows you to just paste Connor’s code directly.

  1. Clean up: Delete the failed containers you created so we can start fresh.
  2. Go to Applications: In the left-hand menu of Container Station, click on Applications (do not click Containers).
  3. Create: Click the Create button in the top right corner.
  4. Name it: Give the application a simple name, like roonserver.
  5. Paste the Code: In the large text box, simply copy and paste the exact YAML code block that Connor provided in his previous reply.
  6. Validate and Create: Click Validate to ensure the formatting is correct, and then click Create.

Container Station will automatically read the YAML file, split the Host Paths and Mount Points correctly behind the scenes, and start the server.

Regarding the /Container folder landing on your HDD: You actually do not need to reinstall Container Station or try to drag-and-drop folders manually.

QNAP has a built-in feature that allows you to safely change the volume mount point of any shared folder. You can force QNAP to move the entire Container folder to your SSD with just a few clicks:

  1. Open your QNAP Control Panel.
  2. Navigate to Privilege > Shared Folders.
  3. Find the Container folder in the list.
  4. Click the Edit Properties icon (it looks like a piece of paper and a pencil) under the “Action” column for that folder.
  5. Look for the Disk Volume drop-down menu. Change it from your HDD RAID (Volume1) to your SSD.
  6. Click Apply.

QNAP will do a bit of processing and automatically move the folder and update the system mount points behind the scenes.

Once that is finished, your /Container folder will officially live on the SSD. You can then go straight back into Container Station > Applications and paste the YAML code we discussed earlier.

Give that a try and let us know if Roon boots up successfully!

Hi Support team, I have done as instructed and it still has a write permission error. I am going to try again and make sure I have followed the steps. Will send screenshots so you can see what is the result. The error message I receive from the Docker container is as follows:

Check that your volume mount points at a writable host path. Roon Docker image 1.0.6 starting. Error: The /Roon directory is not writable.

I thought I had successfully moved the Container folder to my SSD and installed the roonserver to the SSD as well. Only my Music library on HDD RAID drive. Frustratingly close….