Roon Core in a Virtual Linux Machine

So, I instanced a Virtual Machine on a headless server and I’m running there the roonserver to perform as a Roon Core in my home network. My Core gets the audio files over a network share.

If anyone is interested, I’m writing the setup instructions and I could post those here.

More details for the avid reader:

  1. The VM runs on vagrant using VirtualBox which makes it possible to run on a number of distributions. I run it in Fedora Server.
  2. The VM itself is a Fedora 32 Server. It starts from a stripped minimal image and installs only the required packages. I applied some previous knowledge from this forum to get around SELinux and the Firewall.
  3. The VM was tested on an i7 NUC using 2 cores and 2GB RAM and it sustained 3 devices simultaneously without reaching processor/memory limits. No audible blips either. I am guessing it could run on less than those resources but not a subject of my interest at the moment.

Let me know in the comments if you’d like to know more about it.

2 Likes

I’m interested, especially in the provisioning part. I’m playing at using Ansible to roll out a server and generic Linux based endpoints over SSH. Teasing apart this part from the Vagrantfile would allow the same rollout to be used on NUCs and other real hardware as well as VMs. Feel free to PM me with a copy of the your Vagrantfile or continue in public if you prefer.

It’s bedtime where I am, in fact past bedtime so no replies for a few hours.

I have my Roon running in a headless Virtualbox environment on a FreeBSD host without any problems for 1,5 years now. The guest ist running a vanilla Ubuntu 16 LTS Server and has 4 cores assigned (of 12/24) and 4GB RAM.

First I tried mounting the music data (from freebsd/zfs on a 4x14TB RAIDZ) via NFS, but did never find out why I got miserable performance from that. Since I switched to mount_smb it works like a charm.

While I manage the rest of my IT-world, including my other VMs with Ansible, I did not use it for my Roon VM, since it is completely self managed after installation anyway :slight_smile:

Wow, 1.5 years is a long time and I’m glad to see it can run smooth for that long, considering that it auto-updates.

I had a WIN10 VM running Core on a dual Xeon machine under Ubuntu.

This winter, one of my projects is to get ROCK on a VM.

Thinking of using a Proxmox hypervisor.

The 16.04 guest will need updating to stay up to date with security patches and the like. The other consideration is security updates end April next year:

Support lifespan
Ubuntu 16.04 LTS will be supported for 5 years for Ubuntu Desktop, Ubuntu Server, Ubuntu Core, and Ubuntu Kylin. All other flavours will be supported for 3 years.

Sooner or later…

Wow, 1.5 years is a long time

Surely there were some reboots of the host system between (for hardware changes), but no “reboots” of the VM were necessary.

Sooner or later…

I’m afraid, yes. Ubuntu Server 16.4 was just around, when made my first experiments with the roon VM. However temporary solutions are the ones that last the longest :wink:

Maybe for the next one I’ll get something more lightweighted, selfupdating…

I have ROON Core as Debian Buster ESXi VM.
Music is on Openmediavault NAS on the same ESXi host.
Used to have a DietPi VM before, but changed to vanilla Debian and I am very happy.

1 Like

My setup:

  • Roon Core
  • Ubuntu Server 18.04 LXC container, inside
  • Proxmox VE
  • Headless Dell 9020 i7, 16Gb RAM, 128Gb SSD
  • Library on Synology 1517 NAS

Incredibly stable and trouble free, and scheduled daily backups of the Room VM to the NAS makes it incredibly easy to restore in the event something gets FUBAR (hasn’t happened yet).

Highly recommend Proxmox. Free, incredibly slick virtualisation, with an amazing GUI. I run a bunch of applications in separate containers on Proxmox including Plex, Roon, etc.

2 Likes

@mentalfloss hello,
how are you running roon core as a container? If so, how did you create that container? thanks!

Create a linux container under proxmox, there you install Roon core as usual.
A container is sort of a stripped-down virtual machine, using less ressources.

cf.

I installed a ROCK as virtual machine on VMware. Sound quality is better than install on a physical NUC.

