Roon Server Early Access on DietPi X86

I use DietPi on x86 hosted on a NUC to run my Roon Server.

Earlier today, I was asked (by PM) about some details of the Roon Server on DietPi experience and it occurred to me that there was one aspect about which I didn’t know the answer.

Specifically, when running Roon Server on DietPi, what is the best way to change from the production release to the early access release and vice-versa? Is it even supported?

I imagine that the Roon Server install script (as used by dietpi-software) will only install the production version of Roon Server and, this being so, thus it should be done using the generic linux instructions at:

Which in turn references the linux install procedure at:

Looking at the easy install script linked to from the above site, there are comments saying that " - $PACKAGE_NAME’s data will be stored in /var/roon/$PACKAGE_NAME" and the script sets and exports a couple of environment variables that refer to this location.

However, on DietPi, I believe that the data is stored in /mnt/dietpi_userdata/roonserver.

Thus, it looks to me like the easy install script may not be compatible with a Dietpi Roon Server installation.

If this is the case, is there a recommended way of change to the early access build of Roon Server (and back to production) given an installation of Roon Server originally installed by the dietpi-software script?

Is it simply a case of uncompressing the contents of the full package and using them to overwrite the contents of /opt/roonserver?

1 Like

I imagine that, in principle, the same questions could be raised regarding the use of early access versions of Roon Bridge on dietpi for x86 and other architectures.

However, because Roon Bridge does not get updated very often (it has not changed in the time that I have been using Roon - about a year - and probably quite a bit longer) there is not usually a need to worry about such migrations because there is usually no early access version of Roon Bridge made available.

You are right in both points:

  • dietpi-software installs the stable version linked in the manual install section of the install docs you linked, without an option for the early access version.
  • It installs the binary files to /opt/roonserver and creates a systemd unit /etc/systemd/system/roonserver.service which sets /mnt/dietpi_userdata/roonserver as data dir, via environment variables. The Roon installer sets it up differently, hence is not compatible with this setup. However, you can of course run the installer on DietPi instead of installing Roon Server via dietpi-software.

The early access version is however available as archive just like the stable version: https://download.roonlabs.net/builds/earlyaccess/RoonServer_linuxx64.tar.bz2

So replacing the download link in dietpi-software should do it:

sed -i 's|RoonServer_linuxx64.tar.bz2|earlyaccess/RoonServer_linuxx64.tar.bz2|' /boot/dietpi/dietpi-software

I am not sure how large the interest for this is, but theoretically we could add a dietpi.txt setting and/or dialogue to choose between stable and early access version.

4 Likes

And presumably to go back to the production build it would be:

sed -i 's|earlyaccess/RoonServer_linuxx64.tar.bz2|RoonServer_linuxx64.tar.bz2|' /boot/dietpi/dietpi-software

For me, simply having these two scripts available would be good enough. I wouldn’t need a dietpi.txt setting.

However, a dietpi.txt setting may make things easier in principle. For example, I imagine the dietpi-software script could get overwritten when dietpi-update detects and installs a new version of dietpi whereas the dietpi.txt file (or at least its contents) would be preserved at least to the extent that its contents are compatible with the new version.

You can install it but need to make sure you set the environ variables for the install location etc to match Dietpis install as it uses customises it so it’s on your userdata drive and not where roon normally puts your data. If using the simple installer you need to edit that before running the install. If you don’t have it setup as the dietpi installer db won’t maintained on update.

Yes exactly, that would revert it, and also any dietpi-update would revert it. So for a persistent solution, a dietpi.txt setting or dialogue would be required.

@Simon_Arnold3 of course you could also edit the installer accordingly. But this would imply several things: Install dir, data dir, systemd service. And what works now might not work in the future if the installer is changed at some point. Editing a single URL in dietpi-software is easier and safer. Otherwise, I’d use the installer only, and not dietpi-software. The result is practically not so much different, to be true:

  • roonserver user vs root user (probably the biggest argument for DietPi)
  • /opt/roonserver vs /opt/RoonServer
  • /mnt/dietpi_userdata/roonserver vs /var/roon
  • /var/log/roonserver vs /var/roon/Logs
1 Like

So best solution is to edit the dietpi.txt with the path to EA download then? Or using sed?

At present, ‘sed’ is the only option to change the behaviour of dietpi-software.

@MichaIng was suggesting that a possible future enhancement may be to make dietpi-software look at a setting in dietpi.txt to determine which of the two download locations to use to get the manual install package.

2 Likes

Thanks Wade.

1 Like