Added qbitmanage and fixed cross-seed thing

This commit is contained in:
Mike Wilson
2023-02-21 17:31:13 -05:00
parent 7d4e2075a1
commit 0ae1c4c56b
5 changed files with 158 additions and 9 deletions

View File

@@ -14,10 +14,12 @@ services:
user: "{{ primary_uid }}:{{ primary_gid }}" user: "{{ primary_uid }}:{{ primary_gid }}"
environment: environment:
- TZ={{ timezone }} - TZ={{ timezone }}
command:
- serve
volumes: volumes:
- "{{ data_dir }}/ntfy:/etc/ntfy" - "{{ data_dir }}/ntfy:/etc/ntfy"
- /var/cache/ntfy:/var/cache/ntfy - /var/cache/ntfy:/var/cache/ntfy
labels: labels:
traefik.enable: true traefik.enable: true
traefik.http.routers.ntfy.rule: "Host(`ntfy.{{ personal_domain }}`)" traefik.http.routers.ntfy.rule: "Host(`push.{{ personal_domain }}`)"
traefik.http.routers.ntfy.middlewares: lan-whitelist@file traefik.http.routers.ntfy.middlewares: lan-whitelist@file

View File

@@ -0,0 +1,107 @@
qbt:
host: https://qbittorrent.local.mjwilson.org
user:
pass:
settings:
force_auto_tmm: false # Will force qBittorrent to enable Automatic Torrent Management for each torrent.
tracker_error_tag: issue # Will set the tag of any torrents that do not have a working tracker.
ignoreTags_OnUpdate: # When running tag-update function, it will update torrent tags for a given torrent even if the torrent has one or more of the tags defined here.
- noHL
- issue
- cross-seed
directory:
root_dir: /data/torrents
torrents_dir: /torrents
remote_dir: /data/torrents/
cross_seed:
recycle_bin: /data/torrents/.RecycleBin
cat:
movies: /data/torrents/movies
tv: /data/torrents/tv
music: /data/torrents/music
torrents: /data/torrents/
tracker:
digitalcore:
tag: DigitalCore
hdts:
tag: HDTorrents
myanonamouse:
tag: MaM
tleechreload:
tag: TorrentLeech
torrentleech:
tag: TorrentLeech
notifiarr: torrentleech
aither:
tag: Aither
nyaa:
tag: Nyaa
animetosho:
tag: AnimeTosho
immortalseed:
tag: ImmortalSeed
torrentseeds:
tag: TorrentSeeds
ops:
tag: Orpheus
t-ru:
tag: RuTracker
rarbg:
tag: RarBG
nohardlinks:
movies:
cleanup: true
max_ratio: 4.0
max_seeding_time: 43200 # 30 days
min_seeding_time: 43200
resume_torrent_after_untagging_noHL: true
exclude_tags:
tv:
cleanup: true
max_ratio: 4.0
max_seeding_time: 43200
min_seeding_time: 43200
resume_torrent_after_untagging_noHL: true
exclude_tags:
music:
cleanup: true
max_ratio: 4.0
max_seeding_time: 43200
min_seeding_time: 43200
resume_torrent_after_untagging_noHL: true
exclude_tags:
recyclebin:
enabled: true
empty_after_x_days: 7
save_torrents: true
split_by_category: false
orphaned:
empty_after_x_days: 30
exclude_patterns:
- '**/.DS_Store'
- '**/Thumbs.db'
- '**/@eaDir'
- /data/torrents/temp/**
- '**/*.!qB'
webhooks:
error:
run_start:
run_end:
function:
cross_seed:
recheck:
cat_update:
tag_update:
rem_unregistered:
tag_tracker_error:
rem_orphaned:
tag_nohardlinks:
cleanup_dirs:

View File

