Page 1 of 1

UMS and OMV

Posted: Fri Feb 14, 2025 1:32 am
by Nierewa
Hi,

I use Openmediavault with docker.
So I was able to install UMS.

I created a datapool with SnapRaid and mergeFS.
The folder root is /srv/mergerfs/datapool/media

How can I add this folder to UMS shares?

Re: UMS and OMV

Posted: Fri Feb 14, 2025 5:29 am
by mik_s
It should just be the same as any other shared folder, but I know next to nothing about Linux so don't know if there is anything specific you need to do.
@boss knows a lot more about Linux than me so he could confirm this.

There is also this guide for installing Docker so it might be covered in there.

Re: UMS and OMV

Posted: Fri Feb 14, 2025 1:18 pm
by boss
The syntax for shares on a Linux machine is like this:

Code: Select all

[
  {
    "file": "/mnt/media/Images",
    "monitored": false,
    "metadata": true,
    "active": true,
    "type": "Folder"
  },
  {
    "file": "/mnt/media/Music",
    "monitored": false,
    "metadata": true,
    "active": true,
    "type": "Folder"
  },
  {
    "file": "/mnt/media/Music Videos",
    "monitored": false,
    "metadata": true,
    "active": true,
    "type": "Folder"
  },
  {
    "file": "/mnt/media/Videos/Movies",
    "monitored": false,
    "metadata": true,
    "active": true,
    "type": "Folder"
  },
  {
    "file": "/mnt/media/Videos/TV Series",
    "monitored": false,
    "metadata": true,
    "active": true,
    "type": "Folder"
  }
]

Re: UMS and OMV

Posted: Fri Feb 14, 2025 9:52 pm
by Nierewa
Sorry, I'm a noob.
Where should I edit?

I found ums.conf in /data/appdata/ums/UMS.conf, but if I open it with nano it says ums.conf is a directory.
container.png
container.png (32 KiB) Viewed 5717 times
Or have I edit here:
Compose_file_edit.png
Compose_file_edit.png (34.23 KiB) Viewed 5717 times

Re: UMS and OMV

Posted: Sat Feb 15, 2025 3:26 am
by mik_s
You can set up shared content in the web interface. Just enter the location of the folder you want to share.
Screenshot 2025-02-14 150313.png
Screenshot 2025-02-14 150313.png (10.56 KiB) Viewed 5590 times
Screenshot 2025-02-14 150340.png
Screenshot 2025-02-14 150340.png (23.43 KiB) Viewed 5590 times
You can also set this up by editing the SHARED.conf file in a text editor as @boss shows.

I don't know if there are any more steps to set up a share with Docker but that guide should have everything you need.
UMS.conf is the program settings so you don't need to edit this. I think you actually defined that file as a folder in Docker if I am understanding the screenshot but this may be correct. I think it is there to allow you to edit it outside the container.
I think you also need to change the "CHANGE_TO_COMPOSE_DATA_PATH" to the actual path unless this is some keyword.
The 2 media entries can be what you want so just change it to "/srv/mergerfs/datapool/media/:/media:ro" and I think this will be able to be shared with the folder as "/data/media" in shared content.
This is all guesswork as I know even less about Docker than Linux, but hopefully should point you in the right direction.

Re: UMS and OMV

Posted: Sat Feb 15, 2025 5:10 am
by Nierewa
The 2 media entries can be what you want so just change it to "/srv/mergerfs/datapool/media/:/media:ro" and I think this will be able to be shared with the folder as "/data/media" in shared content.
Now it works. Thanks a lot.

But there is still a problem. Shutdown doesn't work anymore.
Enabled as in this threat: viewtopic.php?t=13554 it worked flawless without docker.
But with docker the shutdown has no function. This is the most important function I need.

The docker log file:

Code: Select all

ERROR 16:44:20.742 [jupnp-stream-server-75] Error while shutting down computer: Cannot run program "shutdown": error=2, No such file or directory
java.io.IOException: Cannot run program "shutdown": error=2, No such file or directory
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1143)
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1073)
	at java.base/java.lang.Runtime.exec(Runtime.java:594)
	at java.base/java.lang.Runtime.exec(Runtime.java:453)
	at net.pms.util.ProcessUtil.shutDownComputer(ProcessUtil.java:257)
	at net.pms.store.container.ServerSettingsFolder$4.enable(ServerSettingsFolder.java:138)
	at net.pms.store.item.VirtualVideoAction.getInputStream(VirtualVideoAction.java:114)
	at net.pms.store.StoreItem.getInputStream(StoreItem.java:854)
	at net.pms.store.StoreItem.getInputStream(StoreItem.java:784)
	at net.pms.network.mediaserver.servlets.MediaServerServlet.sendMediaResponse(MediaServerServlet.java:462)
	at net.pms.network.mediaserver.servlets.MediaServerServlet.doGetHead(MediaServerServlet.java:164)
	at net.pms.network.mediaserver.servlets.MediaServerServlet.doGet(MediaServerServlet.java:88)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:527)
	at net.pms.network.mediaserver.servlets.MediaServerHttpServlet.service(MediaServerHttpServlet.java:35)
	at jakarta.servlet.http.HttpServlet.service(HttpServlet.java:614)
	at org.eclipse.jetty.ee10.servlet.ServletHolder.handle(ServletHolder.java:736)
	at org.eclipse.jetty.ee10.servlet.ServletHandler$ChainEnd.doFilter(ServletHandler.java:1619)
	at org.eclipse.jetty.ee10.servlet.ServletHandler$MappedServlet.handle(ServletHandler.java:1552)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.dispatch(ServletChannel.java:819)
	at org.eclipse.jetty.ee10.servlet.ServletChannel.handle(ServletChannel.java:436)
	at org.eclipse.jetty.ee10.servlet.ServletHandler.handle(ServletHandler.java:469)
	at org.eclipse.jetty.server.handler.ContextHandler.handle(ContextHandler.java:1060)
	at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:151)
	at org.eclipse.jetty.server.Server.handle(Server.java:182)
	at org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:662)
	at org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:418)
	at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:322)
	at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:99)
	at org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:53)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:480)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:443)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:293)
	at org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:201)
	at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:311)
	at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:979)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1209)
	at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1164)
	at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: java.io.IOException: error=2, No such file or directory
	at java.base/java.lang.ProcessImpl.forkAndExec(Native Method)
	at java.base/java.lang.ProcessImpl.<init>(ProcessImpl.java:314)
	at java.base/java.lang.ProcessImpl.start(ProcessImpl.java:244)
	at java.base/java.lang.ProcessBuilder.start(ProcessBuilder.java:1110)
	... 37 common frames omitted

Re: UMS and OMV

Posted: Sat Feb 15, 2025 8:16 am
by mik_s
This is probably some permissions issue in Linux as from what I understand Docker is an isolated environment so would not be able to execute commands affecting the main system.