User Tools

Site Tools


Sidebar

Page Links:
docker:qbt

This is an old revision of the document!


Docker

Paths to note:
/root/docker/ Root to all these docker data and config files
/mnt/pve/FOLDER Root to SMB Share mounted via Proxmox
/mnt/pve/FOLDER/openvpn openvpn config files
credentials.conf
*.crt
config.ovpn [modified to point to credentials with:]
auth-user-pass credentials.conf
/mnt/pve/FOLDER/qbt/downloads Path to Downloading folder for both QBT and Medusa's own folders
/mnt/pve/FOLDER/qbt/tv Path to Medusa Series
---
version: '3.2'
services:  
  jackett:
    container_name: jackett
    image: 'lscr.io/linuxserver/jackett:latest'
    restart: unless-stopped
    depends_on:
     - privoxyvpn
    network_mode: service:privoxyvpn
    volumes:
      - /root/docker/jackett:/config
    environment:
       UMASK: 000
       PUID: 1000
       PGID: 1000
       TZ: "UTC"
       
  flaresolverr:
    container_name: flaresolverr
    image: 'ghcr.io/flaresolverr/flaresolverr:latest'
    restart: unless-stopped
    #ports:
    #  - '8191:8191'
    environment:
       LOG_LEVEL: "info"
    depends_on:
     - privoxyvpn
    network_mode: service:privoxyvpn


  medusa:
    container_name: medusa
    image: 'lscr.io/linuxserver/medusa:latest'
    restart: unless-stopped
    depends_on:
     - privoxyvpn
    network_mode: service:privoxyvpn
    volumes:
      - /root/docker/medusa:/config
      - MedusaDownloads:/downloads
      - MedusaRenaming:/tv
    environment:
       UMASK: 000
       PUID: 0
       PGID: 0
       TZ: "UTC"

  qbittorrent:
    image: lscr.io/linuxserver/qbittorrent:latest
    container_name: qbittorrent
    depends_on:
     - privoxyvpn
    network_mode: service:privoxyvpn
    environment:
      PUID: 0
      PGID: 0
      TZ: "UTC"
      WEBUI_PORT: 9080
    volumes:
      - /root/docker/qbt:/config
      - QBTDownloads:/downloads
    restart: unless-stopped
    
  privoxyvpn:
    container_name: privoxyvpn
    image: 'binhex/arch-privoxyvpn:latest'
    restart: always
    extra_hosts:
      #needed to make QBT to Jackett linking by name possible
      jackett: 127.0.0.1
    cap_add:
      - NET_ADMIN
    ports:
      - '8118:8118' #privoxy proxy
      - '9118:9118' #SOCKS Proxy
      - '9080:9080' #QBT
      - '8081:8081' #MEDUSA
      - '9117:9117' #JACKETT
    volumes:
      - /root/docker/openvpn:/config/openvpn  #Where the config.ovpn is kept with modification with 'auth-user-pass credentials.conf' and store credentials within that file for ease of use
      - /etc/localtime:/etc/localtime:ro
    environment:
       VPN_ENABLED: "yes"
       VPN_PROV: "custom"
       VPN_CLIENT: "openvpn"
       ENABLE_PRIVOXY: "yes"
       ENABLE_SOCKS: "yes"
       SOCKS_USER: "admin"
       SOCKS_PASS: "socks"
       LAN_NETWORK: "192.168.1.0/24"
       VPN_INPUT_PORTS: "9080,8080,8081,9117"
       NAME_SERVERS: "84.200.69.80,37.235.1.174,1.1.1.1,37.235.1.177,84.200.70.40,1.0.0.1"
       DEBUG: "false"
       UMASK: 000
       PUID: 0
       PGID: 0
    networks:
      - default

networks:
  default:
    name: www
    driver: bridge
    attachable: true

volumes:
  MedusaDownloads:
      driver: local
      driver_opts:
        type: cifs    
        device: //IP/medusa
        o: "username=USER,password=Pass,vers=3.0,uid=0,gid=0"

  MedusaRenaming:
      driver: local
      driver_opts:
        type: cifs    
        device: //IP/TVRenaming
        o: "username=USER,password=Pass,vers=3.0,uid=0,gid=0"

  QBTDownloads:
      driver: local
      driver_opts:
        type: cifs    
        device: //IP/QBT
        o: "username=USER,password=Pass,vers=3.0,uid=0,gid=0"

Install Nginx-proxy-manager

  docker run -d \
  --name=www \
  -e USER_ID=0 \
  -e GROUP_ID=0 \
  -p 8181:8181 \
  -p 80:8080 \
  -p 443:4443 \
  --restart unless-stopped \
  -v /etc/localtime:/etc/localtime:ro \
  -v /root/docker/nginx-proxy-manager:/config:rw \
  jlesage/nginx-proxy-manager

Link to everything in Nginx

  download.site.com <--> http://server:8080
  medusa.site.com <--> http://server:8081
  jackett.site.com <--> http://server:9117
  files.site.com <--> http://server:8800

Custom Settings for bit.site.com /

  location / {
    proxy_pass           $forward_scheme://$server:$port;
    proxy_set_header    Upgrade $http_upgrade;
    proxy_set_header    Connection "upgrade";
    proxy_cookie_path  /                  "/; Secure";
    proxy_set_header     X-Forwarded-Host $http_host;
    proxy_set_header     X-Real-IP $remote_addr;
    proxy_set_header     X-Forwarded-For $remote_addr;
    proxy_set_header     X-Forwarded-Proto $scheme;
    proxy_set_header     Origin '';
    proxy_hide_header X-Powered-By;
    proxy_set_header Range $http_range;
    proxy_set_header If-Range $http_if_range;
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
    proxy_read_timeout   86400;
    client_max_body_size 1024M;
  }

Custom site settings for Filebrowser /

  location / {
    proxy_pass           $forward_scheme://$server:$port;
    proxy_http_version  1.1;
    proxy_set_header    Upgrade $http_upgrade;
    proxy_set_header    Connection "upgrade";
    proxy_cookie_path  /                  "/; Secure";
    proxy_set_header     X-Forwarded-Host $http_host;
    proxy_set_header     X-Real-IP $remote_addr;
  
    proxy_hide_header X-Powered-By;
    proxy_set_header Range $http_range;
    proxy_set_header If-Range $http_if_range;
  
    proxy_set_header     X-Forwarded-For $remote_addr;
    proxy_set_header     X-Forwarded-Proto $scheme;
    proxy_set_header     Origin '';
  
    add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;
  
    proxy_read_timeout   86400;
    client_max_body_size 1024M;
  }
  location /api {
    client_max_body_size 0;
    proxy_pass $forward_scheme://$server:$port;
  }
  location /static {
    client_max_body_size 0;
    proxy_pass $forward_scheme://$server:$port;
  }
  location /share {
  client_max_body_size 0;
  proxy_pass $forward_scheme://$server:$port;
  }

Get API key for Jackett and modify into qBittorrent /root/docker/qbittorrent/config/qBittorrent/data/nova3/engines/jackett.json

  {
      "api_key": "XXXXXXXXXXXXXXXXXX",
      "tracker_first": false,
      "url": "http://jackett:9117"
  }

Customizations

docker/qbt.1689744131.txt.gz · Last modified: 2023/07/19 05:22 by onoitsu2