@@ -24,7 +24,15 @@
validate: docker-compose -f %s config validate: docker-compose -f %s config
become: true become: true
- name: Start docker container - name: Install qbitmanage config file
copy:
src: qbitmanage/config.yml
dest: "{{ data_dir }}/qbitmanage/config.yml"
owner: "{{ service_user.uid }}"
mode: "{{ docker_compose_file_mask }}"
become: true
- name: Start docker containers
community.docker.docker_compose: community.docker.docker_compose:
project_src: "{{ install_directory }}/{{ role_name }}" project_src: "{{ install_directory }}/{{ role_name }}"
pull: true pull: true

View File

@@ -1,12 +1,8 @@
version: "{{ docker_compose_version }}" version: "{{ docker_compose_version }}"
networks:
traefik:
external: true
services: services:
{{ role_name }}: qbittorrent:
container_name: "{{ role_name }}" container_name: qbittorrent
image: lscr.io/linuxserver/qbittorrent:libtorrentv1 image: lscr.io/linuxserver/qbittorrent:libtorrentv1
restart: unless-stopped restart: unless-stopped
network_mode: "container:gluetun" network_mode: "container:gluetun"
@@ -14,7 +10,7 @@ services:
- "PUID={{ service_user.uid }}" - "PUID={{ service_user.uid }}"
- "PGID={{ media_gid }}" - "PGID={{ media_gid }}"
- "TZ={{ timezone }}" - "TZ={{ timezone }}"
- DOCKER_MODS=arafatamim/linuxserver-io-mod-vuetorrent #- DOCKER_MODS=arafatamim/linuxserver-io-mod-vuetorrent
volumes: volumes:
- "{{ data_dir }}/{{ role_name }}:/config" - "{{ data_dir }}/{{ role_name }}:/config"
- "{{ media_storage_mnt }}/data/torrents:/data/torrents" - "{{ media_storage_mnt }}/data/torrents:/data/torrents"
@@ -23,3 +19,38 @@ services:
traefik.http.routers.{{ role_name }}.rule: "Host(`{{ role_name }}.local.{{ personal_domain }}`)" traefik.http.routers.{{ role_name }}.rule: "Host(`{{ role_name }}.local.{{ personal_domain }}`)"
traefik.http.routers.{{ role_name }}.middlewares: lan-whitelist@file traefik.http.routers.{{ role_name }}.middlewares: lan-whitelist@file
traefik.http.services.qbittorrent.loadbalancer.server.port: 8080 traefik.http.services.qbittorrent.loadbalancer.server.port: 8080
qbitmanage:
container_name: qbitmanage
image: cr.hotio.dev/hotio/qbitmanage
restart: unless-stopped
environment:
PUID: "{{ service_user.uid }}"
PGID: "{{ service_user.uid }}"
UMASK: 002
TZ: "{{ timezone }}"
QBT_DRY_RUN: "False"
QBT_SCHEDULE: 720
QBT_RECHECK: "True"
QBT_TAG_UPDATE: "True"
QBT_REM_UNREGISTERED: "True"
QBT_REMOVE_ORPHANED: "True"
QBT_TAG_NOHARDLINKS: "True"
volumes:
- "{{ data_dir }}/qbitmanage:/config"
- "{{ media_storage_mnt }}/data/torrents:/data/torrents" # root_dir
- "{{ data_dir }}/qbittorrent/qBittorrent/BT_backup:/torrents" # torrents_dir
cross-seed:
container_name: cross-seed
depends_on:
- qbittorrent
image: crossseed/cross-seed
user: "{{ service_user.uid }}:{{ service_user.uid }}"
volumes:
- "{{ data_dir }}/cross-seed:/config"
- "{{ data_dir }}/qbittorrent/qBittorrent/BT_backup:/torrents"
- "{{ data_dir }}/cross-seed/output:/cross-seeds"
command: daemon
restart: unless-stopped

View File

@@ -5,6 +5,7 @@ http:
sourceRange: sourceRange:
- 10.0.0.0/24 - 10.0.0.0/24
- 10.67.115.0/24 - 10.67.115.0/24
- 172.16.0.0/12
secure-headers: secure-headers:
headers: headers: