Last active
May 12, 2024 16:40
-
-
Save turnipsoup/a2eefe4c767d8c5706e8f0e9f166da51 to your computer and use it in GitHub Desktop.
Transmission, but in Kubernetes!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
kind: Secret | |
metadata: | |
name: transmission-secrets | |
namespace: house-infra | |
stringData: | |
transmission-password: SecretPass! |
Hi!
I'm trying to use this, but transmission can't seem to be able to connect to trackers, both udp and tcp.
Transmossion says port 51413 is open, and I port-forwarded it from my router and firewall.
I can also telnet my IP, port 51413.
Is there anything else I can check to see why it doesn't connect to trackers? Kubectl logs do not show anything.
Thank you.
There are multiple things that can be happening
- There could be another firewall (your router) blocking this traffic coming in from the internet.
iptables
(or something similar) could be enabled on the local box and be filtering traffic. You could try fully disabling the firewall on the kubernetes host. You can use netcat to test UDP connectivity.- Use
tcpdump
either on the host machine or inside of the transmission pod to see what packets are actually being processed.
There are also a lot of discussions around using transmission in containers on their support site: https://discourse.linuxserver.io/tag/transmission
Ok, turns out to be a Suricata rule on my pfSense firewall!
Thank you for your insight!
I am happy you figured it out! Cheers!
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Remember to delete the secret yaml file after you deploy! As well, you will need to configure your kubelet to allow you to assign ports in the ranges specified in the deployment file.