chore(mamstack): move mamstack to branch
This commit is contained in:
parent
836052b84e
commit
30e11da692
17 changed files with 0 additions and 597 deletions
|
@ -1,34 +0,0 @@
|
||||||
## Weechat
|
|
||||||
|
|
||||||
> [!WARNING]
|
|
||||||
> If you have permissions issue trying to persist data > [Potential
|
|
||||||
> permissions issue
|
|
||||||
> fix](https://github.com/weechat/weechat-container/issues/10#issuecomment-2472077317)
|
|
||||||
|
|
||||||
### Attach and configure
|
|
||||||
|
|
||||||
> [!TIP]
|
|
||||||
> Detach key sequence: `ctrl-p` `ctrl-q`.
|
|
||||||
|
|
||||||
```bash
|
|
||||||
ssh -t $host machinectl shell $ctuser@ podman attach weechat
|
|
||||||
/set irc.look.smart_filter on
|
|
||||||
/set irc.server_default.msg_part ""
|
|
||||||
/set irc.server_default.msg_quit ""
|
|
||||||
/set irc.ctcp.clientinfo ""
|
|
||||||
/set irc.ctcp.finger ""
|
|
||||||
/set irc.ctcp.source ""
|
|
||||||
/set irc.ctcp.time ""
|
|
||||||
/set irc.ctcp.userinfo ""
|
|
||||||
/set irc.ctcp.version ""
|
|
||||||
/set irc.ctcp.ping ""
|
|
||||||
/plugin unload xfer
|
|
||||||
/set weechat.plugin.autoload "*,!xfer"
|
|
||||||
/filter add irc_smart * irc_smart_filter *
|
|
||||||
/server add mam irc.myanonamouse.net/6697
|
|
||||||
/set irc.server.mam.username $irc_username
|
|
||||||
/set irc.server_default.autojoin_dynamic on
|
|
||||||
/set irc.server.mam.nicks "$irc_nick1,$irc_nick2"
|
|
||||||
/set irc.server.mam.autoconnect on
|
|
||||||
/connect mam
|
|
||||||
```
|
|
|
@ -1,7 +0,0 @@
|
||||||
{
|
|
||||||
acme_dns $provider $api_key
|
|
||||||
}
|
|
||||||
|
|
||||||
qb.$domain.$tld {
|
|
||||||
reverse_proxy localhost:8080
|
|
||||||
}
|
|
|
@ -1,8 +0,0 @@
|
||||||
FROM docker.io/caddy:$version-builder AS builder
|
|
||||||
|
|
||||||
RUN xcaddy build \
|
|
||||||
--with github.com/caddy-dns/$module
|
|
||||||
|
|
||||||
FROM docker.io/caddy:$version
|
|
||||||
|
|
||||||
COPY --from=builder /usr/bin/caddy /usr/bin/caddy
|
|
|
@ -1,4 +0,0 @@
|
||||||
[Build]
|
|
||||||
ImageTag=localhost/caddy-njalla
|
|
||||||
SetWorkingDirectory=unit
|
|
||||||
|
|
|
@ -1,21 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Reverse proxy
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=on-failure
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=default.target
|
|
||||||
|
|
||||||
[Container]
|
|
||||||
Image=caddy.build
|
|
||||||
ContainerName=caddy
|
|
||||||
HostName=caddy
|
|
||||||
Pod=MAMstack.pod
|
|
||||||
AutoUpdate=registry
|
|
||||||
|
|
||||||
Volume=caddy-config:/config
|
|
||||||
Volume=caddy-data:/data
|
|
||||||
|
|
||||||
Volume=./Caddyfile:/etc/caddy/Caddyfile
|
|
||||||
|
|
|
@ -1,2 +0,0 @@
|
||||||
[Volume]
|
|
||||||
VolumeName=caddy-config
|
|
|
@ -1,2 +0,0 @@
|
||||||
[Volume]
|
|
||||||
VolumeName=caddy-data
|
|
|
@ -1,33 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=gluetun VPN
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=on-failure
|
|
||||||
TimeoutStartSec=900
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=default.target
|
|
||||||
|
|
||||||
[Container]
|
|
||||||
Image=docker.io/qmcgaw/gluetun:$gluetun_version
|
|
||||||
ContainerName=gluetun
|
|
||||||
HostName=gluetun
|
|
||||||
AddCapability=NET_ADMIN
|
|
||||||
AddDevice=/dev/net/tun:/dev/net/tun
|
|
||||||
Pod=MAMstack.pod
|
|
||||||
AutoUpdate=registry
|
|
||||||
|
|
||||||
Volume=./config.toml:/gluetun/auth/config.toml
|
|
||||||
|
|
||||||
Environment=TZ=$timezone
|
|
||||||
Environment=UPDATER_PERIOD=24h
|
|
||||||
Environment=UPDATER_VPN_SERVICE_PROVIDERS=protonvpn
|
|
||||||
Environment=VPN_SERVICE_PROVIDER=protonvpn
|
|
||||||
# The trailing `+pmp` is for port forwarding
|
|
||||||
Environment=OPENVPN_USER=${openvpn_user}+pmp
|
|
||||||
Environment=OPENVPN_PASSWORD=$openvpn_password
|
|
||||||
Environment=OPENVPN_CIPHERS=aes-256-gcm
|
|
||||||
Environment=SERVER_COUNTRIES=$countries
|
|
||||||
Environment=VPN_PORT_FORWARDING=on
|
|
||||||
Environment=FIREWALL_DEBUG=on
|
|
||||||
|
|
|
@ -1,10 +0,0 @@
|
||||||
[Pod]
|
|
||||||
PodName=MAMstack
|
|
||||||
|
|
||||||
Network=mamstack.network
|
|
||||||
|
|
||||||
PublishPort=80
|
|
||||||
PublishPort=443
|
|
||||||
PublishPort=443:443/udp
|
|
||||||
|
|
||||||
Volume=
|
|
|
@ -1,27 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Bonus points spender
|
|
||||||
After=qbittorrent.service
|
|
||||||
After=gluetun.service
|
|
||||||
BindsTo=gluetun.service
|
|
||||||
BindsTo=qbittorrent.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=on-failure
|
|
||||||
TimeoutStartSec=900
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=default.target
|
|
||||||
|
|
||||||
[Container]
|
|
||||||
# TODO: Is `latest` safe for this container?
|
|
||||||
Image=docker.io/myanonamouse/pointspend:latest
|
|
||||||
ContainerName=pointspend
|
|
||||||
HostName=pointspend
|
|
||||||
Pod=MAMstack.pod
|
|
||||||
AutoUpdate=registry
|
|
||||||
|
|
||||||
Environment=BUFFER=1000
|
|
||||||
Environment=WEDGEHOURS=0
|
|
||||||
Environment=VIP=1
|
|
||||||
|
|
||||||
Secret=mam_id,type=env,target=MAMID
|
|
|
@ -1,3 +0,0 @@
|
||||||
[Volume]
|
|
||||||
VolumeName=qbit_manage-config
|
|
||||||
|
|
|
@ -1,322 +0,0 @@
|
||||||
# This is an example configuration file that documents all the options.
|
|
||||||
# It will need to be modified for your specific use case.
|
|
||||||
# Please refer to the link below for more details on how to set up the configuration file
|
|
||||||
# https://github.com/StuffAnThings/qbit_manage/wiki/Config-Setup
|
|
||||||
|
|
||||||
commands:
|
|
||||||
# The commands defined below will IGNORE any commands used in command line and docker env variables.
|
|
||||||
dry_run: True
|
|
||||||
cross_seed: False
|
|
||||||
recheck: False
|
|
||||||
cat_update: False
|
|
||||||
tag_update: False
|
|
||||||
rem_unregistered: False
|
|
||||||
tag_tracker_error: False
|
|
||||||
rem_orphaned: False
|
|
||||||
tag_nohardlinks: False
|
|
||||||
share_limits: False
|
|
||||||
skip_qb_version_check: False
|
|
||||||
skip_cleanup: False
|
|
||||||
|
|
||||||
qbt:
|
|
||||||
# qBittorrent parameters
|
|
||||||
host: "localhost:8080"
|
|
||||||
user: "username"
|
|
||||||
pass: "password"
|
|
||||||
|
|
||||||
settings:
|
|
||||||
force_auto_tmm: False # Will force qBittorrent to enable Automatic Torrent Management for each torrent.
|
|
||||||
force_auto_tmm_ignore_tags: #Torrents with these tags will be ignored when force_auto_tmm is enabled.
|
|
||||||
- cross-seed
|
|
||||||
- Upload
|
|
||||||
tracker_error_tag: issue # Will set the tag of any torrents that do not have a working tracker.
|
|
||||||
nohardlinks_tag: noHL # Will set the tag of any torrents with no hardlinks.
|
|
||||||
share_limits_tag: ~share_limit # Will add this tag when applying share limits to provide an easy way to filter torrents by share limit group/priority for each torrent
|
|
||||||
share_limits_min_seeding_time_tag: MinSeedTimeNotReached # Tag to be added to torrents that have not yet reached the minimum seeding time
|
|
||||||
share_limits_min_num_seeds_tag: MinSeedsNotMet # Tag to be added to torrents that have not yet reached the minimum number of seeds
|
|
||||||
share_limits_last_active_tag: LastActiveLimitNotReached # Tag to be added to torrents that have not yet reached the last active limit
|
|
||||||
cross_seed_tag: cross-seed # Will set the tag of any torrents that are added by cross-seed command
|
|
||||||
cat_filter_completed: True # Filters for completed torrents only when running cat_update command
|
|
||||||
share_limits_filter_completed: True # Filters for completed torrents only when running share_limits command
|
|
||||||
tag_nohardlinks_filter_completed: True # Filters for completed torrents only when running tag_nohardlinks command
|
|
||||||
cat_update_all: True # Checks and updates all torrent categories if set to True when running cat_update command, otherwise only update torrents that are uncategorized
|
|
||||||
disable_qbt_default_share_limits: True # Allows QBM to handle share limits by disabling qBittorrents default Share limits. Only active when the share_limits command is set to True
|
|
||||||
|
|
||||||
directory:
|
|
||||||
# Do not remove these
|
|
||||||
# Cross-seed var: </your/path/here/> # Output directory of cross-seed
|
|
||||||
# root_dir var: </your/path/here/> # Root downloads directory used to check for orphaned files, noHL, and RecycleBin.
|
|
||||||
# <OPTIONAL> remote_dir var: </your/path/here/> # Path of docker host mapping of root_dir.
|
|
||||||
# remote_dir must be set if you're running qbit_manage locally and qBittorrent/cross_seed is in a docker
|
|
||||||
# remote_dir should not be set if qbit_manage is running in a container
|
|
||||||
# <OPTIONAL> recycle_bin var: </your/path/here/> # Path of the RecycleBin folder. Default location is set to remote_dir/.RecycleBin
|
|
||||||
# <OPTIONAL> torrents_dir var: </your/path/here/> # Path of the your qbittorrent torrents directory. Required for `save_torrents` attribute in recyclebin
|
|
||||||
# <OPTIONAL> orphaned_dir var: </your/path/here/> # Path of the the Orphaned Data folder. This is similar to RecycleBin, but only for orphaned data.
|
|
||||||
cross_seed: "/your/path/here/"
|
|
||||||
root_dir: "/data/torrents/"
|
|
||||||
remote_dir: "/mnt/user/data/torrents/"
|
|
||||||
recycle_bin: "/mnt/user/data/torrents/.RecycleBin"
|
|
||||||
torrents_dir: "/qbittorrent/data/BT_backup"
|
|
||||||
orphaned_dir: "/data/torrents/orphaned_data"
|
|
||||||
|
|
||||||
cat:
|
|
||||||
# Category & Path Parameters
|
|
||||||
# All save paths in qbittorent must be populated below.
|
|
||||||
# If you want to leave a save_path as uncategorized you can use the key 'Uncategorized' as the name of the category.
|
|
||||||
# <Category Name> : <save_path> # Path of your save directory.
|
|
||||||
movies: "/data/torrents/Movies"
|
|
||||||
tv: "/data/torrents/TV"
|
|
||||||
|
|
||||||
cat_change:
|
|
||||||
# This moves all the torrents from one category to another category. This executes on --cat-update
|
|
||||||
# WARNING: if the paths are different and Default Torrent Management Mode is set to automatic the files could be moved !!!
|
|
||||||
# <Old Category Name> : <New Category>
|
|
||||||
Radarr-HD.cross-seed: movies-hd
|
|
||||||
Radarr-UHD.cross-seed: movies-uhd
|
|
||||||
movies-hd.cross-seed: movies-hd
|
|
||||||
movies-uhd.cross-seed: movies-uhd
|
|
||||||
|
|
||||||
tracker:
|
|
||||||
# Mandatory
|
|
||||||
# Tag Parameters
|
|
||||||
# <Tracker URL Keyword>: # <MANDATORY> This is the keyword in the tracker url. You can define multiple tracker urls by splitting with `|` delimiter
|
|
||||||
# <MANDATORY> Set tag name. Can be a list of tags or a single tag
|
|
||||||
# tag: <Tag Name>
|
|
||||||
# <OPTIONAL> Set the category based on tracker URL. This category option takes priority over the category defined by save directory
|
|
||||||
# cat: <Category Name>
|
|
||||||
# <OPTIONAL> Set this to the notifiarr react name. This is used to add indexer reactions to the notifications sent by Notifiarr
|
|
||||||
# notifiarr: <notifiarr indexer>
|
|
||||||
animebytes.tv:
|
|
||||||
tag: AnimeBytes
|
|
||||||
notifiarr: animebytes
|
|
||||||
avistaz:
|
|
||||||
tag:
|
|
||||||
- Avistaz
|
|
||||||
- tag2
|
|
||||||
- tag3
|
|
||||||
notifiarr: avistaz
|
|
||||||
beyond-hd:
|
|
||||||
tag: [Beyond-HD, tag2, tag3]
|
|
||||||
cat: movies
|
|
||||||
notifiarr: beyondhd
|
|
||||||
blutopia:
|
|
||||||
tag: Blutopia
|
|
||||||
notifiarr: blutopia
|
|
||||||
cartoonchaos:
|
|
||||||
tag: CartoonChaos
|
|
||||||
digitalcore:
|
|
||||||
tag: DigitalCore
|
|
||||||
notifiarr: digitalcore
|
|
||||||
gazellegames:
|
|
||||||
tag: GGn
|
|
||||||
hdts:
|
|
||||||
tag: HDTorrents
|
|
||||||
landof.tv:
|
|
||||||
tag: BroadcasTheNet
|
|
||||||
notifiarr: broadcasthenet
|
|
||||||
myanonamouse:
|
|
||||||
tag: MaM
|
|
||||||
passthepopcorn:
|
|
||||||
tag: PassThePopcorn
|
|
||||||
notifiarr: passthepopcorn
|
|
||||||
privatehd:
|
|
||||||
tag: PrivateHD
|
|
||||||
notifiarr:
|
|
||||||
torrentdb:
|
|
||||||
tag: TorrentDB
|
|
||||||
notifiarr: torrentdb
|
|
||||||
torrentleech|tleechreload:
|
|
||||||
tag: TorrentLeech
|
|
||||||
notifiarr: torrentleech
|
|
||||||
tv-vault:
|
|
||||||
tag: TV-Vault
|
|
||||||
# The "other" key is a special keyword and if defined will tag any other trackers that don't match the above trackers into this tag
|
|
||||||
other:
|
|
||||||
tag: other
|
|
||||||
|
|
||||||
nohardlinks:
|
|
||||||
# Tag Movies/Series that are not hard linked outside the root directory
|
|
||||||
# Mandatory to fill out directory parameter above to use this function (root_dir/remote_dir)
|
|
||||||
# This variable should be set to your category name of your completed movies/completed series in qbit. Acceptable variable can be any category you would like to tag if there are no hardlinks found
|
|
||||||
movies-completed-4k:
|
|
||||||
series-completed-4k:
|
|
||||||
movies-completed:
|
|
||||||
# <OPTIONAL> exclude_tags var: Will exclude torrents with any of the following tags when searching through the category.
|
|
||||||
exclude_tags:
|
|
||||||
- Beyond-HD
|
|
||||||
- AnimeBytes
|
|
||||||
- MaM
|
|
||||||
# <OPTIONAL> ignore_root_dir var: Will ignore any hardlinks detected in the same root_dir (Default True).
|
|
||||||
ignore_root_dir: true
|
|
||||||
# Can have additional categories set with separate ratio/seeding times defined.
|
|
||||||
series-completed:
|
|
||||||
# <OPTIONAL> exclude_tags var: Will exclude torrents with any of the following tags when searching through the category.
|
|
||||||
exclude_tags:
|
|
||||||
- Beyond-HD
|
|
||||||
- BroadcasTheNet
|
|
||||||
# <OPTIONAL> ignore_root_dir var: Will ignore any hardlinks detected in the same root_dir (Default True).
|
|
||||||
ignore_root_dir: true
|
|
||||||
|
|
||||||
share_limits:
|
|
||||||
# Control how torrent share limits are set depending on the priority of your grouping
|
|
||||||
# Each torrent will be matched with the share limit group with the highest priority that meets the group filter criteria.
|
|
||||||
# Each torrent can only be matched with one share limit group
|
|
||||||
# This variable is mandatory and is a text defining the name of your grouping. This can be any string you want
|
|
||||||
noHL:
|
|
||||||
# <MANDATORY> priority: <int/float> # This is the priority of your grouping. The lower the number the higher the priority
|
|
||||||
priority: 1
|
|
||||||
# <OPTIONAL> include_all_tags: <list> # Filter the group based on one or more tags. Multiple include_all_tags are checked with an AND condition
|
|
||||||
# All tags defined here must be present in the torrent for it to be included in this group
|
|
||||||
include_all_tags:
|
|
||||||
- noHL
|
|
||||||
# <OPTIONAL> include_any_tags: <list> # Filter the group based on one or more tags. Multiple include_any_tags are checked with an OR condition
|
|
||||||
# Any tags defined here must be present in the torrent for it to be included in this group
|
|
||||||
include_any_tags:
|
|
||||||
- noHL
|
|
||||||
# <OPTIONAL> exclude_all_tags: <list> # Filter by excluding one or more tags. Multiple exclude_all_tags are checked with an AND condition
|
|
||||||
# This is useful to combine with the category filter to exclude one or more tags from an entire category
|
|
||||||
# All tags defined here must be present in the torrent for it to be excluded in this group
|
|
||||||
exclude_all_tags:
|
|
||||||
- Beyond-HD
|
|
||||||
# <OPTIONAL> exclude_any_tags: <list> # Filter by excluding one or more tags. Multiple exclude_any_tags are checked with an OR condition
|
|
||||||
# This is useful to combine with the category filter to exclude one or more tags from an entire category
|
|
||||||
# Any tags defined here must be present in the torrent for it to be excluded in this group
|
|
||||||
exclude_any_tags:
|
|
||||||
- Beyond-HD
|
|
||||||
# <OPTIONAL> categories: <list> # Filter by including one or more categories. Multiple categories are checked with an OR condition
|
|
||||||
# Since one torrent can only be associated with a single category, multiple categories are checked with an OR condition
|
|
||||||
categories:
|
|
||||||
- RadarrComplete
|
|
||||||
- SonarrComplete
|
|
||||||
# <OPTIONAL> max_ratio <float>: Will set the torrent Maximum share ratio until torrent is stopped from seeding/uploading and may be cleaned up / removed if the minimums have been met.
|
|
||||||
# Will default to -1 (no limit) if not specified for the group.
|
|
||||||
max_ratio: 5.0
|
|
||||||
# <OPTIONAL> max_seeding_time <str>: Will set the torrent Maximum seeding time until torrent is stopped from seeding/uploading and may be cleaned up / removed if the minimums have been met.
|
|
||||||
# See Some examples of valid time expressions (https://github.com/onegreyonewhite/pytimeparse2)
|
|
||||||
# 32m, 2h32m, 3d2h32m, 1w3d2h32m
|
|
||||||
# Will default to -1 (no limit) if not specified for the group. (Max value of 1 year (525600 minutes))
|
|
||||||
max_seeding_time: 90d
|
|
||||||
# <OPTIONAL> min_seeding_time <str>: Will prevent torrent deletion by cleanup variable if torrent has not yet minimum seeding time (minutes).
|
|
||||||
# This should only be set if you are using this in conjunction with max_seeding_time and max_ratio. If you are not setting a max_ratio, then use max_seeding_time instead.
|
|
||||||
# If the torrent has not yet reached this minimum seeding time, it will change the share limits back to no limits and resume the torrent to continue seeding.
|
|
||||||
# See Some examples of valid time expressions (https://github.com/onegreyonewhite/pytimeparse2)
|
|
||||||
# 32m, 2h32m, 3d2h32m, 1w3d2h32m
|
|
||||||
# Will default to 0 if not specified for the group.
|
|
||||||
min_seeding_time: 30d
|
|
||||||
# <OPTIONAL> last_active <str>: Will prevent torrent deletion by cleanup variable if torrent has been active within the last x minutes.
|
|
||||||
# If the torrent has been active within the last x minutes, it will change the share limits back to no limits and resume the torrent to continue seeding.
|
|
||||||
# See Some examples of valid time expressions (https://github.com/onegreyonewhite/pytimeparse2)
|
|
||||||
# 32m, 2h32m, 3d2h32m, 1w3d2h32m
|
|
||||||
# Will default to 0 if not specified for the group.
|
|
||||||
last_active: 30d
|
|
||||||
# <OPTIONAL> Limit Upload Speed <int>: Will limit the upload speed KiB/s (KiloBytes/second) (`-1` : No Limit)
|
|
||||||
limit_upload_speed: 0
|
|
||||||
# <OPTIONAL> Enable Group Upload Speed <bool>: Upload speed limits are applied at the group level. This will take limit_upload_speed defined and divide it equally among the number of torrents in the group.
|
|
||||||
enable_group_upload_speed: false
|
|
||||||
# <OPTIONAL> cleanup <bool>: WARNING!! Setting this as true Will remove and delete contents of any torrents that satisfies the share limits (max time OR max ratio)
|
|
||||||
cleanup: false
|
|
||||||
# <OPTIONAL> resume_torrent_after_change <bool>: This variable will resume your torrent after changing share limits. Default is true
|
|
||||||
resume_torrent_after_change: true
|
|
||||||
# <OPTIONAL> add_group_to_tag <bool>: This adds your grouping as a tag with a prefix defined in settings . Default is true
|
|
||||||
# Example: A grouping defined as noHL will have a tag set to ~share_limit.noHL (if using the default prefix)
|
|
||||||
add_group_to_tag: true
|
|
||||||
# <OPTIONAL> min_num_seeds <int>: Will prevent torrent deletion by cleanup variable if the number of seeds is less than the value set here.
|
|
||||||
# If the torrent has less number of seeds than the min_num_seeds, the share limits will be changed back to no limits and resume the torrent to continue seeding.
|
|
||||||
# Will default to 0 if not specified for the group.
|
|
||||||
min_num_seeds: 0
|
|
||||||
# <OPTIONAL> custom_tag <str>: Apply a custom tag name for this particular group. **WARNING (This tag MUST be unique as it will be used to determine share limits. Please ensure it does not overlap with any other tags in qbt)**
|
|
||||||
custom_tag: sharelimits_noHL
|
|
||||||
cross-seed:
|
|
||||||
priority: 2
|
|
||||||
include_all_tags:
|
|
||||||
- cross-seed
|
|
||||||
max_seeding_time: 7d
|
|
||||||
cleanup: false
|
|
||||||
PTP:
|
|
||||||
priority: 3
|
|
||||||
include_all_tags:
|
|
||||||
- PassThePopcorn
|
|
||||||
max_ratio: 2.0
|
|
||||||
max_seeding_time: 90d
|
|
||||||
cleanup: false
|
|
||||||
default:
|
|
||||||
priority: 999
|
|
||||||
max_ratio: -1
|
|
||||||
max_seeding_time: -1
|
|
||||||
cleanup: false
|
|
||||||
|
|
||||||
recyclebin:
|
|
||||||
# Recycle Bin method of deletion will move files into the recycle bin (Located in /root_dir/.RecycleBin) instead of directly deleting them in qbit
|
|
||||||
# By default the Recycle Bin will be emptied on every run of the qbit_manage script if empty_after_x_days is defined.
|
|
||||||
enabled: true
|
|
||||||
# <OPTIONAL> empty_after_x_days var:
|
|
||||||
# Will automatically remove all files and folders in recycle bin after x days. (Checks every script run)
|
|
||||||
# If this variable is not defined it, the RecycleBin will never be emptied.
|
|
||||||
# WARNING: Setting this variable to 0 will delete all files immediately upon script run!
|
|
||||||
empty_after_x_days: 60
|
|
||||||
# <OPTIONAL> save_torrents var:
|
|
||||||
# If this option is set to true you MUST fill out the torrents_dir in the directory attribute.
|
|
||||||
# This will save a copy of your .torrent and .fastresume file in the recycle bin before deleting it from qbittorrent
|
|
||||||
save_torrents: true
|
|
||||||
# <OPTIONAL> split_by_category var:
|
|
||||||
# This will split the recycle bin folder by the save path defined in the `cat` attribute
|
|
||||||
# and add the base folder name of the recycle bin that was defined in the `recycle_bin` sub-attribute under directory.
|
|
||||||
split_by_category: false
|
|
||||||
|
|
||||||
orphaned:
|
|
||||||
# Orphaned files are those in the root_dir download directory that are not referenced by any active torrents.
|
|
||||||
# Will automatically remove all files and folders in orphaned data after x days. (Checks every script run)
|
|
||||||
# If this variable is not defined it, the orphaned data will never be emptied.
|
|
||||||
# WARNING: Setting this variable to 0 will delete all files immediately upon script run!
|
|
||||||
empty_after_x_days: 60
|
|
||||||
# File patterns that will not be considered orphaned files. Handy for generated files that aren't part of the torrent but belong with the torrent's files
|
|
||||||
exclude_patterns:
|
|
||||||
- "**/.DS_Store"
|
|
||||||
- "**/Thumbs.db"
|
|
||||||
- "**/@eaDir"
|
|
||||||
- "/data/torrents/temp/**"
|
|
||||||
- "**/*.!qB"
|
|
||||||
- "**/*_unpackerred"
|
|
||||||
# Set your desired threshold for the maximum number of orphaned files qbm will delete in a single run. (-1 to disable safeguards)
|
|
||||||
# This will help reduce the number of accidental large amount orphaned deletions in a single run
|
|
||||||
# WARNING: Setting this variable to -1 will not safeguard against any deletions
|
|
||||||
max_orphaned_files_to_delete: 50
|
|
||||||
|
|
||||||
apprise:
|
|
||||||
# Apprise integration with webhooks
|
|
||||||
# Leave Empty/Blank to disable
|
|
||||||
# Mandatory to fill out the url of your apprise API endpoint
|
|
||||||
api_url: http://apprise-api:8000
|
|
||||||
# Mandatory to fill out the notification url/urls based on the notification services provided by apprise. https://github.com/caronc/apprise/wiki
|
|
||||||
notify_url:
|
|
||||||
|
|
||||||
notifiarr:
|
|
||||||
# Notifiarr integration with webhooks
|
|
||||||
# Leave Empty/Blank to disable
|
|
||||||
# Mandatory to fill out API Key
|
|
||||||
apikey: ####################################
|
|
||||||
# <OPTIONAL> Set to a unique value (could be your username on notifiarr for example)
|
|
||||||
instance:
|
|
||||||
|
|
||||||
webhooks:
|
|
||||||
# Webhook notifications:
|
|
||||||
# Possible values:
|
|
||||||
# Set value to notifiarr if using notifiarr integration
|
|
||||||
# Set value to apprise if using apprise integration
|
|
||||||
# Set value to a valid webhook URL
|
|
||||||
# Set value to nothing (leave Empty/Blank) to disable
|
|
||||||
error: https://mywebhookurl.com/qbt_manage
|
|
||||||
run_start: notifiarr
|
|
||||||
run_end: apprise
|
|
||||||
function:
|
|
||||||
cross_seed: https://mywebhookurl.com/qbt_manage
|
|
||||||
recheck: notifiarr
|
|
||||||
cat_update: apprise
|
|
||||||
tag_update: notifiarr
|
|
||||||
rem_unregistered: notifiarr
|
|
||||||
tag_tracker_error: notifiarr
|
|
||||||
rem_orphaned: notifiarr
|
|
||||||
tag_nohardlinks: notifiarr
|
|
||||||
share_limits: notifiarr
|
|
||||||
cleanup_dirs: notifiarr
|
|
||||||
|
|
|
@ -1,24 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=qBittorrent manager
|
|
||||||
Wants=qbittorrent.service
|
|
||||||
After=qbittorrent.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=on-failure
|
|
||||||
TimeoutStartSec=900
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=default.target
|
|
||||||
|
|
||||||
[Container]
|
|
||||||
Image=ghcr.io/stuffanthings/qbit_manage:latest
|
|
||||||
ContainerName=qbit_manage
|
|
||||||
HostName=qbit_manage
|
|
||||||
Pod=MAMstack.pod
|
|
||||||
AutoUpdate=registry
|
|
||||||
|
|
||||||
Volume=qbit_manage-config:/config
|
|
||||||
Volume=/volumes/books/qbittorrent/downloads:/data/torrents
|
|
||||||
Volume=qbittorrent-config:/qbittorrent
|
|
||||||
|
|
||||||
EnvironmentFile=qbit_manage.env
|
|
|
@ -1,19 +0,0 @@
|
||||||
QBT_RUN=false
|
|
||||||
QBT_SCHEDULE=1440
|
|
||||||
QBT_CONFIG=config.yml
|
|
||||||
QBT_LOGFILE=activity.log
|
|
||||||
QBT_CROSS_SEED=false
|
|
||||||
QBT_RECHECK=false
|
|
||||||
QBT_CAT_UPDATE=false
|
|
||||||
QBT_TAG_UPDATE=false
|
|
||||||
QBT_REM_UNREGISTERED=false
|
|
||||||
QBT_REM_ORPHANED=false
|
|
||||||
QBT_TAG_TRACKER_ERROR=false
|
|
||||||
QBT_TAG_NOHARDLINKS=false
|
|
||||||
QBT_SHARE_LIMITS=false
|
|
||||||
QBT_SKIP_CLEANUP=false
|
|
||||||
QBT_DRY_RUN=false
|
|
||||||
QBT_LOG_LEVEL=INFO
|
|
||||||
QBT_DIVIDER==
|
|
||||||
QBT_WIDTH=100
|
|
||||||
|
|
|
@ -1,26 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Port forward updater for qbittorrent over gluetun
|
|
||||||
After=gluetun.service
|
|
||||||
After=qbittorrent.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=on-failure
|
|
||||||
TimeoutStartSec=900
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=default.target
|
|
||||||
|
|
||||||
[Container]
|
|
||||||
# TODO: Replace this with one that has tags
|
|
||||||
# Probably have to repack my own
|
|
||||||
Image=docker.io/mjmeli/qbittorrent-port-forward-gluetun-server:latest
|
|
||||||
ContainerName=qbittorrent-port-forward-gluetun-server
|
|
||||||
HostName=qbittorrent-port-forward-gluetun-server
|
|
||||||
Pod=MAMstack
|
|
||||||
AutoUpdate=registry
|
|
||||||
|
|
||||||
Environment=QBT_USERNAME=$qbt_user
|
|
||||||
Environment=QBT_ADDR=http://localhost:8080
|
|
||||||
Environment=GTN_ADDR=http://localhost:8000
|
|
||||||
|
|
||||||
Secret=qbt_pw,type=env,target=QBT_PASSWORD
|
|
|
@ -1,27 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=qbittorrent client
|
|
||||||
After=gluetun.service
|
|
||||||
BindsTo=gluetun.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=on-failure
|
|
||||||
TimeoutStartSec=900
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=default.target
|
|
||||||
|
|
||||||
[Container]
|
|
||||||
Image=docker.io/qbittorrentofficial/qbittorrent-nox:$qbt_version
|
|
||||||
ContainerName=qbittorrent
|
|
||||||
HostName=qbittorrent
|
|
||||||
AutoUpdate=registry
|
|
||||||
|
|
||||||
Network=
|
|
||||||
|
|
||||||
Volume=/volumes/books/qbittorrent/config:/config
|
|
||||||
Volume=/volumes/books/qbittorrent/downloads:/downloads
|
|
||||||
|
|
||||||
Environment=QBT_LEGAL_NOTICE=confirm
|
|
||||||
Environment=QBT_VERSION=$qbt_version
|
|
||||||
Environment=TZ=$timezone
|
|
||||||
|
|
|
@ -1,28 +0,0 @@
|
||||||
[Unit]
|
|
||||||
Description=Update qbittorrent session IP for tracker
|
|
||||||
After=qbittorrent.service
|
|
||||||
After=gluetun.service
|
|
||||||
BindsTo=gluetun.service
|
|
||||||
BindsTo=qbittorrent.service
|
|
||||||
|
|
||||||
[Service]
|
|
||||||
Restart=on-failure
|
|
||||||
TimeoutStartSec=900
|
|
||||||
|
|
||||||
[Install]
|
|
||||||
WantedBy=default.target
|
|
||||||
|
|
||||||
[Container]
|
|
||||||
# TODO: Is `latest` safe for this container?
|
|
||||||
Image=docker.io/myanonamouse/seedboxapi:latest
|
|
||||||
ContainerName=seedboxapi
|
|
||||||
HostName=seedboxapi
|
|
||||||
Pod=MAMstack.pod
|
|
||||||
AutoUpdate=registry
|
|
||||||
|
|
||||||
Volume=/volumes/books/seedboxapi/config:/config
|
|
||||||
|
|
||||||
Environment=DEBUG=1
|
|
||||||
Environment=interval=1
|
|
||||||
|
|
||||||
Secret=mam_id,type=env,target=mam_id
|
|
Loading…
Add table
Reference in a new issue