qBittorent setup question

  • I'm worried.. line 13 and 14 are these lines correct?









    Edited 4 times, last by Arelius: Clarification/spelling ().

  • Ok, I need to figure out the path, line 14 in the stack.. So question is how do I figure out the correct path for my shard folder?

    • New
    • Official Post

    In the GUI in Storage>Shared folders. Open the Absolute Path column. If you click the icon next to the path you will copy it to the clipboard.

  • In the GUI in Storage>Shared folders. Open the Absolute Path column. If you click the icon next to the path you will copy it to the clipboard.

    I actually knew that. Help me out here, isn't it better to work with relative paths rather then absolut ones?

    I have a faint memory regarding this in the doc's.


    This folder "Downloads" is ofc a folder on another disk then the appdata folder, but the Share setup follow the same logic. And so I though if I would applied the same logic as the compose appdata I would archive the same end result.


    Maybe its not even possible?

  • Downloaded Ubuntu ios file, 4 of them and couldn't find them in the share so I used FileZilla to brows the server and found the downloads in

    sftp://pi@10.0.0.10/srv/dev-disk-by-uuid-5836b301-b195-49b7-9ac9-78c0864a594f/Downloads Incorrect..

    This is the OS/system disk.


    So copied the absolute path for the Share, stopped the service, edit, up and so files are now downloaded to the correct Share and so disk.


    But I still would very much to know more about relative and absolut path and also, if there is a way go actually get relative paths for shares on other disks though.

    • New
    • Official Post

    The relative path will create a volume in the shared folder that you have defined in the Compose Files field of the Settings tab of the plugin. This is to easily store persistent application data. But if you want to define a volume somewhere else you need to define the full path.


    Let's take as an example that I want to define two folders in which the container is going to write /MY_CONTAINER_FOLDER_1 and /MY_CONTAINER_FOLDER_2 and I want those folders to be located in a shared folder on my system /MY_SHARED_FOLDER

    In the compose file to the left of the : the path on the host is written and to the right of the : the path inside the container is written.

    The ways to define a path in a compose file are:


    1. Complete path as created in the file system:

    Compose file:

    - /srv/dev-disk-by-uuid-xxxxxxxxxxxxxxxxxxx/MY_SHARED_FOLDER/MY_CONTAINER_FOLDER_1:/MY_CONTAINER_FOLDER_1

    - /srv/dev-disk-by-uuid-xxxxxxxxxxxxxxxxxxx/MY_SHARED_FOLDER/MY_CONTAINER_FOLDER_2:/MY_CONTAINER_FOLDER_2


    2. Pre-create a symbolic link to your shared folder and then use it in the compose file. https://wiki.omv-extras.org/do…mv7:omv7_plugins:symlinks

    Symlink:

    Source -> /srv/dev-disk-by-uuid-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/MY_SHARED_FOLDER

    Destination -> /MY_SHARED_FOLDER

    Compose file:

    - /MY_SHARED_FOLDER/MY_CONTAINER_FOLDER_1:/MY_CONTAINER_FOLDER_1

    - /MY_SHARED_FOLDER/MY_CONTAINER_FOLDER_2:/MY_CONTAINER_FOLDER_2


    3. Create a global environment variable in the plugin's global environment variables file and then use that variable in the compose file. https://wiki.omv-extras.org/do…l_environmental_variables

    Plugin global environment variables file:

    MY_SHARED_FOLDER=/srv/dev-disk-by-uuid-8a3c0a8f-75bb-47b0-bccb-cec13ca5bb85/MY_SHARED_FOLDER

    Compose file:

    - ${MY_SHARED_FOLDER}/MY_CONTAINER_FOLDER_1:/MY_CONTAINER_FOLDER_1

    - ${MY_SHARED_FOLDER}/MY_CONTAINER_FOLDER_2:/MY_CONTAINER_FOLDER_2


    4. Use the variable created by the CHANGE_TO_COMPOSE_DATA_PATH plugin:

    Variable: In the Data section of the Settings tab of the plugin define a shared folder, for example MY_SHARED_FOLDER

    Compose file:

    - CHANGE_TO_COMPOSE_DATA_PATH/MY_CONTAINER_FOLDER_1:/MY_CONTAINER_FOLDER_1

    - CHANGE_TO_COMPOSE_DATA_PATH/MY_CONTAINER_FOLDER_2:/MY_CONTAINER_FOLDER_2


    In all cases the result will be the same. The container will write to folders /srv/dev-disk-by-uuid-xxxxxxxxxxxxxxxxxxx/MY_SHARED_FOLDER/MY_CONTAINER_FOLDER_1 and /srv/dev-disk-by-uuid-xxxxxxxxxxxxxxxxxxx/MY_SHARED_FOLDER/MY_CONTAINER_FOLDER_2

    If we access the share MY_SHARED_FOLDER through samba we can see the folders MY_CONTAINER_FOLDER_1 and MY_CONTAINER_FOLDER_2


  • Had to read your post several times and the links you provided :S (I'm to old and to slow for all this I think, but thank you for taking your time, it is much appreciated!)


    So if I understand this correctly (chances of me actually understanding this are slim to basically none but lets give a try) the main use for doing a symbolic link is so I can be able to move the file or folder to another location (it can be on the same disk or another disk or even outside your own network) and my system (whether its for Compose files for Docker or Download files etc) and everything with in my system will still think its where I specified it and these file(s) and folder(s) never changed location.


    Is this a correct assumption I'm making here?

    If so, then I have to do it all in this order (please do correct me if I'm wrong)


    1- Create new folders for eg, appdata, downloads, media (some examples) - keep/use the ones I have

    2- Create corresponding SMB shares for these folders - keep/use the ones I have

    3- Stop all running services, in my case being the (container) qBittorrent and Docker, and purge them both

    4- Go ahead and use this guide and setup the symbolic links for each folder

    5- Define the Global environment variables, which are UID and GID and then the folders

    6- Install and setup Docker with Global environment variables

    7- Install and setup qBittorrent specifying the same Global environment variables

    • New
    • Official Post

    1- Create new folders for eg, appdata, downloads, media (some examples) - keep/use the ones I have

    2- Create corresponding SMB shares for these folders - keep/use the ones I have

    You can keep what you already have.

    3- Stop all running services, in my case being the (container) qBittorrent and Docker, and purge them both

    No need to stop docker. Simply restart the container.

    4- Go ahead and use this guide and setup the symbolic links for each folder

    Only if you want to use symlinks, it is not mandatory.

    5- Define the Global environment variables, which are UID and GID and then the folders

    6- Install and setup Docker with Global environment variables

    Only if you want to use global environment variables, it is not required.

  • My 2 cents worth, I prefer the global .env file method. To me it saves having to create symlinks and I find it easier if I want to change drives or folders. The global .env file is one of the best things in the compose plugin, especially when dealing with folders.

  • My 2 cents worth, I prefer the global .env file method. To me it saves having to create symlinks and I find it easier if I want to change drives or folders. The global .env file is one of the best things in the compose plugin, especially when dealing with folders.

    I appreciate the input and I'll give it a try as soon as I can, sound like a a hassle free setup!

  • You can keep what you already have.

    No need to stop docker. Simply restart the container.

    Only if you want to use symlinks, it is not mandatory.

    Only if you want to use global environment variables, it is not required.

    Thank you for the clarification, now I actually understand why I don't have to have both and still can if needed. Maybe my assumption is wrong, but I gather that if one sets the system up with global environment variables then the management in the long run will so much smother and then if and when its needed one could go down the path of Symblinks which I'm even more eager to do now actually.


    Will keep the post status unchanged till I have managed to successfully setup both (ran into something very strange link which I need to get solved first though).

    • New
    • Official Post

    Thank you for the clarification, now I actually understand why I don't have to have both and still can if needed. Maybe my assumption is wrong, but I gather that if one sets the system up with global environment variables then the management in the long run will so much smother and then if and when its needed one could go down the path of Symblinks which I'm even more eager to do now actually.

    The simplest way is to define the absolute path of each volume in each compose file. This was the beginning of docker, everything else is not really necessary.


    From there, ways were created to simplify management. If you use global variables for paths you have a great advantage. If you change a hard drive, for example, you only have to change the path in the global environment variables file once. You can have 50 containers and that path will be changed on all 50 containers at the same time with a single modification on your part. This makes even more sense when faced with a complete reinstallation of OMV, where the paths will change for all folders. Finally you can write compose files and they will serve you forever without the need to modify them.


    You can achieve the same thing with symlinks and you will get the same result. Or combine both if you want, it will depend on your specific use case.

  • The simplest way is to define the absolute path of each volume in each compose file. This was the beginning of docker, everything else is not really necessary.


    From there, ways were created to simplify management. If you use global variables for paths you have a great advantage. If you change a hard drive, for example, you only have to change the path in the global environment variables file once. You can have 50 containers and that path will be changed on all 50 containers at the same time with a single modification on your part. This makes even more sense when faced with a complete reinstallation of OMV, where the paths will change for all folders. Finally you can write compose files and they will serve you forever without the need to modify them.


    You can achieve the same thing with symlinks and you will get the same result. Or combine both if you want, it will depend on your specific use case.

    To be honest now that you visualize the GEV like even I can see all the potentials I really don’t see any use for Symlink in my case.


    I want to be able to reinstall OMV if needed and apply all of the settings for the containers just like the way you described it.


    My OS disk/drive is the only thing that will remain in my current Pi5 the rest of the disk and drive are attached atm until I get the ideal hardware for running my NAS.


  • Ok, since my end goal is to have several drives and these folders (data and media) on different disks I though I might set it up as you initially explained


    I setup some Shares in under Storage -> Shared Folders

    NameDeviceRelative PathAbsolute Path
    AppData/dev/sda1data/docker/appdata//srv/dev-disk-by-uuid-b5931ec6-ac90-42fd-a1a7-70c068216028/data/docker/appdata
    Compose/dev/sda1data/docker/compose//srv/dev-disk-by-uuid-b5931ec6-ac90-42fd-a1a7-70c068216028/data/docker/compose
    DataDrive/dev/sda1data//srv/dev-disk-by-uuid-b5931ec6-ac90-42fd-a1a7-70c068216028/data
    MediaDrive/dev/sda1media/ **/srv/dev-disk-by-uuid-b5931ec6-ac90-42fd-a1a7-70c068216028/media



    ** I'm trying to be thoughtful since there are containers I'll install soon and those I might install in the future. Therefore, media/ will be the folder in which all downloads and uploads will end up in so I'll create following folder structure,

    media

    ── gallery

    III── photo

    III── video

    ── torrents

    III── incomplete

    III── complete

    ── media

    III── tv shows

    III── movies

    III── misc



    So on to the Symblinks


    SourceDestination
    /srv/dev-disk-by-uuid-b5931ec6-ac90-42fd-a1a7-70c068216028/data/docker/appdata/appdata
    /srv/dev-disk-by-uuid-b5931ec6-ac90-42fd-a1a7-70c068216028/data/docker/compose/compose
    /srv/dev-disk-by-uuid-b5931ec6-ac90-42fd-a1a7-70c068216028/media/media



    Now that this is done, I went ahead and created the user,

    NameUIDGIDGroups
    appuser1001100users


    Also made sure Compose settings was correct,



    So next step is to define the global environment file in Services > Compose > Files > Edit global environment file

    So I added these values,

    Code
    PUID=1001
    PGID=100
    TZ=Europe/Stockholm


    ..but I'm having a hard time defining the paths, I think...


    should it be defined like this?

    Code
    appdata=/srv/dev-disk-by-uuid-b5931ec6-ac90-42fd-a1a7-70c068216028/data/docker/appdata
    compose=/srv/dev-disk-by-uuid-b5931ec6-ac90-42fd-a1a7-70c068216028/data/docker/compose
    media=/srv/dev-disk-by-uuid-b5931ec6-ac90-42fd-a1a7-70c068216028/media

    It dose not feel correct, I feel like I got something mixed up!

    • New
    • Official Post

    It dose not feel correct, I feel like I got something mixed up!

    It's right.

    In the compose file, for example, to use environment variables:

    Code
    - ${appdata}/jellyfin/config:/config
    - ${media}:/media
    • New
    • Official Post

    If you want to use symlinks it would be:

    Code
    - /appdata/jellyfin/config:/config
    - /media:/media

    You have both options since you have done both things.

  • chente Oh man thank you, truly!

    Then I'll go and attempt using symlinks.


    Modified the docker compose like this:

    I'm now confident that this will actually work!


    Ps, is there anyway to thank you guys for all the help beside the obvious donations?

  • Are you aware that your public IP address will be exposed to everyone in the swarms?

    --
    Google is your friend and Bob's your uncle!


    OMV AMD64 7.x on headless Chenbro NR12000 1U 1x 8m Quad Core E3-1220 3.1GHz 32GB ECC RAM.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!