4 Commits

Author SHA1 Message Date
e64dc8567a 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 33s
2025-06-06 01:49:59 +00:00
5b9210750a add apprise
All checks were successful
renovate / renovate (push) Successful in 2m1s
2025-06-05 20:48:36 -05:00
000c589d06 add apprise sidecar 2025-06-05 20:48:36 -05:00
5afc4cfd10 update config to generated 2025-06-05 20:48:36 -05:00
6 changed files with 193 additions and 46 deletions

View File

@@ -1,5 +1,28 @@
apiVersion: external-secrets.io/v1 apiVersion: external-secrets.io/v1
kind: ExternalSecret kind: ExternalSecret
metadata:
name: audiobookshelf-apprise-config
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: audiobookshelf-apprise-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/audiobookshelf/apprise
metadataPolicy: None
property: ntfy-url
---
apiVersion: external-secrets.io/v1
kind: ExternalSecret
metadata: metadata:
name: audiobookshelf-config-backup-secret name: audiobookshelf-config-backup-secret
namespace: {{ .Release.Namespace }} namespace: {{ .Release.Namespace }}

View File

@@ -0,0 +1,19 @@
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: audiobookshelf-apprise
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: audiobookshelf-apprise
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
endpoints:
- port: apprise
interval: 30s
scrapeTimeout: 15s
path: /metrics
selector:
matchLabels:
app.kubernetes.io/name: audiobookshelf
app.kubernetes.io/instance: {{ .Release.Name }}

View File

@@ -18,6 +18,37 @@ audiobookshelf:
requests: requests:
cpu: 10m cpu: 10m
memory: 128Mi memory: 128Mi
apprise-api:
image:
repository: caronc/apprise
tag: 1.2.0
pullPolicy: IfNotPresent
env:
- name: TZ
value: US/Central
- name: PGID
value: "1000"
- name: PUID
value: "1000"
- name: IPV4_ONLY
value: true
- name: APPRISE_STORAGE_MODE
value: memory
- name: APPRISE_STATEFUL_MODE
value: disabled
- name: APPRISE_WORKER_COUNT
value: 1
- name: APPRISE_STATELESS_URLS
valueFrom:
secretKeyRef:
name: audiobookshelf-apprise-config
key: ntfy-url
- name: ALLOWED_HOSTS
value: localhost
resources:
requests:
cpu: 10m
memory: 128Mi
service: service:
main: main:
controller: main controller: main
@@ -26,6 +57,10 @@ audiobookshelf:
port: 80 port: 80
targetPort: 80 targetPort: 80
protocol: HTTP protocol: HTTP
apprise:
port: 8000
targetPort: 8000
protocol: HTTP
persistence: persistence:
config: config:
storageClass: ceph-block storageClass: ceph-block

View File

