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.1689744095.txt.gz · Last modified: 2023/07/19 05:21 by onoitsu2