network_mode: host is recommended because it makes Roon discovery work properly (Roon Remote can find the server easily).
Change /DATA/Media/Music if your music is stored somewhere else.
:ro means read-only (safer)
The Docker image is published under elgeeko/roon-server and version tags are available.
Step 3: Confirm it is running
Run:
docker ps
You should see roon-server running.
Step 4: Connect from your phone / PC
Install Roon Remote on your phone/computer (same network) and it should detect the server automatically.
If you are unsure of your music folder path, run:
ls -lah /DATA
ls -lah /DATA/Media
Small tip: I personally use the ZimaOS Compose Toolbox app and it’s excellent — it validates your Compose YAML and confirms the script is correct before you deploy, which avoids most beginner mistakes.
I just modified the installation location of the official Roon script, and the user’s application data will be installed in ZimaOS-HD/AppData/roon by default, and the main application will be installed in /opt/roon by default. Everything else remains original.
From the last time Roon was functionning well on ZimaOS with the description to install it . I could connect to roon server from my pc computer or my Iphone or my ipad. From today i’ can’t connect nothing to the roon server. Do you think it is problem of a version of roon or a ZimaOS. Do you have some idea ?
If it was working before and suddenly nothing can connect (PC, iPhone, iPad), this is very unlikely to be a “Roon version” issue. It’s usually one of these:
The Roon service/container stopped
The network mode changed
A ZimaOS update restarted Docker
The database got stuck during an update
Let’s check a few simple things first.
1/ Check if Roon is actually running
Open Terminal and run:
docker ps
Do you see roon-server running?
If not, check:
docker ps -a
If it shows “Exited”, restart it:
docker restart roon-server
2/ If you installed using Jerry’s script (native install)
Then it is not Docker. Check the service:
ps aux | grep Roon
Or try restarting it:
sudo systemctl restart roonserver
(If systemctl does not exist, tell me, ZimaOS is Buildroot-based and service control can differ.)
3/ Quick network check
If Roon is running but devices cannot see it:
Reboot the ZimaOS machine once
Reboot your router
Make sure you did not enable a VPN on the server
Make sure the container is still using network_mode: host
Roon discovery is very sensitive to network changes.
4/ Check logs (important)
If Docker version:
docker logs roon-server --tail 50
If native install:
journalctl -u roonserver --no-pager | tail -50
Post the output here.
My guess (most common cause):
The container stopped after an automatic Roon update or Docker restart.
Let’s confirm whether it is running first, that will tell us which direction to go.
About the problem first It was an update of Roon server then
the Roon server was running but not possibility to connect . To fix the problem I had to follow the quick network check you discribe to do.
I think the the reboot router was the problem !!!
I did a check logs with the result :
at Sooloos.RnetJsonClient.<>c__DisplayClass65_0.<_BeginRead>b__0(IAsyncResult ar)
System.Net.Sockets.SocketException (104): Connection reset by peer
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken)
at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token)
at System.Threading.Tasks.ValueTask1.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state) --- End of stack trace from previous location --- at System.Threading.Tasks.TaskToApm.End[TResult](IAsyncResult asyncResult) at Sooloos.RnetJsonClient.<>c__DisplayClass65_0.<_BeginRead>b__0(IAsyncResult ar) System.Net.Sockets.SocketException (104): Connection reset by peer at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.ThrowException(SocketError error, CancellationToken cancellationToken) at System.Net.Sockets.Socket.AwaitableSocketAsyncEventArgs.System.Threading.Tasks.Sources.IValueTaskSource<System.Int32>.GetResult(Int16 token) at System.Threading.Tasks.ValueTask1.ValueTaskSourceAsTask.<>c.<.cctor>b__4_0(Object state)
— End of stack trace from previous location —
That all makes sense, and you diagnosed it perfectly
The log message:
SocketException (104): Connection reset by peer
is almost always a network interruption, not a Roon failure. In simple terms, something on the network (usually the router) dropped the connection while Roon was restarting after the update.
Since the server was running and rebooting the router fixed it, this confirms it was a network state issue, not ZimaOS and not a broken Roon install.
Roon relies heavily on local network discovery, and sometimes routers don’t refresh properly after updates. A router reboot clears that state and everything reconnects cleanly.
I tried that too, but unfortunately it didn’t work to install the Roon Server via the script… How can I uninstall the remaining Roon components now?
Yes, but that didn’t work, and now I have parts of the Roon server in the system and can’t remove them because no application is installed to remove them.
I’ve tested this installation script on Zimaos many times. I’m curious to know what kind of issues you’ve encountered. Could you tell me about them?