Hi John. I’m running the Proxmox VE (virtual environment) on an ex-lease Dell workstation that sits in the basement. There are good instructions on how to install Proxmox on bare metal on their site.

I use Proxmox to host a bunch of Linux VMs and containers for different applications including Roon - generally 1 app per container as this makes restoration very simple if anything goes wrong. Building a new container with your preferred flavour of linux is a 2 minute job from the Proxmox GUI once Proxmox is installed using the template library available in Proxmox.

Once installed the container acts pretty much identically to a linux VM. You then just follow the instructions on installing Roon Core in linux from the command line.

Dependning on your set up there may be little bit of configuration required to make sure your Roon container has access to your music library etc (mine is on a Synology NAS accessed via SMB) but this is all well documented on the Proxmox site e.g. Storage.

Note I’m a tinkerer but by no means a Linux guru, and found this pretty easy to set up. Almost everything can be done via the Proxmox GUI in you browser.

I’m a big fan of running Roon this way. The performance is fine (I have 5 Roon endpoints and it all works seamlessly and is very reliable). And it is very easy to manage - doesn’t require it’s own machine, easy to restore and upgrade. All my containers are backed up daily to my NAS (using the backup tool built into Proxmox).

This is a really helpful post.

I’m currently debating removing Win10 from my 7th gen i5 NUC 2(4) core with 8GB RAM, 125GB M.2 OS disk and 500GB sata SSD that runs only Roon Core and PLEX Server. Roon is the only user of the media disk now, PLEX uses my NAS for media storage. I only leverage the compute from the NUC to help in speeding up browsing media, transcoding etc. (compared to my NAS where I had PLEX installed before).

I was considering Proxmox with either ROCK in a LXC or a full Ubuntu VM for Roon Core. The only thing is that ROCK requires an OS disk and a media disk to expose via SMB, and I am not sure how to do that (no prior experience with Proxmox) as I also need an OS disk for the proxmox server itself. I guess I can partition the 500GB HDD for the VM’s OS and the media disk as well?

I have a database / registry back-up for my plex server in Windows but I don’t think I can restore that on a Linux VM/Container, meaning I would lose my metadata. This is not critical as PLEX is not used much, but still… I have considered setting up a Windows VM just for PLEX as well.

Since the NUC is a bit low on resources, I am still wondering what the best use case would be to optimize the usage of the available resources.

Hey, have you checked if your NAS has an app for plex?

I have tried it before, but the CPU in my NAS is inadequate for a pleasant experience. Especially pictures load exceptionally slow when the NAS has to process them for display on a TV. I’ve since moved PLEX to the NUC, and that works great. Until RoonARC, I used PLEX for out-of-home streaming of both Tidal and my local files, but that era is over now with ARC. I love that feature…

I understand, that is a reality with NAS hardware sometimes being short of resources for something like a Plex server.

I run my Roon Server in a VM limited to 2 cores and 2GB RAM. I use Vagrant [link] as the VM manager and Virtualbox as the VM platform. There are instructions over [here] for the docker version of the Roon server.

I would assume your NUC will be okay with running a Roon core and a Plex server at the same time but likely you won’t be able to do much more than that, for reliability reasons. Two VMs should work fine, I assume if you chose 2 containers would be okay as well.

Seems also like the ROCK on proxmox was done [here].

The thing about the partitions and the disks you ask should be managed directly by proxmox (having enough space in virtual disks for roon and for Plex) so I wouldn’t do sub-partitioning of the NUC drives.

Thanks for your reply.

Proxmox would be my hypervisor of choice, but given the fact that it would add overhead on an already rather anemic device would make that I would likely not gain much over my current “native” setup on Win10 besides the learning experience of setting it up and managing the host. And, perhaps also the option to migrate the VMs / containers to another host once the day comes to retire the hardware…

I’ve since read up, and it seems LXC containers are a more resource-conservative option besides full VMs. ROCK and PLEX on Ubuntu can run that way it seems… It seems like the smarter option besides 2 full VMs on this hardware…

I’m torn…

1 Like

If you’re thinking LXC I’d take a look at Docker containers as well. They’re more widely used and help will be easier to come by.