Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save solo-yolo/eb2955043aa644efef2368a5d0733b83 to your computer and use it in GitHub Desktop.
Save solo-yolo/eb2955043aa644efef2368a5d0733b83 to your computer and use it in GitHub Desktop.
Transmission, but in Kubernetes!
kind: Deployment
apiVersion: apps/v1
metadata:
name: transmission-deployment
namespace: house-infra
labels:
app: transmission
spec:
replicas: 1
selector:
matchLabels:
app: transmission
template:
metadata:
name: transmission-pod
namespace: house-infra
labels:
app: transmission
spec:
containers:
- name: transmission-container
image: ghcr.io/linuxserver/transmission
ports:
- containerPort: 9091
protocol: TCP
- containerPort: 51413
protocol: TCP
- containerPort: 51413
protocol: UDP
volumeMounts:
- mountPath: /downloads
name: downloads-volume
- mountPath: /config
name: config-volume
- mountPath: /watch
name: watch-volume
env:
- name: PUID
value: "1000"
- name: PGID
value: "1000"
- name: TZ
value: "America/Los_Angeles"
- name: USER
value: "admin"
- name: PASS
valueFrom:
secretKeyRef:
name: transmission-secrets
key: transmission-password
volumes:
- name: downloads-volume
hostPath:
path: /opt/transmission/downloads
type: DirectoryOrCreate
- name: config-volume
hostPath:
path: /opt/transmission/config
type: DirectoryOrCreate
- name: watch-volume
hostPath:
path: /opt/transmission/watch
type: DirectoryOrCreate
---
kind: Service
apiVersion: v1
metadata:
name: transmission-service
namespace: house-infra
spec:
type: NodePort
selector:
app: transmission
ports:
- protocol: TCP
name: web-interface
port: 9091
nodePort: 9091
- protocol: TCP
name: torrent-tcp
port: 51413
nodePort: 51413
- protocol: UDP
name: torrents-udp
port: 51413
nodePort: 51413
apiVersion: v1
kind: Secret
metadata:
name: transmission-secrets
namespace: house-infra
stringData:
transmission-password: SecretPass!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment