transmission.yaml 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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: TRANSMISSION_RATIO_LIMIT_ENABLED
  35. value: "True"
  36. - name: TRANSMISSION_IDLE_SEEDING_LIMIT_ENABLED
  37. value: "True"
  38. - name: LOCAL_NETWORK
  39. value: 10.42.0.0/16
  40. - name: PUID
  41. value: "1000"
  42. - name: PGID
  43. value: "1000"
  44. - name: PEER_DNS
  45. value: "false"
  46. - name: OVERRIDE_DNS
  47. value: "8.8.8.8"
  48. - name: OPENVPN_PROVIDER
  49. value: PIA
  50. - name: TRANSMISSION_DOWNLOAD_DIR
  51. value: "/downloads/transmission"
  52. - name: OPENVPN_USERNAME
  53. valueFrom:
  54. secretKeyRef:
  55. name: pia-auth
  56. key: username
  57. - name: OPENVPN_PASSWORD
  58. valueFrom:
  59. secretKeyRef:
  60. name: pia-auth
  61. key: password
  62. ports:
  63. - name: web
  64. containerPort: 9091
  65. volumeMounts:
  66. - name: transmission-config
  67. mountPath: "/config/transmission-home"
  68. subPath: "config/transmission-home"
  69. - name: media-volume
  70. mountPath: "/downloads/transmission"
  71. subPath: "downloads/transmission"
  72. volumes:
  73. - name: media-volume
  74. persistentVolumeClaim:
  75. claimName: media-pvc
  76. - name: transmission-config
  77. persistentVolumeClaim:
  78. claimName: transmission-config-pvc
  79. ---
  80. apiVersion: v1
  81. kind: Service
  82. metadata:
  83. name: transmission
  84. spec:
  85. type: ClusterIP
  86. ports:
  87. - name: web
  88. port: 9091
  89. targetPort: 9091
  90. selector:
  91. app: transmission
  92. ---
  93. apiVersion: traefik.containo.us/v1alpha1
  94. kind: IngressRoute
  95. metadata:
  96. name: transmission-ingress-route
  97. namespace: default
  98. spec:
  99. entryPoints:
  100. - web
  101. routes:
  102. - match: Host(`transmission.dezendorf.net`)
  103. kind: Rule
  104. middlewares:
  105. - name: redirecthttps
  106. services:
  107. - name: transmission
  108. port: 9091
  109. ---
  110. apiVersion: traefik.containo.us/v1alpha1
  111. kind: IngressRoute
  112. metadata:
  113. name: transmission-websecure-route
  114. namespace: default
  115. spec:
  116. entryPoints:
  117. - websecure
  118. routes:
  119. - match: Host(`transmission.dezendorf.net`)
  120. kind: Rule
  121. services:
  122. - name: transmission
  123. port: 9091
  124. tls:
  125. certResolver: myresolver