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/)

  • CumBroth@discuss.tchncs.de
    link
    fedilink
    English
    arrow-up
    12
    ·
    edit-2
    3 days ago

    Uhh, I think you might be confused. Let me explain a bit more:

    1. Services and Containers aren’t the same thing. The distinction usually doesn’t matter in typical self-hosting scenarios, but in this case it does.

    In short: Services are what you define in a compose file; Containers are what you spin up based on those service definitions.

    1. network_mode is a service attribute and it can be defined for each service separately.
    2. 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.
    3. network_mode: "container:{name}" can freely reference any preexisting container. This helps you achieve what you want. You can define your gluetun container independently, along with any services you might want to be part of the same stack, and give it a unique identifier using container_name: myIndependentGluetun. After spinning it up, run your Qbittorrent container or whatever service you want to route through the gluetun container after adding network_mode: "container:myIndependentGluetun".

    You could also route it manually. That’s a more advanced solution, but it’s more convenient than the network_mode approach. More on this here: https://discuss.tchncs.de/post/19039498

    • Dust0741@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      2 days ago

      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.)

      • CumBroth@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 day ago

        This is an annoying quirk in the way docker handles networking between containers and I couldn’t find a good solution for this issue when I was trying out network_mode. I just couldn’t find a way to set docker up to automatically restart the dependent container. You can achieve this with services defined in the same stack (using depends_on), but I don’t know if it’s possible with your current setup.

        That’s why I mentioned manual routing in my other reply. It’s annoying to set up, but more convenient because you avoid having to manage restarts (or figuring out how to get docker to do it, which may not be possible in this case).