Jump to content
rotiik

How to get docker to use a share instead of a single disk?

9 posts in this topic Last Reply

Recommended Posts

My current set-up is an unRaid server running 3x2TB Seagate drives on an older Dell system as well as a secondary server running Plex on Ubuntu 20.04. My ubuntu install mounts a share set up on my unRaid server that has all of my Plex data.

In addition to just running shares, my unraid server also runs haugene's transmission-openvpn docker container for torrents, something that I have noticed with this docker container is that it does not read or write any data to my /mnt/disk2 since I have set up with docker that it downloads data to /mnt/disk1/data.

I am currently in the midst of building an unRaid server that will have enough power to do both of these things so that I can consolidate them both into a single box. My issue is that as my dockerized Plex library expands, I am scared that it will only be able to use 1 disk rather than all of the disks in my pool. Is there a way to get around this fact?

Share this post


Link to post

Most likely it is just the default highwater allocation method of the share you are writing to. Once enough data has been written to disk1 it will go to the next disk. The first highwater is at half-full.

Share this post


Link to post
9 minutes ago, trurl said:

Most likely it is just the default highwater allocation method of the share you are writing to. Once enough data has been written to disk1 it will go to the next disk. The first highwater is at half-full.

Is there an option to set this to most-free like I have set for my shares?

Share this post


Link to post

I was talking about your shares. If you have the docker configured to write to a share then it will be using whatever allocation method the share is set for. Your docker won't even know disk1 exists unless you have mapped it.

 

Go to Tools - Diagnostics and attach the complete Diagnostics ZIP file to your NEXT post.

 

Also post the docker run command for the docker in question, as explained in this very first link in the Docker FAQ:

 

 

Share this post


Link to post
2 minutes ago, rotiik said:

Is there an option to set this to most-free like I have set for my shares?

Are you referring to some docker container configuration?

 

If so, the answer is No.

 

If you are concerned that Plex as a docker won't use all disks then perhaps you are confused about how docker containers are configured. 

 

The Plex container is just going to access the media from whatever share(s) you tell it to access for populating Plex libraries.  You can have one top-level share for all of your media with it organized by sub-folders or a separate share for each media type.

 

You control actually moving the content into the share(s) and they obey whatever allocation and split-level settings you have configured as content is written to the shares.

 

The only content Plex will actually write to the shares is content you may record if you are using the Plex DVR functionality.

 

The Plex metadata and configuration files will live in the appdata share (usually on a cache drive/pool).  This location is separate from the actual media managed by Plex.

Share this post


Link to post
55 minutes ago, Hoopster said:

Are you referring to some docker container configuration?

 

If so, the answer is No.

 

If you are concerned that Plex as a docker won't use all disks then perhaps you are confused about how docker containers are configured. 

 

The Plex container is just going to access the media from whatever share(s) you tell it to access for populating Plex libraries.  You can have one top-level share for all of your media with it organized by sub-folders or a separate share for each media type.

 

You control actually moving the content into the share(s) and they obey whatever allocation and split-level settings you have configured as content is written to the shares.

 

The only content Plex will actually write to the shares is content you may record if you are using the Plex DVR functionality.

 

The Plex metadata and configuration files will live in the appdata share (usually on a cache drive/pool).  This location is separate from the actual media managed by Plex.

So how would I go about "telling" plex to fetch media from certain shares? Is there somewhere where these shares are mounted? For example, right now my transmissionovpn container is set up like this:

 docker run --cap-add=NET_ADMIN -d \
  --name=transmissionovpn
  -v /mnt/disk1/internal/data:/data \
  -v /etc/localtime:/etc/localtime:ro \
  -e CREATE_TUN_DEVICE=true \
  -e OPENVPN_PROVIDER=NORDVPN \
  -e OPENVPN_USERNAME=OPENVPN_USERNAME \
  -e OPENVPN_PASSWORD=OPENVPN_PASSWORD \
  -e WEBPROXY_ENABLED=false \
  -e LOCAL_NETWORK=192.168.0.0/16 \
  --log-driver json-file \
  --log-opt max-size=10m \
  -p 9091:9091 \
  haugene/transmission-openvpn

What would I have to replace "/mnt/disk1/internal/data" with to get it to write directly to the share, and not the disk?

 

Share this post


Link to post
6 minutes ago, rotiik said:

/mnt/disk1/internal/data:/data

You've told transmission to only use disk 1.  Switch the host path in the template (ie: edit plex) and switch it from /mnt/disk1/internal/data to instead be /mnt/user/internal/data

Share this post


Link to post
6 minutes ago, Squid said:

You've told transmission to only use disk 1.  Switch the host path in the template (ie: edit plex) and switch it from /mnt/disk1/internal/data to instead be /mnt/user/internal/data

Thank you! That's what I was looking for!

Share this post


Link to post
25 minutes ago, rotiik said:

So how would I go about "telling" plex to fetch media from certain shares?

If you are running Plex in a docker container, it is all in the container setup.  I have shares for every media type I want to add in Plex.

 

My setup looks like this (with a container/host mapping for each media type):

 

image.thumb.png.8258c1e4cd08e317f4fdb5a313852381.png

 

And yes, those volume mappings will appear in the docker run command.

 

You need to read the Docker FAQ trurl linked to understand Docker volume mappings.

 

In the case of transmission, you have told it to specifically use disk1 and only disk1.  You should switch it to the 'user' path rather than a specific disk. 

 

It is usually not recommended to use disk shares/paths.  Especially, never mix them with user shares/paths in copy or move operations.

 

If you want to limit a user share to a particular disk (or subset of disks) it is better to do that in the user share settings and stick to user shares rather than using disk shares. 

 

Disk shares are not a problem if you really understand them and how they relate to user shares; most don't so it is recommended to avoid using them.

 

 

Edited by Hoopster

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.