I would like to run Gluetun in its own compose.yaml file, and run qbittorrent in its own compose.yaml file. I want to use the vpn connection Gluetun makes for qbittorrent.
Does anyone have examples of this working? I’ve been messing with the containers, and different docker networks can I cannot get it working.
(my test has been running docker exec -it qbittorrent curl -s https://ifconfig.me/)
You could use
network_mode: "container:{name}"instead ofservice:{name}. See here https://docs.docker.com/reference/compose-file/services/#network_modeService definitions have to be defined in the same compose file or merged into one file at some point in order to be able to reference each other. Containers don’t have that restriction.
I have gluetun and qbittorrent running separately and this works for me.
network_modeis only for multiple containers in the same stack.Uhh, I think you might be confused. Let me explain a bit more:
ServicesandContainersaren’t the same thing. The distinction usually doesn’t matter in typical self-hosting scenarios, but in this case it does.
In short:
Servicesare what you define in acomposefile;Containersare what you spin up based on those service definitions.network_modeis a service attribute and it can be defined for each service separately.network_mode: "service:{name}"requires the service being referenced to be part of the same stack. This is probably what you were thinking of when you wrote this reply.network_mode: "container:{name}"can freely reference any preexisting container. This helps you achieve what you want. You can define yourgluetuncontainer independently, along with any services you might want to be part of the same stack, and give it a unique identifier usingcontainer_name: myIndependentGluetun. After spinning it up, run yourQbittorrentcontainer or whatever service you want to route through thegluetuncontainer after addingnetwork_mode: "container:myIndependentGluetun".
You could also route it manually. That’s a more advanced solution, but it’s more convenient than the
network_modeapproach. More on this here: https://discuss.tchncs.de/post/19039498Oooooooooooo I totally was confused. Thank you for this!!!
Amazing this worked great!!!
One question though; How do I get qbittorrent to auto reconnect if gluetun gets restarted? (currently checking public ip per above fails if gluetun gets restarted, and the only way to fix is by restarting qbittorrent.)
I don’t want to merge them, I specifically would like them separate.
@Dust0741 you could also get each container to access the other by specifying the stack prefix
Say you have stack1 and stack2
Stack1 can have
networks: stack2_default: external: trueservices: foo: networks: - default - stack2_defaultI’m pretty sure this is the video I used to setup mine awhile back. I have my deluge docker networked into Gluetun. Everything else flows normal.
In the qbt compose file, you can set
network_mode: container:gluetunTo use Gluetun’s network namespace for your qbt container. This is how I use qbt over vpn.




