Compare commits

..

7 Commits

Author SHA1 Message Date
Mike Wilson
e994a98016 Add Anthelion to qbitmanage and cross-seed configs 2025-12-02 15:02:06 -05:00
Mike Wilson
c85576a56a Update beets config 2025-12-02 15:01:25 -05:00
Mike Wilson
886bc6aa71 README updates 2025-11-04 16:12:28 -05:00
Mike Wilson
45951ba93f Do not restart qbittorrent when updating cross-seed and qbitmanage configs 2025-10-13 09:50:19 -04:00
Mike Wilson
364e1a9628 Allow releases with no rlsgroup in the 'Old' profiles 2025-10-09 15:40:37 -04:00
Mike Wilson
47000fc6f3 Set speed limits on torrents from high bandwidth trackers (TL, FL, AR) 2025-10-08 16:47:53 -04:00
dda45245f5 Add AnimeBytes 2025-09-13 14:00:07 -04:00
15 changed files with 33 additions and 71 deletions

View File

@@ -23,12 +23,13 @@ Having Plex and Jellyfin separate from the rest of my docker infrastructure allo
**Storage:**
* `/`: 1 TB NVME SSD
* `/vm_storage`: 2x 240 GB SSD in ZFS mirror for config and data files
* `/mnt/storage`: mergerfs + SnapRAID pool totaling ~90 TiB usable storage. Currently single parity disk but hoping to add a second one soon. Drives run btrfs allowing me to utilize [snapraid-btrfs](https://wiki.selfhosted.show/tools/snapraid-btrfs/) for instant snapshotting
* `/mnt/storage`: mergerfs + SnapRAID pool totaling 150 TiB usable storage with single disk parity (YOLO). Drives run btrfs allowing me to utilize [snapraid-btrfs](https://wiki.selfhosted.show/tools/snapraid-btrfs/) for instant snapshotting
## Roadmap
* Flesh out backup strategy with btrfs snapshots and restic (separately)
* Move everything to Arch VMs on Proxmox
* Potentially migrate media pool to ZFS. I've been lucky so far with no drive failures but realistically if I did have one fail, it would take ages to rebuild with single disk parity and I'd be wishing I had a more robust setup.
* Move everything to Arch LXCs on Proxmox
* Possibly set up second Proxmox node for backups
* Immich for photo management
* Look into [Wazuh](https://github.com/wazuh/wazuh) for threat prevention/detection

View File

@@ -1,7 +1,7 @@
directory: /music
per_disc_numbering: yes
plugins: fetchart web inline lyrics
plugins: fetchart embedart web inline lyrics musicbrainz scrub lastgenre replaygain
paths:
default: $albumartist/$album%aunique{}/%if{$multidisc,$disc}$track - $title
@@ -12,7 +12,7 @@ item_fields:
import:
write: yes
hardlink: yes
move: yes
resume: ask
incremental: yes
quiet_fallback: skip
@@ -28,13 +28,32 @@ embedart:
fetchart:
auto: yes
high_resolution: yes
source:
- filesystem
- itunes
- coverart
- amazon
match:
strong_rec_thresh: 0.10
ignored_media: ['12" Vinyl']
lyrics:
sources: [lrclib, genius]
sources: [lrclib, genius, tekstowo]
scrub:
auto: yes
replaygain:
auto: yes
backend: ffmpeg
# Consider directory empty even if files matching the below patterns are present
clutter:
- "*.jpg"
- "*.png"
- "*.nfo"
replace:
'^\.': _
'[\x00-\x1f]': _

View File

@@ -1,11 +0,0 @@
- name: Install bitcoin daemon
ansible.builtin.package:
name: bitcoin-daemon
state: present
become: true
- name: Enable bitcoind
ansible.builtin.service:
name: bitcoind
state: started
enabled: yes

View File

@@ -1,6 +0,0 @@
- name: Install tor
ansible.builtin.package:
name: tor
state: present

View File

@@ -1,32 +0,0 @@
- name: Install Uncomplicated Firewall
ansible.builtin.package:
name: ufw
state: present
# UFW logging can full up the kernel (dmesg) and message logs
- name: Disable logging
community.general.ufw:
logging: 'off'
- name: Allow OpenSSH inbound
community.general.ufw:
rule: allow
name: OpenSSH # Uses standard profile located in /etc/ufw/applications.d
- name: Apply rate limiting to ssh inbound
community.general.ufw:
rule: limit
port: ssh
proto: tcp
- name: Enable ufw system service
ansible.builtin.service:
name: ufw
state: started
enabled: yes
# This is necessary in addition to enabling the system service
- name: Enable ufw rules
community.general.ufw:
state: enabled
policy: deny

View File

@@ -4,7 +4,6 @@ module.exports = {
delay: 30,
torznab: [
"http://prowlarr.local.{{ personal_domain }}/3/api?apikey={{ prowlarr_api_key }}", // ImmortalSeed
"http://prowlarr.local.{{ personal_domain }}/6/api?apikey={{ prowlarr_api_key }}", // Aither
"http://prowlarr.local.{{ personal_domain }}/7/api?apikey={{ prowlarr_api_key }}", // Reelflix
"http://prowlarr.local.{{ personal_domain }}/9/api?apikey={{ prowlarr_api_key }}", // LST
@@ -17,6 +16,8 @@ module.exports = {
"http://prowlarr.local.{{ personal_domain }}/25/api?apikey={{ prowlarr_api_key }}", // seedpool
"http://prowlarr.local.{{ personal_domain }}/27/api?apikey={{ prowlarr_api_key }}", // Upload.cx
"http://prowlarr.local.{{ personal_domain }}/30/api?apikey={{ prowlarr_api_key }}", // DocsPedia
"http://prowlarr.local.{{ personal_domain }}/31/api?apikey={{ prowlarr_api_key }}", // OnlyEncodes+
"http://prowlarr.local.{{ personal_domain }}/32/api?apikey={{ prowlarr_api_key }}", // Anthelion
],
outputDir: null,

View File

@@ -13,7 +13,7 @@ services:
- "PGID={{ media_gid }}"
- "TZ={{ timezone }}"
- "UMASK=002"
- DOCKER_MODS=arafatamim/linuxserver-io-mod-vuetorrent
#- DOCKER_MODS=arafatamim/linuxserver-io-mod-vuetorrent
volumes:
- "{{ data_dir }}/{{ role_name }}:/config"
- "{{ media_storage_mnt }}/data/torrents:/data/torrents"

View File

@@ -79,10 +79,14 @@ tracker:
tag: rutracker
seedpool|seedpool.org:
tag: seedpool
upload:
upload.cx:
tag: ULCX
archlinux:
tag: archlinux
animebytes:
tag: AB
anthelion:
tag: ANT
other:
tag: other

View File

@@ -108,9 +108,3 @@ custom_formats:
assign_scores_to:
- name: Anime
score: 10 # Prefer dual audio within the same tier but don't prefer over higher quality releases
- trash_ids:
- 3bc5f395426614e155e585a2f056cdf1 # Season Pack
assign_scores_to:
- name: Anime
score: 10 # Prefer season packs over single episode releases

View File

@@ -85,8 +85,6 @@ custom_formats:
- fbcb31d8dabd2a319072b84fc0b7249c # Extras
- 15a05bc7c1a36e2b57fd628f8977e2fc # AV1
- 32b367365729d530ca1c124a0b180c64 # Bad Dual Groups
- ae575f95ab639ba5d15f663bf019e3e8 # Not Original Language
- 82d40da2bc6923f41e14394075dd4b03 # No-RlsGroup
- e1a997ddb54e3ecbfe06341ad323c458 # Obfuscated
- 06d66ab109d4d2eddb2794d21526d140 # Retags
- b735f09d3c025cbb7d75a5d38325b73b # Upscaled

View File

@@ -85,8 +85,6 @@ custom_formats:
- fbcb31d8dabd2a319072b84fc0b7249c # Extras
- 15a05bc7c1a36e2b57fd628f8977e2fc # AV1
- 32b367365729d530ca1c124a0b180c64 # Bad Dual Groups
- ae575f95ab639ba5d15f663bf019e3e8 # Not Original Language
- 82d40da2bc6923f41e14394075dd4b03 # No-RlsGroup
- e1a997ddb54e3ecbfe06341ad323c458 # Obfuscated
- 06d66ab109d4d2eddb2794d21526d140 # Retags
- b735f09d3c025cbb7d75a5d38325b73b # Upscaled

View File

@@ -85,7 +85,6 @@ custom_formats:
- fbcb31d8dabd2a319072b84fc0b7249c # Extras
- 15a05bc7c1a36e2b57fd628f8977e2fc # AV1
- 32b367365729d530ca1c124a0b180c64 # Bad Dual Groups
- ae575f95ab639ba5d15f663bf019e3e8 # Not Original Language
- 82d40da2bc6923f41e14394075dd4b03 # No-RlsGroup
- e1a997ddb54e3ecbfe06341ad323c458 # Obfuscated
- 06d66ab109d4d2eddb2794d21526d140 # Retags

View File

@@ -85,7 +85,6 @@ custom_formats:
- fbcb31d8dabd2a319072b84fc0b7249c # Extras
- 15a05bc7c1a36e2b57fd628f8977e2fc # AV1
- 32b367365729d530ca1c124a0b180c64 # Bad Dual Groups
- ae575f95ab639ba5d15f663bf019e3e8 # Not Original Language
- 82d40da2bc6923f41e14394075dd4b03 # No-RlsGroup
- e1a997ddb54e3ecbfe06341ad323c458 # Obfuscated
- 06d66ab109d4d2eddb2794d21526d140 # Retags

View File

@@ -85,7 +85,6 @@ custom_formats:
- fbcb31d8dabd2a319072b84fc0b7249c # Extras
- 15a05bc7c1a36e2b57fd628f8977e2fc # AV1
- 32b367365729d530ca1c124a0b180c64 # Bad Dual Groups
- ae575f95ab639ba5d15f663bf019e3e8 # Not Original Language
- 82d40da2bc6923f41e14394075dd4b03 # No-RlsGroup
- e1a997ddb54e3ecbfe06341ad323c458 # Obfuscated
- 06d66ab109d4d2eddb2794d21526d140 # Retags

View File

@@ -85,7 +85,6 @@ custom_formats:
- fbcb31d8dabd2a319072b84fc0b7249c # Extras
- 15a05bc7c1a36e2b57fd628f8977e2fc # AV1
- 32b367365729d530ca1c124a0b180c64 # Bad Dual Groups
- ae575f95ab639ba5d15f663bf019e3e8 # Not Original Language
- 82d40da2bc6923f41e14394075dd4b03 # No-RlsGroup
- e1a997ddb54e3ecbfe06341ad323c458 # Obfuscated
- 06d66ab109d4d2eddb2794d21526d140 # Retags