Files
k3s-cluster/qbittorrent/qbittorrent.yaml

122 lines
2.3 KiB
YAML

apiVersion: v1
kind: Namespace
metadata:
name: qbittorrent
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: qbittorrent
namespace: qbittorrent
labels:
app: qbittorrent
spec:
replicas: 1
selector:
matchLabels:
app: qbittorrent
template:
metadata:
labels:
app: qbittorrent
spec:
containers:
- name: qbittorrent
image: lscr.io/linuxserver/qbittorrent:latest
ports:
- containerPort: 6880 # Web UI
- containerPort: 6881 # Torrenting (TCP)
env:
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: TZ
value: "Etc/UTC"
- name: WEBUI_PORT
value: "6880"
- name: TORRENTING_PORT
value: "6881"
volumeMounts:
- name: config
mountPath: /config
- name: downloads
mountPath: /downloads
volumes:
- name: config
persistentVolumeClaim:
claimName: qbittorrent-config
- name: downloads
persistentVolumeClaim:
claimName: qbittorrent-downloads
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: qbittorrent-config
namespace: qbittorrent
labels:
app: qbittorrent
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
storageClassName: local-path
---
apiVersion: v1
kind: PersistentVolume
metadata:
name: qbittorrent-downloads-pv
spec:
capacity:
storage: 100Gi
accessModes:
- ReadWriteMany
nfs:
server: 10.88.30.10
path: /volume1/jellyfin/media/downloads
persistentVolumeReclaimPolicy: Retain
---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: qbittorrent-downloads
namespace: qbittorrent
labels:
app: qbittorrent
spec:
accessModes:
- ReadWriteMany
storageClassName: ""
resources:
requests:
storage: 100Gi
volumeName: qbittorrent-downloads-pv
---
apiVersion: v1
kind: Service
metadata:
name: qbittorrent
namespace: qbittorrent
labels:
app: qbittorrent
spec:
type: ClusterIP
ports:
- port: 80
targetPort: 6880
protocol: TCP
name: webui
- port: 6881
targetPort: 6881
protocol: TCP
name: torrenting-tcp
- port: 6881
targetPort: 6881
protocol: UDP
name: torrenting-udp
selector:
app: qbittorrent