My experiences with Rock and a 500k+ tracks library

With a 500K track library you are almost certainly into the multiple 12TB spinning drive scenario… I an out space at 12TB drive for a measly 200K library. This has meant back to NAS as my windows based i7-7700 fanless chassis will only support 1 x 3.5" drive … and it was a noisy drive too…so I am looking at another option perhaps raid 0 based external USB3 or splitting my music over 2 volumes. My NAS is 6 x 6TB raid 5 or another 2 x 12TB JBOD that back up each other

Hi Tony

It depends on the physical size of the drive, not the capacity.
The drive can only be not higher than 7 mm, so most (if not all) drives with more than 2 TB are too high to fit in the NUC :frowning_face:

Thanks but 70mm? Are you sure, sounds massive, the NUC is about that tall itself! thought the limits was more like 9mm or so? I have the 7i7BNH which is quite slim.

Sorry, you are right. I meant 7mm and I changed it in the posting above :flushed:

No probs, the spec says 9.5mm, which means a laptop type drive will be required (7mm), as all the others are usually 15mm.
Apologies for going OT!

Yeah, none of the stuff I was complaining about really applies if you are runnnig Roon on the NAS itself—since then there is no networked filesystem involved.

The main caveat with running roon on a NAS is that many of them have underpowered CPUs, and it is easy to end up with Roon’s database on a spinning disk, which isn’t great…but both of those are surmountable by making good hardware/configuration choices.

Hey Brian. Forgive this silly question.

But does this ~500k number only apply to 500k locally stored files or does the same apply to a Roon library that had 500k Tidal tracks?

Or does it apply equally to both?

Assume that all background audio analysis has been fully completed for a 500k locally stored library.

Equally to both. Database works just as hard in both cases to manage the content…


I run a large library on 4x6TB in a USB3.0 box. Raid 0.

Backed up to several NAS and other USB drives.

Works very well with snappy responses with all tasks.

I have 6x6tb in my nas as shr and about to add another 2 x 6tb drives one for data and another as spare

My other nas has 2 x 12tb jbod as backups. I have maybe 10 other 6tb drives around for other backups…I’m well sorted :slight_smile:

So, @brian: if I’m migrating a library to a completely different server which has exactly the same music files, except that the paths to them might be completely rearranged (either because of a regrouping to split things across available physical devices on a new Linux server or the above PLUS moving to a Windows environment with freakin’ drive letters)…

Is this How do I move my collection to a new folder, hard drive or NAS, Will I lose my edits? the complete how-to (perhaps along with the companion KB entry “How do I move my Roon library to a new computer?”), or are there any other best practices one should be aware of?

Basically, our existing RoonServer setup is, um, suboptimal in a number of ways, one of which is that the tracks are being read from two distinct mounted volume shares from NASes, and (because of history having to do with how music is stored on those shares, with some areas holding tracks Roon should index and other areas holding tracks which should not go into the Roon library) there are cough seventeen distinct watched folders set up in Roon, pointing at subtrees within those two mounted shares.

My plan is to have the new Roon server read tracks from three internal spinning disks, each one containing only tracks Roon should read (the weird earlier go/no-go rules now incorporated in the script which will keep the internal disks updated from the NAS masters rather than in Roon’s watched folders lists), and have just three watched folders: one for the top of the tree of tracks on each physical local track-storage disk. Any obvious problem with that scheme?

…and if I follow the advice above (disable, apparently no need to actually delete, all the watched directories in the current RoonServer, then shut down and grab a database backup, then migrate that database to the new hardware) – Roon should actually recognize albums in all those different places, and retain my laborious edits over the last couple of years like gathering multi-disk sets together into one album, finding an existing release to tie unrecognized albums together, per-album tag and image source overrides, track and album tagging?

Also… to try to minimize downtime, I’ve been thinking of getting the new server going and tested with a 60-day trial license, then rolling the production database in. Are there any gotchas there?

@danny and @brian, you guys rock. it’s a pleasure to work with your stuff.

1 Like

Your scheme sounds fine to me.

That KB Page was written carefully. @danny, @mike, and I spent a couple of hours figuring out exactly what the best order for the steps was and how to communicate it. It’s good. You should follow it :slight_smile:

Roon stores library content segmented by account ID, so if you switch logins, you don’t end up loading the same db. Use the trial account to test your migration procedure, make sure you’re satisfied + there are no issues, then repeat it for real on the real account.

Don’t hesitate to get in touch during the procedure if anything feels wrong.

1 Like

Cool. Fancy overfast 8th-gen i7 machine configured; cough Windows 10 stuck on there; codec support added back because I didn’t realize Win 10 Pro N left out stuff RoonServer would want; RoonServer up and running with a trial license while I stress test the machine some with a full import of the tracks which will have to be re-introduced later…

I’m trying to figure out how to specify the location for the Roon database on Win10. I have a blazing NVMe Samsung 970 Pro on the motherboard as a completely separate disk from the boot disk, and that’s where the Roon database should live… I’m not finding instructions for how to specify that separate database location to a Win10 RoonServer.

I see that there’s some stuff under


so I’m wondering if the database lives under there, and if it could be pointed somewhere else with… what, a symlink, or that Windows-y join thing?

There are also those foo.exe.config files, so I wonder if modifying those would be part of controlling where the database lives…

…and when I roll in my backup of the production Roon database from the current (Linux) server, will that funny number be different?

Basically, how do I do this properly?


We don’t support custom database folder locations on Windows/Mac. Danny or I did a long write-up on why once, but I’m having trouble finding it. I don’t think anything bad will happen if you figure something out in Windows. If you do, redirect at the RoonServer folder level.

The funny number will be different, and so will some of the DB contents–which will reference the different account/profile ids. That’s why you should import using the “real” account once you’re past the test-run phase.

1 Like

You are thinking of “junction”. That’s the magic link type you need to cross physical disc boundaries. You’d use the mklink command to make a junction from User\AppData\Local\RoonServer to a RoonServer folder you create wherever you want on the Samsung NVMe drive. Using a junction, Roon won’t even know its walked through a reparse point…

Make sure to shut Roon down entirely, then MOVE the RoonServer directory from User\AppData\Local to wherever you want it, then make the junction in place of the original directory to point at the relocated directory.

1 Like

Thanks! Some hours after I posted the above, while walking down the street, I thought: “I think I pulled out the wrong J-word when I wrote that post.”

1 Like

Thanks for indulging me! I’ll give that approach a try.

One sub-thing I wanted to attempt to do – since I’m going through the bother of trying to make this particular server damn close to optimal for RoonServer – was to see if I could get Roon’s logs (since I’ve noticed Roon can occasionally be pretty chatty) going to a different device from the Core database itself. Probably not enough of a factor to be worth thinking about, really, but it’d be interesting to know if the logs get written under the RoonServer folder or in some Windows system place.

If I can move this RoonServer folder without causing any kind of allergy fit from RoonServer, I’ll be happy to stop there.

Also – if it would be in any way less troublesome or fragile for me to just relocate the entire user home directory for the user which owns and has installed RoonServer to the speedy database SSD volume, I’d be happy to go with that approach instead.

Logs are written in RoonServer/Logs.

Putting them on a separate volume is a pretty small optimization, though. I wouldn’t worry about it, personally.

Might be. We are going to put our stuff in whatever Windows thinks of as %LocalAppData% (You can do Start->Run and type that in to locate the folder). Moving the user’s folder is definitely a cleaner way…

At least on Linux, RoonServer rotates log files when they hit 8MB in size, and keeps a maximum of twenty. So you won’t really gain much here. You’re looking at a max of 160MB for the logs…