I’ve bounced around running my server on many different OS options, I used proxmox with Ubuntu VMs and containers for a long time and did really like it but decided that for my tiny operation basically just trying to run Jellyfin and maybe a few other things like a Minecraft server, a simple one click deployment OS works good enough for me. Most of the time.
I’ve really been loving ZimaOS, management is so easy when you’re only running a couple basic services like I am. But I decided I wanted to set up an arr stack to build up my media library easier and let others request things. I actually had this set up before on proxmox so it’s not my first time.
The only problem is I can’t for the life of me get qBittorrent to use my gluetun VPN with Mullvad, the fact that I can’t directly edit the compose yml is killing me, because the options that I need to change should hypothetically be simple, but they just don’t appear to even exist in the ZimaOS app settings gui. Has anyone gotten this to work?


If it helps, here’s how I had my gluetun / transmission set up with mullvad (I’ve since moved to proton for port forwarding but I saved the mullvad config in case I needed to switch back):
services: gluetun: image: qmcgaw/gluetun:v3 container_name: gluetun restart: always cap_add: - NET_ADMIN devices: - /dev/net/tun:/dev/net/tun volumes: - ./volumes/gluetun:/gluetun environment: - TZ=America/New_York # Mullvad - VPN_SERVICE_PROVIDER=mullvad - VPN_TYPE=wireguard - SERVER_COUNTRIES=USA - SERVER_CITIES=New York NY - WIREGUARD_PRIVATE_KEY= - WIREGUARD_ADDRESSES=x.x.x.x/32 - UPDATER_PERIOD=24h - UPDATER_MIN_RATIO=0.1 - UPDATER_VPN_SERVICE_PROVIDERS=mullvad,privado,protonvpn networks: - default - ingress transmission: image: linuxserver/transmission:latest container_name: transmission restart: always network_mode: "service:gluetun" environment: - PUID=0 - PGID=0 - TZ=America/New_York volumes: - ./volumes/transmission:/config - /volume1/Media:/media flood: image: jesec/flood:latest container_name: flood-sidecar restart: always command: --port 3000 user: "0:0" network_mode: "service:gluetun" volumes: - ./volumes/transmission:/config - /volume1/Media:/media:ro environment: - TZ=America/New_York - HOME=/config labels: - com.centurylinklabs.watchtower.enable=true - "traefik.enable=true" - "traefik.http.routers.flood.rule=Host(`flood.example.com`)" - "traefik.http.services.flood.loadbalancer.server.port=3000" - "traefik.http.routers.flood.entrypoints=websecure" - "traefik.http.routers.flood.tls.certresolver=mytlschallenge" # This example uses "Selective Authentication" - "traefik.http.routers.flood.middlewares=oauth-middleware"Idk how zimaos works, but the way to attach containers like this is with
network_mode: "service:othercontainer"which might need them to be in the same compose file (the docs aren’t clear).Also note that you can’t put any port mappings on a container using network_mode service, you have to put them on the other container that is handling networking since the first container is piggybacking off of the other and doesn’t have its own networking.
network_mode: “container:gluetun”Is how you can do it with separate compose files. And yes you’d need to map the ports in the gluetun compose file for any container you route through gluetun.
Ohhh this might be my issue. I’ll have to try it tonight
Ah cool, the docs made it sound like container: uses the container ID hash instead of the name so I wasn’t sure how that works. I just put stuff like this in the same compose file since they’re all closely related.