diff --git a/deployments/media/transmission/deployment.yaml b/deployments/media/transmission/deployment.yaml new file mode 100644 index 0000000..6ce7c0d --- /dev/null +++ b/deployments/media/transmission/deployment.yaml @@ -0,0 +1,113 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: transmission + namespace: media + labels: + app: transmission +spec: + replicas: 1 + selector: + matchLabels: + app: transmission + template: + metadata: + labels: + app: transmission + spec: + securityContext: + capabilities: + add: + - NET_ADMIN + containers: + - name: gluetun + image: qmcgaw/gluetun:latest + env: + - name: VPN_SERVICE_PROVIDER + value: protonvpn + - name: REGION + value: "New York" + - name: OPENVPN_USER + valueFrom: + secretKeyRef: + name: transmission-vpn-secret + key: VPN_USERNAME + - name: OPENVPN_PASSWORD + valueFrom: + secretKeyRef: + name: transmission-vpn-secret + key: VPN_PASSWORD + - name: WIREGUARD_PRIVATE_KEY + valueFrom: + secretKeyRef: + name: transmission-vpn-secret + key: WIREGUARD_PRIVATE_KEY + - name: FIREWALL_OUTBOUND_SUBNET + value: "" + - name: UPNP_ENABLED + value: "true" + - name: DOT + value: "true" + volumeMounts: + - name: config + mountPath: /gluetun + - name: transmission + image: lscr.io/linuxserver/transmission:latest + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: "America/New_York" + - name: USER + valueFrom: + secretKeyRef: + name: transmission-vpn-secret + key: TRANS_USERNAME + - name: PASS + valueFrom: + secretKeyRef: + name: transmission-vpn-secret + key: TRANS_PASSWORD + - name: WHITELIST + value: "*" + - name: HOST_WHITELIST + value: "transmission.khalis.corp" + - name: PEER_PORT + value: "51413" + - name: NVM_CONFIGDIR + value: "/config" + - name: NVM_DATAROOT + value: "/downloads" + ports: + - containerPort: 9091 + name: http + - containerPort: 51413 + protocol: TCP + name: peer-tcp + - containerPort: 51413 + protocol: UDP + name: peer-udp + volumeMounts: + - name: config + mountPath: /config + - name: media + mountPath: /downloads + - name: downloads + mountPath: /downloads + - name: watch + mountPath: /watch + volumes: + - name: config + persistentVolumeClaim: + claimName: transmission-config + - name: media + persistentVolumeClaim: + claimName: media-data + - name: downloads + persistentVolumeClaim: + claimName: media-data + - name: watch + persistentVolumeClaim: + claimName: media-data