Trying to install legacy on QTS 4.3.6 (QNAP 470 pro)

Hi,
I am in an install loop!

I have a VM running Debian 13 in virtualisation station so I can deploy Roon server either natively or in a docker container; I have successfully installed both but when I passthrough my Qutest DAC from QTS the sound quality is like something a dalek would produce (very compressed)

So I am trying to install a legacy version with a QTS manual installation but I am not having much luck

  • Roon legacy 2202_09_19 reports an error downloading the binary from roon’s servers
  • Roon legacy 2022-12-10 reports a problem uncompressing a .tar.bz file.

I tried to install a roon container using container station on the Qnap but that version of container station is far too old for it to work.

Any suggestions please?

Thanks in advance

Jason

P.S I do not want to buy new hardware and I want to stick with QTS.

Did you assign the physical USB audio interface directly to the guest OS? It sounds like you have a latency issue.

Using the legacy version would be a short term fix and it’s not clear why you are using the NAS with a direct connection to the DAC.

It would be better to use the DAC with a low cost network streamer, e.g., FiiO SR11 or Raspberry Pi, and run the server as a container on the NAS.

Yes I did this.

I would prefer a one box solution if possible. I cannot see a problem connecting a USB DAC to a NAS and expecting it to work, it used to work before Roon insisted on Docker containers and withdrawing legacy support, I do not mind running an old version of Roon on my QNAP as long as it works, I am in no rush to go out and replace perfectly good, functioning hardware especially at today’s prices.

(Sorry that turned into a bit of a rant!)

Is there a reason you don’t want to use the official Docker image? This can be configured to use USB Audio, and would be a much simpler solution.

I tried to deploy it with container station on my Qnap but unfortunately it would not start.

I manually installed docker-18.06.3-ce which is the latest version which will run with the installed kernel but that is too old to run the Roon container.

If it installed without error, I believe it should be possible to get Roon running. It would be useful to see and messages and your docker run or docker-compose,json file. The only line that may cause an issue is --log-driver local since this was introduced with Docker 19.03 (late 2019).

AFAICS, this isn’t essential.

Just installed container station (2.0.957)

Created the app

version: ‘3’

services:
roonserver:
image: Package roonserver · GitHub
container_name: roonserver
network_mode: host
environment:
- ROON_INSTALL_BRANCH=production
- TZ=Asia/Taipei
volumes:
- /share/Container/Roon:/Roon
- /share/Multimedia/Music/flac:/Music
- /share/Container/RoonBackups:/RoonBackups
- /run/udev:/run/udev:ro
restart: unless-stopped
devices:
- /dev/snd:/dev/snd
- /dev/bus/usb:/dev/bus/usb

(had to remove group_add)

yaml is validated

Started the container and it immediately stopped

Console output

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

Which is strange because it did manage to create the Roon directory

So I tried

version: ‘3’

services:
roonserver:
image: Package roonserver · GitHub
container_name: roonserver
network_mode: host
environment:
- ROON_INSTALL_BRANCH=production
- TZ=Asia/Taipei
volumes:
- /share/CE_CACHEDEV1_DATA/Container/Roon:/Roon
- /share/Multimedia/Music/flac:/Music
- /share/CE_CACHEDEV1_DATA/Container/RoonBackups:/RoonBackups
- /run/udev:/run/udev:ro
restart: unless-stopped
devices:
- /dev/snd:/dev/snd
- /dev/bus/usb:/dev/bus/usb

Got the same error

Why? This is needed for USB Audio, and is in the form --group-add audio.

However, this is not related to the volume permissions. These folders should be empty and writeable except for /Music, which is read-only. However, your paths look wrong and should be, for example, /share/Container/roon. You are likely trying to mount tmpfs.

Not supported in my version of container station

My first attempt included

/share

and it failed.

What version are you running? This flag has been available for almost a decade.

You have a permissions error for storage outside the container. The folders must have rw access for the Docker user you setup.

Container Station version 2.0.957 was released on December 4, 2019

Just checked the QNAP

[/share/Container] # ls -l
total 16
drwxr-xr-x 7 admin administrators 4096 2026-08-15 00:30 container-station-data/
drwxr-xr-x 2 admin administrators 4096 2026-08-14 00:59 @Recently-Snapshot/
drwxrwxrwx 2 admin administrators 4096 2026-08-15 01:15 Roon/
drwxrwxrwx 2 admin administrators 4096 2026-08-15 01:15 RoonBackups/

Container station managed to create the directories (Roon & RoonBackups) when they were not there but then it cannot write to them. Very strange.

Ok, I have managed to get this going but the process is totally different to the approach I was taking before.

You have to build a container from the downloaded image.

I have documented this so I am happy to share it with Roon if they want to take a look.

I wanted to know the version of Docker not ContainerStation.

docker --version

Yes, on first run (using the compose file or docker run) the container is built from the image using the instructions you provide.

Please share the steps you used (you should have followed the official guide, but it would be useful to understand your steps.)

Typically, you should create a user for Docker via QTS, so root (admin) is not used. Note that the administrators group only has read access.

[~] # docker --version
Docker version 17.09.1-ce, build 0bbe3ac

I have installed through container station menus and taken screenshots for every step of the way, I will try and send it to you.

Thanks. That version of Docker is a decade old. There’s no excuse for QNAP to run outdated binaries.

They want you to buy a new QNAP!

To be fair, you can install your own OS and boot from an SSD for example but the QTS integration is good with the hardware, I am just trying to overcome the restrictions.

Thank you for your help.