Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Transmission container plus volume management #23

Merged
merged 5 commits into from
Apr 25, 2020

Conversation

gpongelli
Copy link

This PR is to add Transmission container, no more included as plugin into OpenMediaVault 5 release, that uses OMV shared folders.

To make sure the folders are shared between OMV5 and Transmission container, a volume is needed as explained in approach #2 here.
For this reason, it's required the management of new "volumes.yml" file into menu.sh, that can be used by any template, to append all the volume's declaration at the end of docker-compose.yml

Thank you of your awesome job, hope you'll enjoy this PR!

@Slyke
Copy link
Collaborator

Slyke commented Apr 21, 2020

Hey @gpongelli would you mind fixing the merge conflict? we just put each of the menu items on seperate lines so that merge conflicts in the future are easier to manage. I'm also about to merge #11 in. Would you prefer to use qbittorrent, or you think Transmission also has a place?

@Slyke Slyke mentioned this pull request Apr 21, 2020
@gpongelli
Copy link
Author

Good idea to put menu items on separate lines, fixed using web client.
I've already used Transmission, alone with this container and actually I'm using it together with openvpn .

I think that all three containers can cohabit, so anyone can choose which it's best.

@Slyke
Copy link
Collaborator

Slyke commented Apr 22, 2020

Awesome, this PR is next on my list for testing then. Just finishing up testing #19 and will start on this one.

driver_opts:
o: bind
type: none
device: <transm_download_volume absolute path on disk>
Copy link
Collaborator

@Slyke Slyke Apr 22, 2020

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

For now, can you make these actual paths?

/home/${USER}/IOTstack/.volumes/transmission/downloads

Or something.

Otherwise it causes an error when starting:
image

Needs to be done for all 3

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sure! I put it as a bookmark to be changed after running menu.sh, so anyone can use the absolute path he/she want (e.g. I have them on an external hd).

@@ -140,6 +143,9 @@ function yml_builder() {
#if an env file exists check for timezone
[ -f "./services/$1/$1.env" ] && timezones ./services/$1/$1.env

# if a volumes.yml exists, append to overall volumes.yml file
[ -f "./services/$1/volumes.yml" ] && cat "./services/$1/volumes.yml" >> docker-volumes.yml
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This will likely need to be updated in the future once we have yaml merging on. Just letting you know in case it breaks your current setup when that upgrade happens.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok no problem. I did in this way to have the code written in a similar fashion to the original

@Slyke
Copy link
Collaborator

Slyke commented Apr 24, 2020

Hey @gpongelli I just tried running this on a fresh installation and getting the following error:
image

Status: Downloaded newer image for linuxserver/transmission:latest
Creating transmission ... error

ERROR: for transmission  Cannot create container for service transmission: failed to mount local volume: mount /home/pi/IOTstack/.volumes/transmission/config:/var/lib/docker/volumes/iotstack_transm_config_volume/_data, flags: 0x1000: no such file or directory

ERROR: for transmission  Cannot create container for service transmission: failed to mount local volume: mount /home/pi/IOTstack/.volumes/transmission/config:/var/lib/docker/volumes/iotstack_transm_config_volume/_data, flags: 0x1000: no such file or directory
ERROR: Encountered errors while bringing up the project.

Could you update the installation steps so that it create the required files and folders? It should be able to run once installing it, with the ability for the user to change the docker image if they choose to. I would help, but I can't push changes to commits from forked repos.

@gpongelli
Copy link
Author

Yes, unlike usual volume management, those folder must exist before running docker-compose.

Could you update the installation steps so that it create the required files and folders? It should be able to run once installing it, with the ability for the user to change the docker image if they choose to. I would help, but I can't push changes to commits from forked repos.

I've no idea on how to do that, what do you mean with "installation steps" ?
I've invited you as collaborator on my fork so you can push directly the fix on my branch.

@Slyke
Copy link
Collaborator

Slyke commented Apr 25, 2020

Just pushed the changes to your github and approved the PR here. Transmission should now run without errors with the named volumes, and have the directories automatically created for them at build time without any config changes.

@Slyke Slyke merged commit 7689228 into SensorsIot:master Apr 25, 2020
@Slyke
Copy link
Collaborator

Slyke commented Apr 26, 2020

@gpongelli PR #38 may break your current system. There's details in the PR on how to mitigate.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants