transmission.yaml 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112
  1. ---
  2. apiVersion: v1
  3. kind: Secret
  4. metadata:
  5. name: pia-auth
  6. data:
  7. username: cDk1MDkyMDU=
  8. password: N2lrSjhrc0ozSw==
  9. ---
  10. kind: Deployment
  11. apiVersion: apps/v1
  12. metadata:
  13. name: transmission
  14. labels:
  15. app: transmission
  16. spec:
  17. replicas: 1
  18. selector:
  19. matchLabels:
  20. app: transmission
  21. template:
  22. metadata:
  23. labels:
  24. app: transmission
  25. spec:
  26. containers:
  27. - name: transmission
  28. image: haugene/transmission-openvpn
  29. securityContext:
  30. capabilities:
  31. add:
  32. - NET_ADMIN
  33. env:
  34. - name: LOCAL_NETWORK
  35. value: 10.42.0.0/16
  36. - name: PUID
  37. value: "1000"
  38. - name: PGID
  39. value: "1000"
  40. - name: OPENVPN_PROVIDER
  41. value: PIA
  42. - name: TRANSMISSION_DOWNLOAD_DIR
  43. value: "/downloads/transmission"
  44. - name: OPENVPN_USERNAME
  45. valueFrom:
  46. secretKeyRef:
  47. name: pia-auth
  48. key: username
  49. - name: OPENVPN_PASSWORD
  50. valueFrom:
  51. secretKeyRef:
  52. name: pia-auth
  53. key: password
  54. ports:
  55. - name: web
  56. containerPort: 9091
  57. volumeMounts:
  58. - name: media-volume
  59. mountPath: "/downloads/transmission"
  60. subPath: "downloads/transmission"
  61. volumes:
  62. - name: media-volume
  63. persistentVolumeClaim:
  64. claimName: media-pvc
  65. ---
  66. apiVersion: v1
  67. kind: Service
  68. metadata:
  69. name: transmission
  70. spec:
  71. type: ClusterIP
  72. ports:
  73. - name: web
  74. port: 9091
  75. targetPort: 9091
  76. selector:
  77. app: transmission
  78. ---
  79. apiVersion: traefik.containo.us/v1alpha1
  80. kind: IngressRoute
  81. metadata:
  82. name: transmission-ingress-route
  83. namespace: default
  84. spec:
  85. entryPoints:
  86. - web
  87. routes:
  88. - match: Host(`transmission.dezendorf.net`)
  89. kind: Rule
  90. middlewares:
  91. - name: redirecthttps
  92. services:
  93. - name: transmission
  94. port: 9091
  95. ---
  96. apiVersion: traefik.containo.us/v1alpha1
  97. kind: IngressRoute
  98. metadata:
  99. name: transmission-websecure-route
  100. namespace: default
  101. spec:
  102. entryPoints:
  103. - websecure
  104. routes:
  105. - match: Host(`transmission.dezendorf.net`)
  106. kind: Rule
  107. services:
  108. - name: transmission
  109. port: 9091
  110. tls:
  111. certResolver: myresolver