docker compose is appreciated

  • trolololol@lemmy.world
    link
    fedilink
    English
    arrow-up
    7
    arrow-down
    2
    ·
    9 months ago

    At this point I don’t know why you’d need docker or VPN to run a torrent and I’m too afraid to ask.

    • pruneaue [she/her]
      link
      fedilink
      English
      arrow-up
      6
      ·
      9 months ago

      People run their stuff in docker cause it tends to make the process more straight forward.
      The question is specifically about isolating your torrent client to a VPN only network, that way leaks are impossible since if the VPN goes down, there are no other networks accessible to the container.

  • quaff@lemmy.ca
    link
    fedilink
    English
    arrow-up
    4
    ·
    edit-2
    5 months ago

    I’ve pushed up my setup if you’d like to check it out! I use it with ProtonVPN, but can be adapted to be used with others.

    Removed link: see other comments for a working docker-compose

      • quaff@lemmy.ca
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        5 months ago

        I removed mine since I moved away from Gitlab. There’s other comments with working docker composes, but here’s the latest working version of mine if you’re interested:

        services:
          gluetun:
            image: ghcr.io/qdm12/gluetun:latest
            container_name: gluetun
            # line above must be uncommented to allow external containers to connect. See https://github.com/qdm12/gluetun/wiki/Connect-a-container-to-gluetun#external-container-to-gluetun
            restart: always
            cap_add:
              - NET_ADMIN
            devices:
              - /dev/net/tun:/dev/net/tun
            volumes:
              - ./data:/gluetun
            environment:
              ## ProtonVPN Wireguard
              - VPN_SERVICE_PROVIDER=custom
              - VPN_TYPE=wireguard
              - VPN_ENDPOINT_IP=${WIREGUARD_ENDPOINT_IP}
              - VPN_ENDPOINT_PORT=${WIREGUARD_ENDPOINT_PORT}
              - WIREGUARD_PUBLIC_KEY=${WIREGUARD_PUBLIC_KEY}
              - WIREGUARD_PRIVATE_KEY=${WIREGUARD_PRIVATE_KEY}
              - WIREGUARD_ADDRESSES=${WIREGUARD_ADDRESSES}
              - TZ=Etc/UTC
            ports:
              - ${QBITTORRENT_EXPOSED_WEBUI_PORT}:8080/tcp # qBittorrent Web UI
        
          qbittorrent:
            # https://docs.linuxserver.io/images/docker-qbittorrent
            build: .
            container_name: qbittorrent
            restart: always
            volumes:
              - ./config:/config
              # using download path as mount so other services can play nice
              - ${QBITTORRENT_DOWNLOAD_PATH}:${QBITTORRENT_DOWNLOAD_PATH}
              - ${QBITTORRENT_THEMES_PATH}:/themes
            environment:
              # https://github.com/linuxserver/docker-qbittorrent#umask-for-running-applications
              - PUID=${QBITTORRENT_WRITE_UID}
              - PGID=${QBITTORRENT_WRITE_GID}
              - UMASK=0002
              - TZ=Etc/UTC
              - WEBUI_PORT=8080
            network_mode: "service:gluetun"
            depends_on:
              gluetun:
                condition: service_healthy
        
          portcheck:
            image: eiqnepm/portcheck:latest
            container_name: portcheck
            restart: always
            environment:
              - QBITTORRENT_PORT=6881
              - QBITTORRENT_WEBUI_PORT=8080
              - QBITTORRENT_WEBUI_SCHEME=http
              - QBITTORRENT_USERNAME=admin
              - QBITTORRENT_PASSWORD=${QBITTORRENT_ADMIN_PASSOWRD}
              - TIMEOUT=300
              - DIAL_TIMEOUT=5
            network_mode: "service:gluetun"
            depends_on:
              qbittorrent:
                condition: service_healthy
        
  • Dasnap@lemmy.world
    link
    fedilink
    English
    arrow-up
    3
    ·
    9 months ago

    This is the compose file I use, with Gluetun setup with ProtonVPN. I edited it to remove some personal machine stuff so adapt volumes to your liking.

    version: "2.1"
    services:
      jackett:
        image: lscr.io/linuxserver/jackett:latest
        container_name: jackett
        network_mode: service:gluetun
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=Europe/London
        volumes:
          - ./data:/config
          - ./downloads:/downloads
        restart: unless-stopped
        depends_on:
          - gluetun
    
      qbittorrent:
        image: lscr.io/linuxserver/qbittorrent:4.5.5-r0-ls291
        container_name: qbittorrent
        network_mode: service:gluetun
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=Etc/UTC
          - WEBUI_PORT=8084
        volumes:
          - a-place/qbittorrent/config:/config
          - a-place/qbittorrent:/downloads
        restart: unless-stopped
        depends_on:
          - gluetun
    
      flaresolverr:
        container_name: flaresolverr
        network_mode: service:gluetun
        environment:
          - LOG_LEVEL=info
        restart: unless-stopped
        image: ghcr.io/flaresolverr/flaresolverr:latest
        depends_on:
          - gluetun
    
      gluetun:
        image: qmcgaw/gluetun
        container_name: gluetun
        networks:
          pirate_net:
        cap_add:
          - NET_ADMIN
          - SYS_MODULE
        environment:
          - VPN_SERVICE_PROVIDER=custom
          - VPN_TYPE=wireguard
        ports:
          - 9117:9117 # Jackett
          - 8084:8084
          - 6881:6881
          - 6881:6881/udp
          - 8191:8191 # Flaresolverr
        volumes:
          - ./config/:/gluetun/wireguard/
    
    networks:
      pirate_net:
        driver: bridge
    
  • java@beehaw.org
    link
    fedilink
    English
    arrow-up
    2
    ·
    edit-2
    9 months ago
    $ cat Projects/qbittorrent/docker-compose.yml 
    version: "2.1"
    services:
      qbittorrent:
        image: lscr.io/linuxserver/qbittorrent:latest
        container_name: qbittorrent
        environment:
          - PUID=1000
          - PGID=1000
          - TZ=Europe/Berlin
          - WEBUI_PORT=8081
        volumes:
          - /path/to/appdata/config:/config
          - /home/username/Downloads/Torrents:/downloads
        ports:
          - 8081:8081
          - 6881:6881
          - 6881:6881/udp
        restart: unless-stopped
    

    The whole server is running under the VPN.

  • Appoxo@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    2
    ·
    9 months ago

    I use gluetun with sabnzbd
    Not torrent tech but yeah.

    I often read about not using two containers but instead to use a combi docker.