-
Notifications
You must be signed in to change notification settings - Fork 25
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
Docker support #103
base: master
Are you sure you want to change the base?
Docker support #103
Conversation
@faircopy Docker support makes me very happy. Since I don't have the time to test this ATM, can you have some other people test it as well? Maybe people will see this here or you can recruit them in the forums. Another point - will you be able to make a Wiki page that's a guide for how to run this and how management becomes different? |
@karamanolev Sure, I can ask people to give it a go. There's a detailed README included, which is where I thought to keep all the related information. I can move or copy that to the Wiki so people are able to edit it. |
@faircopy If you think this is ready to go I can merge it now. |
@karamanolev @faircopy I've just done a quick smoke test of this. Newly installed Docker for Mac, followed the instructions in the README to set it up. I've tested that the transmission instance is up and running and I can connect to it (using Transmission Remote GUI) and that the WM2 web interface is available and appears to work. But it's not connected to a RED user and I'm not going to download any torrents as this is just a quick test. But I see no reason why I shouldn't try and migrate my 'production' set up over to this as it seems well thought out. I just need the time! |
@karamanolev, I'd like to modify some of the Compose file based on @casedefault's recommendations and test it some more, so please don't merge yet. |
@faircopy Just keep this thread updated and I'll merge it when you are. |
This is done so that multiple stacks can be run in parallel on the same host, e.g.: - Production stack: docker-compose up -d - Development stack: COMPOSE_PROJECT_NAME=dev docker-compose \ -f docker-compose.yaml \ -f docker-compose.dev.yaml \ up -d Port numbers would be defined in docker-compose.override.yaml and docker-compose.dev.yaml to avoid conflict between the two stacks.
Any update on its stability? Would love to switch to this |
@LennyPenny I'll try and finish up over the weekend, this project's been haunting me for a long time now. 👻 I wouldn't recommend using it yet, there's redundancy in the configuration as well as the setup process. I've been refactoring the Compose definition according to the DRY principle, that part works fine. The main obstacle is that I wanted to be able to scale Transmission using either Todo
|
@faircopy You're doing an amazing job. Please keep it up! |
Sadly, Transmission instances can only be defined by having the actual service definitions repeated in the Compose file. I've hacked together a script in POSIX Shell to automate this. Sharing configuration settings between Compose files is not possible. Compose extension fields work by using YAML anchors, and those don't work across files. So it'll have to be a single monolithic Compose file, if we want to have settings like timezone defined only once. There'll be a separate configuration section at the beginning of the file. Transmission service definitions are generated by a script, and will need to be pasted manually into the Compose file, whenever instance count needs changing. I'll try and make it so that no other files need manual editing. The most automatic thing would be a program that takes a single config file as an input, and outputs a single Compose file. Maybe later (probably never), for now I'll complete the rest of the todo list so we can have a usable setup. 🙂 |
Remaining issue: ports from the port ranges get assigned unpredictably and not sequentially. This will be fixed by defining ports explicitly using the 'generate-compose' script.
@faircopy is this in a usable state now? I'm very excited |
I will just try it out and provide some feedback :) |
Okay I got it running, its working perfectly! |
Some things can possibly be improved, but it's a start.
I can make the Docker stuff a separate GitHub repo as well, let me know what you think.