2 Commits

Author SHA1 Message Date
2809b8ff85 Update ghcr.io/immich-app/immich-server Docker tag to v1.134.0
All checks were successful
lint-and-test-charts / lint-test (pull_request) Successful in 35s
2025-06-05 04:36:58 +00:00
30db91d8c2 add qbit manage
All checks were successful
renovate / renovate (push) Successful in 2m14s
2025-06-04 23:35:38 -05:00
4 changed files with 209 additions and 0 deletions

View File

@@ -13,9 +13,11 @@ sources:
- https://github.com/qbittorrent/qBittorrent
- https://github.com/qdm12/gluetun
- https://github.com/esanchezm/prometheus-qbittorrent-exporter
- https://github.com/StuffAnThings/qbit_manage
- https://docs.linuxserver.io/images/docker-qbittorrent/
- https://github.com/qdm12/gluetun/pkgs/container/gluetun
- https://hub.docker.com/r/esanchezm/prometheus-qbittorrent-exporter
- https://github.com/stuffanthings/qbit_manage/pkgs/container/qbit_manage
- https://github.com/bjw-s-labs/helm-charts/tree/main/charts/other/app-template
maintainers:
- name: alexlebens

View File

@@ -16,3 +16,130 @@ data:
fi;
echo "updating port with $1";
curl -i -X POST -d "json={\"listen_port\": \"${1}\"}" "http://localhost:8080/api/v2/app/setPreferences";
---
apiVersion: v1
kind: ConfigMap
metadata:
name: qbit-manage-config
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: qbit-manage-config
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
data:
config.yml: |
# 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:
dry_run: True
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:
host: "localhost:8080"
settings:
force_auto_tmm: True
tracker_error_tag: tracker-error
share_limits_tag: share-limit
share_limits_min_seeding_time_tag: seed-time-not-reached
cat_filter_completed: False
share_limits_filter_completed: False
rem_unregistered_filter_completed: False
cat_update_all: True
disable_qbt_default_share_limits: True
tag_stalled_torrents: True
directory:
root_dir: "/mnt/store/Torrent/"
recycle_bin: "/qbittorrent/Trash"
torrents_dir: "/qbittorrent/qBittorrent/BT_backup"
orphaned_dir: "/qbittorrent/Orphaned"
cat:
lidarr: "/mnt/store/Torrent/FINISHED/LIDARR"
prowlarr: "/mnt/store/Torrent/FINISHED/SAVE"
radarr: "/mnt/store/Torrent/FINISHED/RADARR"
radarr-4k: "/mnt/store/Torrent/FINISHED/RADARR4K"
radarr-anime: "/mnt/store/Torrent/FINISHED/RADARRANIME"
radarr-standup: "/mnt/store/Torrent/FINISHED/RADARRSTANDUP"
sonarr: "/mnt/store/Torrent/FINISHED/SONARR"
sonarr-4k: "/mnt/store/Torrent/FINISHED/SONARR4K"
sonarr-anime: "/mnt/store/Torrent/FINISHED/SONARRANIME"
"-< ZIM": "/mnt/store/Kiwix"
"-< SAVE": "/mnt/store/Torrent/FINISHED/SAVE"
"-< IMPORT": "/mnt/store/Torrent/FINISHED/IMPORT"
"-< COMPLETED": /mnt/store/Torrent/FINISHED/COMPLETED
tracker:
alpharatio.cc:
tag: AlphaRatio
avistaz:
tag: Avistaz
cathod-ray.tube:
tag: CathodeRayTube
mvgroup.org:
tag: MVGroup
torrentleech|tleechreload:
tag: TorrentLeech
share_limits:
private
priority: 1
include_all_tags:
- AlphaRatio
- TorrentLeech
categories:
- "-< COMPLETED"
max_ratio: 2.0
min_seeding_time: 14d
max_seeding_time: 30d
min_num_seeds: 2
last_active: 3d
cleanup: false
default:
priority: 999
categories:
- "-< COMPLETED"
max_ratio: 2.0
max_seeding_time: 7d
limit_upload_speed: 100
cleanup: false
recyclebin:
enabled: true
empty_after_x_days: 7
save_torrents: true
split_by_category: true
orphaned:
empty_after_x_days: 30
exclude_patterns:
- "**/.DS_Store"
- "**/Thumbs.db"
- "**/@eaDir"
- "/data/torrents/temp/**"
- "**/*.!qB"
- "**/*_unpackerred"
max_orphaned_files_to_delete: 50
apprise:
notify_url: !ENV QBIT_NTFY_URL
webhooks:
error: apprise
run_start: apprise
run_end: apprise
function:
rem_orphaned: apprise
cleanup_dirs: apprise

View File

@@ -19,3 +19,26 @@ spec:
key: /protonvpn/conf/cl01tl
metadataPolicy: None
property: private-key
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata:
name: qbittorrent-qbit-manage-config
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: qbittorrent-qbit-manage-config
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
secretStoreRef:
kind: ClusterSecretStore
name: vault
data:
- secretKey: ntfy-url
remoteRef:
conversionStrategy: Default
decodingStrategy: None
key: /cl01tl/qbittorrent/qbit-manage
metadataPolicy: None
property: ntfy-url

View File

@@ -109,6 +109,31 @@ qbittorrent:
requests:
cpu: 10m
memory: 64Mi
qbit-manage:
image:
repository: ghcr.io/stuffanthings/qbit_manage
tag: v4.3.0
pullPolicy: IfNotPresent
env:
- name: QBT_SCHEDULE
value: 0 * * * *
- name: QBT_STARTUP_DELAY
value: 360
- name: QBT_CONFIG
value: /config/config.yml
- name: QBT_LOGFILE
value: /cache/activity.log
- name: QBT_LOG_LEVEL
value: INFO
- name: QBIT_NTFY_URL
valueFrom:
secretKeyRef:
name: qbittorrent-qbit-manage-config
key: ntfy-url
resources:
requests:
cpu: 10m
memory: 64Mi
service:
main:
controller: main
@@ -134,6 +159,9 @@ qbittorrent:
qbittorrent:
- path: /config
readOnly: false
qbit-manage:
- path: /qbittorrent
readOnly: false
update-script:
enabled: true
type: configMap
@@ -144,6 +172,32 @@ qbittorrent:
gluetun:
- path: /gluetun/update.sh
subPath: update.sh
qbit-manage-config-data:
storageClass: ceph-block
accessMode: ReadWriteOnce
size: 1Gi
retain: true
advancedMounts:
main:
qbit-manage:
- path: /config
readOnly: false
qbit-manage-config-cache:
type: emptyDir
advancedMounts:
main:
qbit-manage:
- path: /cache
readOnly: false
qbit-manage-config:
enabled: true
type: configMap
name: qbit-manage-config
advancedMounts:
main:
qbit-manage:
- path: /config/config.yml
subPath: config.yml
storage:
type: persistentVolumeClaim
existingClaim: qbittorrent-nfs-storage
@@ -152,3 +206,6 @@ qbittorrent:
qbittorrent:
- path: /mnt/store
readOnly: false
qbit-manage:
- path: /mnt/store
readOnly: false