kubernetes/k8s-wheatley/qbittorrent/deployments.yaml

144 lines
4 KiB
YAML
Raw Normal View History

2026-01-29 13:57:32 +01:00
---
apiVersion: apps/v1
kind: StatefulSet
2026-01-29 13:57:32 +01:00
metadata:
name: qbittorrent
namespace: qbittorrent
labels:
app: qbittorrent
spec:
replicas: 1
serviceName: qbittorrent
2026-01-29 13:57:32 +01:00
selector:
matchLabels:
app: qbittorrent
template:
metadata:
labels:
app: qbittorrent
spec:
initContainers:
- name: gluetun
image: ghcr.io/qdm12/gluetun
2026-01-29 13:57:32 +01:00
ports:
2026-05-09 20:14:02 +02:00
- name: qbit-http
2026-01-29 13:57:32 +01:00
containerPort: 8112
protocol: TCP
envFrom:
- configMapRef:
name: gluetun-envs
2026-05-09 21:00:11 +02:00
- secretRef:
name: gluetun-env-secrets
2026-01-29 13:57:32 +01:00
volumeMounts:
- mountPath: /dev/net/tun
name: dev-tun
2026-05-09 20:10:51 +02:00
- mountPath: /gluetun/wireguard
2026-01-29 13:57:32 +01:00
name: gluetun-wgconfig
readOnly: true
2026-04-27 13:20:35 +02:00
- name: gluetun-scripts
mountPath: /scripts
- name: gluetun-tmp
mountPath: /tmp/gluetun
2026-01-29 13:57:32 +01:00
restartPolicy: Always
lifecycle:
postStart:
exec:
command:
[
"/bin/sh",
"-c",
"(ip rule del table 51820; ip -6 rule del table 51820) || true",
]
2026-01-29 13:57:32 +01:00
readinessProbe:
exec:
command:
- sh
- -c
- "ping -c 1 9.9.9.9"
initialDelaySeconds: 5
periodSeconds: 3
timeoutSeconds: 2
failureThreshold: 3
livenessProbe:
exec:
command:
- sh
- -c
- "ping -c 1 9.9.9.9"
initialDelaySeconds: 10
periodSeconds: 15
timeoutSeconds: 2
failureThreshold: 3
securityContext:
seccompProfile:
type: RuntimeDefault
allowPrivilegeEscalation: true
capabilities:
drop:
- "ALL"
add:
- "CHOWN"
2026-01-29 13:57:32 +01:00
- "NET_ADMIN"
2026-02-19 19:20:25 +01:00
- "NET_RAW"
2026-01-29 13:57:32 +01:00
containers:
- name: qbittorrent-nox
image: docker.io/qbittorrentofficial/qbittorrent-nox
2026-01-29 13:57:32 +01:00
imagePullPolicy: IfNotPresent
envFrom:
- configMapRef:
name: qbittorrent-envs
volumeMounts:
- mountPath: /config
name: qbittorrent-config
- mountPath: /shared/media/downloads
name: nfs-media-downloads
2026-01-29 13:57:32 +01:00
securityContext:
seccompProfile:
type: RuntimeDefault
runAsUser: 1000
runAsGroup: 1000
allowPrivilegeEscalation: false
capabilities:
drop:
- "ALL"
2026-02-05 21:53:57 +01:00
- name: unpackerr
image: golift/unpackerr
imagePullPolicy: IfNotPresent
envFrom:
- configMapRef:
name: unpackerr-envs
- secretRef:
name: unpackerr-env-secrets
2026-02-05 21:53:57 +01:00
volumeMounts:
- mountPath: /shared/media/downloads
name: nfs-media-downloads
2026-02-05 21:53:57 +01:00
securityContext:
seccompProfile:
type: RuntimeDefault
runAsUser: 1000
runAsGroup: 1000
allowPrivilegeEscalation: false
capabilities:
drop:
- "ALL"
2026-01-29 13:57:32 +01:00
volumes:
- name: dev-tun
hostPath:
path: /dev/net/tun
type: CharDevice
- name: qbittorrent-config
persistentVolumeClaim:
claimName: qbittorrent-storage
- name: gluetun-wgconfig
secret:
secretName: gluetun-wgconfig
2026-04-27 13:20:35 +02:00
- name: gluetun-scripts
configMap:
name: gluetun-scripts
defaultMode: 0755
- name: gluetun-tmp
emptyDir: {}
- name: nfs-media-downloads
2026-01-29 13:57:32 +01:00
persistentVolumeClaim:
claimName: nfs-media-downloads