Roon on Docker using Truecarts template in Truenas scale

Thanks for your answer. I finally managed to make it work by using the option " Provide access to node network namespace for the workload " instead of configuring network.

Thanks, this is pretty cool!

Simplified the networking section using DHCP (Add external interfaces, set it to DHCP, no extra DNS entry needed).
For the volumes, created subdirectories roonserver/{app,data,backup} within a zfs dataset apps from the command line.

Thank you all. This setup worked perfectly for me on TrueNAS SCALE Dragonfish. Easy.

For those still interested in running Roon on TrueNAS, I ended giving up on TrueNAS apps, I could never get Roon to run perfectly and especially ARC had issues.

Then I found Jailmaker and I absolutely love it.

Jailmaker lets you run “jails” which act a bit like a VM, but perform like a container and much better than TrueNAS apps!

I simply created a standard default “jail” running debian and installed Roonserver for linux in that jail. I can passthrough storage from TrueNAS via the jails config file.

It may sound a bit overwhelming, but it was surprisingly easy to setup and get going.
Check the GitHub, it also has link to some YouTube videos that can walk you through the setup.

You could be running it in a vm with linux in truenas scale, that’s what I’ve been doing for the past year and arc works perfectly fine that way. But with new os update coming (electric eel) it will be replacing Kubernetes with docker natively :slight_smile:

Well that’s the thing, I didn’t want to dedicate X amount of RAM and cores to a Roon VM.

With a jail Roon can use all of my RAM and cores and will let them go when not in use.
So all of the benefits of a VM, but less overhead and access to all resources.

Even with Native docker support I will be keeping Roon in a Jail. And I’m not using docker to run Roon, just followed the official documentation to install Roon server on Linux.

I like that the Roon jail has its own IP, I can assign DHCP reservations etc. (like with a VM)
Docker would screw with that, no thank you.

I may move other apps back to TrueNAS with native docker, but I’m in no rush, The overhead of running a jail is so small that I’m not sure I want to bother with changing it.

Currently I’m running 2 jails, one for Roon and one for Docker, all my other apps run in the docker jail via Dockge.

I totally get it. I wanted to move this summer to a jail but the projet is in EOL soon so to me this isn’t the best option either… Might have to move to docker :smiley:

Nothing seems to suggest that Jailmaker will be EOL? There’s valid reasons to use both.
Some things are just better suited for a VM/Jail/LXC like deployment and other things run just fine with docker.

I run around 25 different apps and services on my TrueNAS and Roon is the only thing I run natively in a jail. Updates are handled by the client anyway so didn’t see the reason to add another layer on docker on top. I used to run it in docker before I moved to TrueNAS. And for me this is the best Roon server experience I have ever had. It just works.

Storage is also simple, no NFS stuff, just bind mount via config file (a bit like with docker bind mount)

The latest TrueNAS beta has the docker integration, if you dare to run beta you can switch trains in the gui and upgrade and get the native docker now. I’ll wait since I already have that with Jailmaker :wink:

That’s the post I was referring too concerning the EOL:

I see, I guess the future in uncertain, but what I read from that was that updates are coming, likely in October, and then the project could, hopefully, be adopted by a new maintainer or maybe, with a little luck, adopted as TrueNAS middleware.

So, while the future is unknown, it’s not like it’s going to stop working and it will be compatible with at least 24.04, and then I guess we’ll see what the future brings.

At the moment I’m not too worried.

steefdebruijn works in the beta. Native docker apps are not supported in the gui, but you can install with docker compose.

Found one quirk: airplay devices are not found. Works in another docker environment, so this is a bug in truenas.

I have given up using Truenas scale for anything else as a Nas.
Now, I run everything in separate virtual machines with Proxmox and use Truenas exclusively as a Nas.

4 Proxmox VMs :

Works great, I should have done this years earlier

I ran Roon in Docker for years, but I prefer running it in a Jail

You have lots of options with virtualization.
I also had Truenas scale under Proxmox (still keep it) and moved anything (file server, docker, roon server) to one debian vm with zfs storage. Use zfs replication (proxmox-autosnap) to another Truenas scale server.

I kinda do the same thing but with jails, which are most comparable with Proxmox LXC containers, but using systemd-nspawn.

I been around the block, first with debian + docker, then proxmox with TrueNAS in a VM, before ending up on bare metal TrueNAS.

So atm. I have disabled the app and VM stuff entirely and run my stuff in Jails. I use jails as you would VM’s. Your setup is a pretty good candidate for jails, if the future weren’t so uncertain, and if you seek to have everything in one box.

No need to split up resources between VM’s, no messing with NFS shares for storage to the VM’s, less overhead, all jails have access to all CPU and RAM resources, etc. There are quite a few benefits and so far, for my use, no downsides.

I will likely move most of my apps to native docker eventually to save the overhead, albeit very small, but some apps are just better suited for a jail, like Roon, home assistant OS etc.

Hopefully the project will continue under new managent and we can continue to use jails on TrueNAS Scale.

Hi Jesper,

checked out jlmkr under 24.10-BETA. Same issue with roon as under docker, no airplay. Don’t use arc, so cannot test that. Squeezelite does work.

They have a nice little interface for managing docker apps (install, start, stop, logs).

image

Installed the Fangtooth nightly build.

Incus containers are already available, from the command line and from the gui with basic features. This is early development, so there are some caveats (after an upgrade the incus environment is broken, export is your friend). Roon runs no problem.

Incus containers are by default unprivileged (you could make them privileged), whereas jlmkr behave like privileged, so they are much easier to manage.

The jlmkr script still works. So you will have docker, incus and jlmkr, as long as it works.
Question is what you like better and what is better regarding resources.