diff options
author | Patrick Spek <p.spek@tyil.nl> | 2022-09-11 08:23:56 +0200 |
---|---|---|
committer | Patrick Spek <p.spek@tyil.nl> | 2022-09-11 08:23:56 +0200 |
commit | 0634efc3b3cef4be100379986fc5e23d8d32e4b6 (patch) | |
tree | 07eace9ef3dfc017cd572c487c85fd2c184e8d69 /playbooks.d/k3s-master | |
parent | 5d7f8a6b8a5ea479e5b63608311f4a0b13709697 (diff) |
Redo most of the servarr stack into k3s
Diffstat (limited to 'playbooks.d/k3s-master')
30 files changed, 752 insertions, 94 deletions
diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/configmap.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/configmap.yaml new file mode 100644 index 0000000..8d0b56d --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/configmap.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: servarr + namespace: servarr +data: + groupId: "1001" # media + timezone: "Europe/Amsterdam" + umask: "002" + userId: "169" # transmission +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyfin/deployment.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyfin/deployment.yaml deleted file mode 100644 index 3b0639e..0000000 --- a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyfin/deployment.yaml +++ /dev/null @@ -1,56 +0,0 @@ ---- -apiVersion: apps/v1 -kind: Deployment -metadata: - name: jellyfin - namespace: servarr -spec: - replicas: 1 - selector: - matchLabels: - app.kubernetes.io/created-by: tyil - app.kubernetes.io/managed-by: manual - app.kubernetes.io/name: jellyfin - app.kubernetes.io/part-of: servarr - template: - metadata: - labels: - app.kubernetes.io/created-by: tyil - app.kubernetes.io/managed-by: manual - app.kubernetes.io/name: jellyfin - app.kubernetes.io/part-of: servarr - spec: - containers: - - name: jellyfin - image: jellyfin/jellyfin:latest - env: - - name: JELLYFIN_PublishedServerUrl - value: "https://tv.tyil.nl" - ports: - - containerPort: 8096 - volumeMounts: - - name: cache - mountPath: /cache - - name: config - mountPath: /config - - name: media - mountPath: /mnt/media - volumes: - - name: config - hostPath: - type: DirectoryOrCreate - path: /srv/servarr/jellyfin/config - - name: cache - hostPath: - type: DirectoryOrCreate - path: /srv/servarr/jellyfin/cache - - name: media - hostPath: - type: Directory - path: /mnt/media - readOnly: true - - name: dri - hostPath: - type: File - path: /dev/dri/renderD128 -... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyseerr/deployment.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyseerr/deployment.yaml new file mode 100644 index 0000000..d96b030 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyseerr/deployment.yaml @@ -0,0 +1,42 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: jellyseerr + namespace: servarr +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: jellyseerr + app.kubernetes.io/part-of: servarr + template: + metadata: + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: jellyseerr + app.kubernetes.io/part-of: servarr + spec: + containers: + - name: jellyseerr + image: fallenbagel/jellyseerr:latest + ports: + - containerPort: 5055 + volumeMounts: + - name: config + mountPath: /app/config + env: + - name: TZ + valueFrom: + configMapKeyRef: + name: servarr + key: timezone + volumes: + - name: config + hostPath: + type: DirectoryOrCreate + path: /srv/servarr/jellyseerr/config +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyfin/ingress.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyseerr/ingress.yaml index 2bc9eb2..41f4852 100644 --- a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyfin/ingress.yaml +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyseerr/ingress.yaml @@ -2,19 +2,24 @@ apiVersion: networking.k8s.io/v1 kind: Ingress metadata: - name: jellyfin + name: jellyseerr namespace: servarr + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: jellyseerr + app.kubernetes.io/part-of: servarr spec: ingressClassName: "nginx" rules: - - host: tv.tyil.nl + - host: arr.tyil.nl http: paths: - path: / pathType: Prefix backend: service: - name: jellyfin + name: jellyseerr port: number: 80 ... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyfin/kustomization.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyseerr/kustomization.yaml index 5ee3790..5ee3790 100644 --- a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyfin/kustomization.yaml +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyseerr/kustomization.yaml diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyseerr/service.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyseerr/service.yaml new file mode 100644 index 0000000..f093194 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyseerr/service.yaml @@ -0,0 +1,22 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: jellyseerr + namespace: servarr + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: jellyseerr + app.kubernetes.io/part-of: servarr +spec: + selector: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: jellyseerr + app.kubernetes.io/part-of: servarr + ports: + - protocol: TCP + port: 80 + targetPort: 5055 +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/kustomization.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/kustomization.yaml index b1b5639..f18aec4 100644 --- a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/kustomization.yaml +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/kustomization.yaml @@ -2,7 +2,20 @@ apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: +# Shared configuration +- configmap.yaml + +# Main deployments +#- lidarr +- radarr +#- readarr +- sonarr + +# Management +- prowlarr +- jellyseerr + +# Additional helper services - bazarr -- jellyfin -- mylar +- unpackerr ... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/mylar/ingress.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/mylar/ingress.yaml deleted file mode 100644 index 1291807..0000000 --- a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/mylar/ingress.yaml +++ /dev/null @@ -1,20 +0,0 @@ ---- -apiVersion: networking.k8s.io/v1 -kind: Ingress -metadata: - name: mylar - namespace: servarr -spec: - ingressClassName: "nginx" - rules: - - host: myl.arr.tyil.nl - http: - paths: - - path: / - pathType: Prefix - backend: - service: - name: mylar - port: - number: 80 -... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/mylar/deployment.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/prowlarr/deployment.yaml index badb91d..50f4e34 100644 --- a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/mylar/deployment.yaml +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/prowlarr/deployment.yaml @@ -2,7 +2,7 @@ apiVersion: apps/v1 kind: Deployment metadata: - name: mylar + name: prowlarr namespace: servarr spec: replicas: 1 @@ -10,21 +10,21 @@ spec: matchLabels: app.kubernetes.io/created-by: tyil app.kubernetes.io/managed-by: manual - app.kubernetes.io/name: mylar + app.kubernetes.io/name: prowlarr app.kubernetes.io/part-of: servarr template: metadata: labels: app.kubernetes.io/created-by: tyil app.kubernetes.io/managed-by: manual - app.kubernetes.io/name: mylar + app.kubernetes.io/name: prowlarr app.kubernetes.io/part-of: servarr spec: containers: - - name: mylar - image: cr.hotio.dev/hotio/mylar3:release + - name: bazar + image: cr.hotio.dev/hotio/prowlarr:nightly ports: - - containerPort: 8090 + - containerPort: 9696 volumeMounts: - name: config mountPath: /config @@ -32,5 +32,5 @@ spec: - name: config hostPath: type: DirectoryOrCreate - path: /srv/servarr/mylar/config + path: /srv/servarr/prowlarr/config ... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/prowlarr/ingress.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/prowlarr/ingress.yaml new file mode 100644 index 0000000..dcffc36 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/prowlarr/ingress.yaml @@ -0,0 +1,35 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: prowlarr + namespace: servarr + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: prowlarr + app.kubernetes.io/part-of: servarr +spec: + ingressClassName: "nginx" + rules: + - host: prowl.arr.tyil.nl + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: prowlarr + port: + number: 80 + - host: prowlarr.arr.tyil.nl + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: prowlarr + port: + number: 80 +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/mylar/kustomization.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/prowlarr/kustomization.yaml index 5ee3790..5ee3790 100644 --- a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/mylar/kustomization.yaml +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/prowlarr/kustomization.yaml diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/mylar/service.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/prowlarr/service.yaml index 4e73fba..fd8a7b2 100644 --- a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/mylar/service.yaml +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/prowlarr/service.yaml @@ -2,16 +2,16 @@ apiVersion: v1 kind: Service metadata: - name: mylar + name: prowlarr namespace: servarr spec: selector: app.kubernetes.io/created-by: tyil app.kubernetes.io/managed-by: manual - app.kubernetes.io/name: mylar + app.kubernetes.io/name: prowlarr app.kubernetes.io/part-of: servarr ports: - protocol: TCP port: 80 - targetPort: 8090 + targetPort: 9696 ... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/radarr/deployment.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/radarr/deployment.yaml new file mode 100644 index 0000000..d44a84c --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/radarr/deployment.yaml @@ -0,0 +1,75 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: radarr + namespace: servarr +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: radarr + app.kubernetes.io/part-of: servarr + template: + metadata: + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: radarr + app.kubernetes.io/part-of: servarr + spec: + containers: + - name: radarr + image: hotio/radarr:release + ports: + - containerPort: 7878 + volumeMounts: + - name: config + mountPath: /config + - name: downloads + mountPath: /mnt/media/moves/source-rtorrent + - name: sorted-anime + mountPath: /mnt/media/anime-movies/exported + - name: sorted-movies + mountPath: /mnt/media/movies/exported + env: + - name: GUID + valueFrom: + configMapKeyRef: + name: servarr + key: groupId + - name: PUID + valueFrom: + configMapKeyRef: + name: servarr + key: userId + - name: TZ + valueFrom: + configMapKeyRef: + name: servarr + key: timezone + - name: UMASK + valueFrom: + configMapKeyRef: + name: servarr + key: umask + volumes: + - name: config + hostPath: + type: DirectoryOrCreate + path: /srv/servarr/radarr/config + - name: downloads + hostPath: + type: Directory + path: /mnt/media/movies/source-rtorrent + - name: sorted-anime + hostPath: + type: Directory + path: /mnt/media/anime-movies/exported + - name: sorted-movies + hostPath: + type: Directory + path: /mnt/media/movies/exported +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/radarr/ingress.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/radarr/ingress.yaml new file mode 100644 index 0000000..3950a97 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/radarr/ingress.yaml @@ -0,0 +1,35 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: radarr + namespace: servarr + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: radarr + app.kubernetes.io/part-of: servarr +spec: + ingressClassName: "nginx" + rules: + - host: rad.arr.tyil.nl + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: radarr + port: + number: 80 + - host: radarr.arr.tyil.nl + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: radarr + port: + number: 80 +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/radarr/kustomization.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/radarr/kustomization.yaml new file mode 100644 index 0000000..5ee3790 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/radarr/kustomization.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- deployment.yaml +- ingress.yaml +- service.yaml +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyfin/service.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/radarr/service.yaml index b16b1e7..9b8107c 100644 --- a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/jellyfin/service.yaml +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/radarr/service.yaml @@ -2,16 +2,21 @@ apiVersion: v1 kind: Service metadata: - name: jellyfin + name: radarr namespace: servarr + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: radarr + app.kubernetes.io/part-of: servarr spec: selector: app.kubernetes.io/created-by: tyil app.kubernetes.io/managed-by: manual - app.kubernetes.io/name: jellyfin + app.kubernetes.io/name: radarr app.kubernetes.io/part-of: servarr ports: - protocol: TCP port: 80 - targetPort: 8096 + targetPort: 7878 ... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-radarr/configmap.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-radarr/configmap.yaml new file mode 100644 index 0000000..9a40988 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-radarr/configmap.yaml @@ -0,0 +1,52 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: rtorrent-radarr + namespace: servarr + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: rtorrent-radarr + app.kubernetes.io/part-of: servarr +data: + rtorrent.rc: | + # Run rtorrent as daemon + system.daemon.set = true + session.path.set = /session + directory.default.set = /mnt/media/movies/source-rtorrent + scgi_port = 0.0.0.0:5000 + + # Connection settings + network.port_range.set = 64001-64010 + network.port_random.set = no + protocol.encryption.set = require,require_RC4 + dht.mode.set = disable + protocol.pex.set = no + trackers.use_udp.set = no + + # Filesystem settings + encoding.add = utf8 + system.umask.set = 0027 + + # Peer settings + throttle.max_uploads.set = 100 + throttle.max_uploads.global.set = 250 + + throttle.min_peers.normal.set = 20 + throttle.max_peers.normal.set = 60 + throttle.min_peers.seed.set = 30 + throttle.max_peers.seed.set = 80 + trackers.numwant.set = 80 + + # Resources + pieces.memory.max.set = 1800M + network.xmlrpc.size_limit.set = 4M + network.http.max_open.set = 50 + network.max_open_files.set = 600 + network.max_open_sockets.set = 300 + + # Logging + log.open_file = "log", "/dev/stdout" + log.add_output = "info", "log" +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-radarr/deployment.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-radarr/deployment.yaml new file mode 100644 index 0000000..f316094 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-radarr/deployment.yaml @@ -0,0 +1,61 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: rtorrent-radarr + namespace: servarr +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: rtorrent-radarr + app.kubernetes.io/part-of: servarr + template: + metadata: + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: rtorrent-radarr + app.kubernetes.io/part-of: servarr + spec: + containers: + - name: rtorrent + image: tyil/rtorrent:latest + ports: + - containerPort: 5000 + volumeMounts: + - name: config + subPath: rtorrent.rc + mountPath: /root/.rtorrent.rc + - name: session + mountPath: /session + - name: downloads + mountPath: /mnt/media/movies/source-rtorrent + - name: rutorrent + image: tyil/rutorrent:latest + ports: + - containerPort: 8080 + env: + - name: RPC_ENDPOINT + value: "/RPC2" + - name: RPC_HOST + value: "127.0.0.1" + - name: RPC_PORT + value: "5000" + volumes: + - name: config + configMap: + name: rtorrent-radarr + - name: downloads + hostPath: + type: Directory + path: /mnt/media/movies/source-rtorrent + - name: session + hostPath: + type: Directory + path: /srv/servarr/radarr/rtorrent-session +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-radarr/kustomization.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-radarr/kustomization.yaml new file mode 100644 index 0000000..5ee3790 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-radarr/kustomization.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- deployment.yaml +- ingress.yaml +- service.yaml +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-radarr/service.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-radarr/service.yaml new file mode 100644 index 0000000..89bf843 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-radarr/service.yaml @@ -0,0 +1,27 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: rtorrent-radarr + namespace: servarr + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: rtorrent-radarr + app.kubernetes.io/part-of: servarr +spec: + selector: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: rtorrent-radarr + app.kubernetes.io/part-of: servarr + ports: + - protocol: TCP + port: 5000 + targetPort: 5000 + name: xmlrpc + - protocol: TCP + port: 80 + targetPort: 8080 + name: http +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-sonarr/configmap.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-sonarr/configmap.yaml new file mode 100644 index 0000000..7b0555f --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-sonarr/configmap.yaml @@ -0,0 +1,52 @@ +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: rtorrent-sonarr + namespace: servarr + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: rtorrent-sonarr + app.kubernetes.io/part-of: servarr +data: + rtorrent.rc: | + # Run rtorrent as daemon + system.daemon.set = true + session.path.set = /session + directory.default.set = /mnt/media/series/source-rtorrent + scgi_port = 0.0.0.0:5000 + + # Connection settings + network.port_range.set = 64001-64010 + network.port_random.set = no + protocol.encryption.set = require,require_RC4 + dht.mode.set = disable + protocol.pex.set = no + trackers.use_udp.set = no + + # Filesystem settings + encoding.add = utf8 + system.umask.set = 0027 + + # Peer settings + throttle.max_uploads.set = 100 + throttle.max_uploads.global.set = 250 + + throttle.min_peers.normal.set = 20 + throttle.max_peers.normal.set = 60 + throttle.min_peers.seed.set = 30 + throttle.max_peers.seed.set = 80 + trackers.numwant.set = 80 + + # Resources + pieces.memory.max.set = 1800M + network.xmlrpc.size_limit.set = 4M + network.http.max_open.set = 50 + network.max_open_files.set = 600 + network.max_open_sockets.set = 300 + + # Logging + log.open_file = "log", "/dev/stdout" + log.add_output = "info", "log" +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-sonarr/deployment.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-sonarr/deployment.yaml new file mode 100644 index 0000000..6a46313 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-sonarr/deployment.yaml @@ -0,0 +1,61 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: rtorrent-sonarr + namespace: servarr +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: rtorrent-sonarr + app.kubernetes.io/part-of: servarr + template: + metadata: + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: rtorrent-sonarr + app.kubernetes.io/part-of: servarr + spec: + containers: + - name: rtorrent + image: tyil/rtorrent:latest + ports: + - containerPort: 5000 + volumeMounts: + - name: config + subPath: rtorrent.rc + mountPath: /root/.rtorrent.rc + - name: session + mountPath: /session + - name: downloads + mountPath: /mnt/media/series/source-rtorrent + - name: rutorrent + image: tyil/rutorrent:latest + ports: + - containerPort: 8080 + env: + - name: RPC_ENDPOINT + value: "/RPC2" + - name: RPC_HOST + value: "127.0.0.1" + - name: RPC_PORT + value: "5000" + volumes: + - name: config + configMap: + name: rtorrent-sonarr + - name: downloads + hostPath: + type: Directory + path: /mnt/media/series/source-rtorrent + - name: session + hostPath: + type: Directory + path: /srv/servarr/sonarr/rtorrent-session +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-sonarr/kustomization.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-sonarr/kustomization.yaml new file mode 100644 index 0000000..5ee3790 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-sonarr/kustomization.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- deployment.yaml +- ingress.yaml +- service.yaml +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-sonarr/service.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-sonarr/service.yaml new file mode 100644 index 0000000..c766dc5 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/rtorrent-sonarr/service.yaml @@ -0,0 +1,27 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: rtorrent-sonarr + namespace: servarr + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: rtorrent-sonarr + app.kubernetes.io/part-of: servarr +spec: + selector: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: rtorrent-sonarr + app.kubernetes.io/part-of: servarr + ports: + - protocol: TCP + port: 5000 + targetPort: 5000 + name: xmlrpc + - protocol: TCP + port: 80 + targetPort: 8080 + name: http +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/sonarr/deployment.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/sonarr/deployment.yaml new file mode 100644 index 0000000..699f8d5 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/sonarr/deployment.yaml @@ -0,0 +1,75 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sonarr + namespace: servarr +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: sonarr + app.kubernetes.io/part-of: servarr + template: + metadata: + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: sonarr + app.kubernetes.io/part-of: servarr + spec: + containers: + - name: sonarr + image: hotio/sonarr:release + ports: + - containerPort: 8989 + volumeMounts: + - name: config + mountPath: /config + - name: downloads + mountPath: /mnt/media/series/source-rtorrent + - name: sorted-anime + mountPath: /mnt/media/anime-series/exported + - name: sorted-series + mountPath: /mnt/media/series/exported + env: + - name: GUID + valueFrom: + configMapKeyRef: + name: servarr + key: groupId + - name: PUID + valueFrom: + configMapKeyRef: + name: servarr + key: userId + - name: TZ + valueFrom: + configMapKeyRef: + name: servarr + key: timezone + - name: UMASK + valueFrom: + configMapKeyRef: + name: servarr + key: umask + volumes: + - name: config + hostPath: + type: DirectoryOrCreate + path: /srv/servarr/sonarr/config + - name: downloads + hostPath: + type: Directory + path: /mnt/media/series/source-rtorrent + - name: sorted-anime + hostPath: + type: Directory + path: /mnt/media/anime-series/exported + - name: sorted-series + hostPath: + type: Directory + path: /mnt/media/series/exported +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/sonarr/ingress.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/sonarr/ingress.yaml new file mode 100644 index 0000000..a053682 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/sonarr/ingress.yaml @@ -0,0 +1,35 @@ +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: sonarr + namespace: servarr + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: sonarr + app.kubernetes.io/part-of: servarr +spec: + ingressClassName: "nginx" + rules: + - host: son.arr.tyil.nl + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: sonarr + port: + number: 80 + - host: sonarr.arr.tyil.nl + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: sonarr + port: + number: 80 +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/sonarr/kustomization.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/sonarr/kustomization.yaml new file mode 100644 index 0000000..5ee3790 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/sonarr/kustomization.yaml @@ -0,0 +1,8 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- deployment.yaml +- ingress.yaml +- service.yaml +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/sonarr/service.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/sonarr/service.yaml new file mode 100644 index 0000000..9db5fb2 --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/sonarr/service.yaml @@ -0,0 +1,22 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: sonarr + namespace: servarr + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: sonarr + app.kubernetes.io/part-of: servarr +spec: + selector: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: sonarr + app.kubernetes.io/part-of: servarr + ports: + - protocol: TCP + port: 80 + targetPort: 8989 +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/unpackerr/deployment.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/unpackerr/deployment.yaml new file mode 100644 index 0000000..49d2aaf --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/unpackerr/deployment.yaml @@ -0,0 +1,40 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: unpackerr + namespace: servarr +spec: + replicas: 1 + selector: + matchLabels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: unpackerr + app.kubernetes.io/part-of: servarr + template: + metadata: + labels: + app.kubernetes.io/created-by: tyil + app.kubernetes.io/managed-by: manual + app.kubernetes.io/name: unpackerr + app.kubernetes.io/part-of: servarr + spec: + containers: + - name: unpackerr + image: golift/unpackerr:latest + volumeMounts: + - name: config + mountPath: /etc/unpackerr + - name: downloads-sonarr + mountPath: /mnt/media/series/source-rtorrent + volumes: + - name: config + hostPath: + type: DirectoryOrCreate + path: /srv/servarr/unpackerr/config + - name: downloads-sonarr + hostPath: + type: Directory + path: /mnt/media/series/source-rtorrent +... diff --git a/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/unpackerr/kustomization.yaml b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/unpackerr/kustomization.yaml new file mode 100644 index 0000000..83c68dc --- /dev/null +++ b/playbooks.d/k3s-master/share/manifests/applications/edephas.tyil.net/servarr/unpackerr/kustomization.yaml @@ -0,0 +1,6 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization +resources: +- deployment.yaml +... |