@@ -33,53 +33,62 @@ data:
# https://github.com/StuffAnThings/qbit_manage/wiki/Config-Setup # https://github.com/StuffAnThings/qbit_manage/wiki/Config-Setup
commands: commands:
dry_run: True dry_run: true
recheck: False recheck: false
cat_update: False cat_update: false
tag_update: False tag_update: false
rem_unregistered: False rem_unregistered: false
tag_tracker_error: False tag_tracker_error: false
rem_orphaned: False rem_orphaned: false
tag_nohardlinks: False tag_nohardlinks: false
share_limits: False share_limits: false
skip_qb_version_check: False skip_qb_version_check: false
skip_cleanup: False skip_cleanup: false
qbt: qbt:
host: "localhost:8080" host: localhost:8080
user:
pass:
settings: settings:
force_auto_tmm: True force_auto_tmm: true
tracker_error_tag: tracker-error tracker_error_tag: tracker-error
share_limits_tag: share-limit share_limits_tag: share-limit
share_limits_min_seeding_time_tag: seed-time-not-reached share_limits_min_seeding_time_tag: seed-time-not-reached
cat_filter_completed: False cat_filter_completed: false
share_limits_filter_completed: False share_limits_filter_completed: false
rem_unregistered_filter_completed: False rem_unregistered_filter_completed: false
cat_update_all: True cat_update_all: true
disable_qbt_default_share_limits: True disable_qbt_default_share_limits: true
tag_stalled_torrents: True tag_stalled_torrents: true
nohardlinks_tag: no-hardlinks
stalled_tag: stalled
share_limits_min_num_seeds_tag: min-seeds-not-reached
share_limits_last_active_tag: last-active-not-reached
tag_nohardlinks_filter_completed: true
force_auto_tmm_ignore_tags: []
rem_unregistered_ignore_list: []
directory: directory:
root_dir: "/mnt/store/Torrent/" root_dir: /mnt/store/Torrent/
recycle_bin: "/qbittorrent/Trash" recycle_bin: /qbittorrent/Trash
torrents_dir: "/qbittorrent/qBittorrent/BT_backup" torrents_dir: /qbittorrent/qBittorrent/BT_backup
orphaned_dir: "/qbittorrent/Orphaned" orphaned_dir: /qbittorrent/Orphaned
cat: cat:
lidarr: "/mnt/store/Torrent/FINISHED/LIDARR" lidarr: /mnt/store/Torrent/FINISHED/LIDARR
prowlarr: "/mnt/store/Torrent/FINISHED/SAVE" prowlarr: /mnt/store/Torrent/FINISHED/SAVE
radarr: "/mnt/store/Torrent/FINISHED/RADARR" radarr: /mnt/store/Torrent/FINISHED/RADARR
radarr-4k: "/mnt/store/Torrent/FINISHED/RADARR4K" radarr-4k: /mnt/store/Torrent/FINISHED/RADARR4K
radarr-anime: "/mnt/store/Torrent/FINISHED/RADARRANIME" radarr-anime: /mnt/store/Torrent/FINISHED/RADARRANIME
radarr-standup: "/mnt/store/Torrent/FINISHED/RADARRSTANDUP" radarr-standup: /mnt/store/Torrent/FINISHED/RADARRSTANDUP
sonarr: "/mnt/store/Torrent/FINISHED/SONARR" sonarr: /mnt/store/Torrent/FINISHED/SONARR
sonarr-4k: "/mnt/store/Torrent/FINISHED/SONARR4K" sonarr-4k: /mnt/store/Torrent/FINISHED/SONARR4K
sonarr-anime: "/mnt/store/Torrent/FINISHED/SONARRANIME" sonarr-anime: /mnt/store/Torrent/FINISHED/SONARRANIME
"-< ZIM": "/mnt/store/Kiwix" -< ZIM: /mnt/store/Kiwix
"-< SAVE": "/mnt/store/Torrent/FINISHED/SAVE" -< SAVE: /mnt/store/Torrent/FINISHED/SAVE
"-< IMPORT": "/mnt/store/Torrent/FINISHED/IMPORT" -< IMPORT: /mnt/store/Torrent/FINISHED/IMPORT
"-< COMPLETED": /mnt/store/Torrent/FINISHED/COMPLETED -< COMPLETED: /mnt/store/Torrent/FINISHED/COMPLETED
tracker: tracker:
alpharatio.cc: alpharatio.cc:
@@ -97,10 +106,10 @@ data:
private: private:
priority: 1 priority: 1
include_all_tags: include_all_tags:
- AlphaRatio - AlphaRatio
- TorrentLeech - TorrentLeech
categories: categories:
- "-< COMPLETED" - -< COMPLETED
max_ratio: 2.0 max_ratio: 2.0
min_seeding_time: 14d min_seeding_time: 14d
max_seeding_time: 30d max_seeding_time: 30d
@@ -110,7 +119,7 @@ data:
default: default:
priority: 999 priority: 999
categories: categories:
- "-< COMPLETED" - -< COMPLETED
max_ratio: 2.0 max_ratio: 2.0
max_seeding_time: 7d max_seeding_time: 7d
limit_upload_speed: 100 limit_upload_speed: 100
@@ -125,15 +134,16 @@ data:
orphaned: orphaned:
empty_after_x_days: 30 empty_after_x_days: 30
exclude_patterns: exclude_patterns:
- "**/.DS_Store" - '**/.DS_Store'
- "**/Thumbs.db" - '**/Thumbs.db'
- "**/@eaDir" - '**/@eaDir'
- "/data/torrents/temp/**" - /data/torrents/temp/**
- "**/*.!qB" - '**/*.!qB'
- "**/*_unpackerred" - '**/*_unpackerred'
max_orphaned_files_to_delete: 50 max_orphaned_files_to_delete: 50
apprise: apprise:
api_url: http://localhost:8000/notify
notify_url: !ENV QBIT_NTFY_URL notify_url: !ENV QBIT_NTFY_URL
webhooks: webhooks:
@@ -143,3 +153,5 @@ data:
function: function:
rem_orphaned: apprise rem_orphaned: apprise
cleanup_dirs: apprise cleanup_dirs: apprise
tag_tracker_error:
share_limits:

View File

@@ -17,3 +17,24 @@ spec:
matchLabels: matchLabels:
app.kubernetes.io/name: qbittorrent app.kubernetes.io/name: qbittorrent
app.kubernetes.io/instance: {{ .Release.Name }} app.kubernetes.io/instance: {{ .Release.Name }}
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: qbittorrent-apprise
namespace: {{ .Release.Namespace }}
labels:
app.kubernetes.io/name: qbittorrent-apprise
app.kubernetes.io/instance: {{ .Release.Name }}
app.kubernetes.io/part-of: {{ .Release.Name }}
spec:
endpoints:
- port: apprise
interval: 30s
scrapeTimeout: 15s
path: /metrics
selector:
matchLabels:
app.kubernetes.io/name: qbittorrent
app.kubernetes.io/instance: {{ .Release.Name }}

View File

@@ -129,6 +129,8 @@ qbittorrent:
tag: v4.3.0 tag: v4.3.0
pullPolicy: IfNotPresent pullPolicy: IfNotPresent
env: env:
- name: TZ
value: US/Central
- name: QBT_SCHEDULE - name: QBT_SCHEDULE
value: 0 * * * * value: 0 * * * *
- name: QBT_STARTUP_DELAY - name: QBT_STARTUP_DELAY
@@ -148,6 +150,37 @@ qbittorrent:
requests: requests:
cpu: 10m cpu: 10m
memory: 64Mi memory: 64Mi
apprise-api:
image:
repository: caronc/apprise
tag: 1.2.0
pullPolicy: IfNotPresent
env:
- name: TZ
value: US/Central
- name: PGID
value: "1000"
- name: PUID
value: "1000"
- name: IPV4_ONLY
value: true
- name: APPRISE_STORAGE_MODE
value: memory
- name: APPRISE_STATEFUL_MODE
value: disabled
- name: APPRISE_WORKER_COUNT
value: 1
- name: APPRISE_STATELESS_URLS
valueFrom:
secretKeyRef:
name: qbittorrent-qbit-manage-config
key: ntfy-url
- name: ALLOWED_HOSTS
value: localhost
resources:
requests:
cpu: 10m
memory: 128Mi
service: service:
main: main:
controller: main controller: main
@@ -164,6 +197,10 @@ qbittorrent:
port: 9022 port: 9022
targetPort: 9022 targetPort: 9022
protocol: HTTP protocol: HTTP
apprise:
port: 8000
targetPort: 8000
protocol: HTTP
persistence: persistence:
config: config:
type: persistentVolumeClaim type: persistentVolumeClaim