diff --git a/lidarr/main.yaml b/lidarr/main.yaml index 0104493..1d7152a 100644 --- a/lidarr/main.yaml +++ b/lidarr/main.yaml @@ -89,7 +89,7 @@ spec: - name: PUID value: "1000" - name: TZ - value: UTC + value: CET image: lscr.io/linuxserver/lidarr:2.11.2 imagePullPolicy: IfNotPresent livenessProbe: diff --git a/lidarr/src/values.yaml b/lidarr/src/values.yaml index d944c00..00d52d1 100644 --- a/lidarr/src/values.yaml +++ b/lidarr/src/values.yaml @@ -17,7 +17,7 @@ image: # @default -- See below env: # -- Set the container timezone - TZ: UTC + TZ: CET PUID: 1000 PGID: 1000 diff --git a/radarr/main.yaml b/radarr/main.yaml index b3fe8d7..eaedb87 100644 --- a/radarr/main.yaml +++ b/radarr/main.yaml @@ -89,7 +89,7 @@ spec: - name: PUID value: "1000" - name: TZ - value: UTC + value: CET image: lscr.io/linuxserver/radarr:5.23.3 imagePullPolicy: IfNotPresent livenessProbe: diff --git a/radarr/src/values.yaml b/radarr/src/values.yaml index cffe509..5e276c5 100644 --- a/radarr/src/values.yaml +++ b/radarr/src/values.yaml @@ -17,7 +17,7 @@ image: # @default -- See below env: # -- Set the container timezone - TZ: UTC + TZ: CET PUID: 1000 PGID: 1000 diff --git a/sonarr/main.yaml b/sonarr/main.yaml index a8311f8..5bac9b3 100644 --- a/sonarr/main.yaml +++ b/sonarr/main.yaml @@ -89,7 +89,7 @@ spec: - name: PUID value: "1000" - name: TZ - value: UTC + value: CET image: lscr.io/linuxserver/sonarr:4.0.14 imagePullPolicy: IfNotPresent livenessProbe: diff --git a/sonarr/src/values.yaml b/sonarr/src/values.yaml index 22e35a4..22d8fe1 100644 --- a/sonarr/src/values.yaml +++ b/sonarr/src/values.yaml @@ -17,7 +17,7 @@ image: # @default -- See below env: # -- Set the container timezone - TZ: UTC + TZ: CET PUID: 1000 PGID: 1000 diff --git a/transmission/kustomization.yaml b/transmission/kustomization.yaml new file mode 100644 index 0000000..7b313f5 --- /dev/null +++ b/transmission/kustomization.yaml @@ -0,0 +1,7 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - main.yaml + - pv.yaml \ No newline at end of file diff --git a/transmission/main.yaml b/transmission/main.yaml new file mode 100644 index 0000000..4bcfa9d --- /dev/null +++ b/transmission/main.yaml @@ -0,0 +1,149 @@ +apiVersion: v1 +kind: Service +metadata: + labels: + app.kubernetes.io/instance: transmission + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: transmission + app.kubernetes.io/version: v3.00 + helm.sh/chart: transmission-8.4.3 + name: transmission +spec: + ports: + - name: http + port: 9091 + protocol: TCP + targetPort: http + selector: + app.kubernetes.io/instance: transmission + app.kubernetes.io/name: transmission + type: ClusterIP +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + app.kubernetes.io/instance: transmission + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: transmission + app.kubernetes.io/version: v3.00 + helm.sh/chart: transmission-8.4.3 + name: transmission-config +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 5Gi + storageClassName: openebs-3-replicas +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + labels: + app.kubernetes.io/instance: transmission + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: transmission + app.kubernetes.io/version: v3.00 + helm.sh/chart: transmission-8.4.3 + name: transmission-downloads +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 1Gi + storageClassName: nfs-storage + volumeName: nfs-media-transmission +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app.kubernetes.io/instance: transmission + app.kubernetes.io/managed-by: Helm + app.kubernetes.io/name: transmission + app.kubernetes.io/version: v3.00 + helm.sh/chart: transmission-8.4.3 + name: transmission +spec: + replicas: 1 + revisionHistoryLimit: 3 + selector: + matchLabels: + app.kubernetes.io/instance: transmission + app.kubernetes.io/name: transmission + strategy: + type: Recreate + template: + metadata: + labels: + app.kubernetes.io/instance: transmission + app.kubernetes.io/name: transmission + spec: + automountServiceAccountToken: true + containers: + - env: + - name: PGID + value: "1000" + - name: PUID + value: "1000" + - name: TRANSMISSION_DOWNLOAD_DIR + value: /downloads/complete + - name: TRANSMISSION_INCOMPLETE_DIR + value: /downloads/incomplete + - name: TRANSMISSION_INCOMPLETE_DIR_ENABLED + value: "false" + - name: TRANSMISSION_RPC_PASSWORD + value: CHANGEME + - name: TRANSMISSION_WATCH_DIR + value: /watch + - name: TRANSMISSION_WATCH_DIR_ENABLED + value: "false" + - name: TRANSMISSION_WEB_HOME + value: /web + - name: TZ + value: CET + image: lscr.io/linuxserver/transmission:4.0.6 + imagePullPolicy: IfNotPresent + livenessProbe: + failureThreshold: 3 + initialDelaySeconds: 0 + periodSeconds: 10 + tcpSocket: + port: 9091 + timeoutSeconds: 30 + name: transmission + ports: + - containerPort: 9091 + name: http + protocol: TCP + readinessProbe: + failureThreshold: 3 + initialDelaySeconds: 0 + periodSeconds: 10 + tcpSocket: + port: 9091 + timeoutSeconds: 30 + startupProbe: + failureThreshold: 30 + initialDelaySeconds: 0 + periodSeconds: 5 + tcpSocket: + port: 9091 + timeoutSeconds: 1 + volumeMounts: + - mountPath: /config + name: config + - mountPath: /downloads + name: downloads + dnsPolicy: ClusterFirst + enableServiceLinks: true + serviceAccountName: default + volumes: + - name: config + persistentVolumeClaim: + claimName: transmission-config + - name: downloads + persistentVolumeClaim: + claimName: transmission-downloads diff --git a/transmission/pv.yaml b/transmission/pv.yaml new file mode 100644 index 0000000..0a019c0 --- /dev/null +++ b/transmission/pv.yaml @@ -0,0 +1,17 @@ +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: nfs-media-transmission +spec: + storageClassName: nfs-storage + capacity: + storage: 1Gi # Beachte: NFS ist dynamisch, die Größe ist nur ein Label + accessModes: + - ReadWriteMany # Mehrere Pods können es gleichzeitig nutzen + persistentVolumeReclaimPolicy: Retain + nfs: + path: /mnt/volume1/media # Der Pfad der NFS-Freigabe auf der NAS + server: 192.168.10.1 # Die IP-Adresse deiner NAS + mountOptions: + - nfsvers=4 # Passe ggf. an (nfsvers=3 falls nötig) \ No newline at end of file diff --git a/transmission/src/kustomization.yaml b/transmission/src/kustomization.yaml new file mode 100644 index 0000000..5488c3f --- /dev/null +++ b/transmission/src/kustomization.yaml @@ -0,0 +1,12 @@ +--- +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +helmCharts: + - name: transmission + repo: https://k8s-at-home.com/charts/ + version: 8.4.3 + releaseName: transmission + includeCRDs: true + namespace: transmission + valuesFile: values.yaml diff --git a/transmission/src/values.yaml b/transmission/src/values.yaml new file mode 100644 index 0000000..9513435 --- /dev/null +++ b/transmission/src/values.yaml @@ -0,0 +1,121 @@ +# +# IMPORTANT NOTE +# +# This chart inherits from our common library chart. You can check the default values/options here: +# https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common/values.yaml +# + +# -- Use an initContainer to download the Flood web ui +# Set UI with env `TRANSMISSION_WEB_HOME` set to `/config/flood-for-transmission/` +# @default -- See values.yaml +initContainers: {} + # custom-webui: + # name: custom-webui + # image: curlimages/curl:7.76.1 + # command: + # - "/bin/sh" + # - "-c" + # - "curl -o- -sL https://github.com/johman10/flood-for-transmission/releases/download/latest/flood-for-transmission.tar.gz | tar xzf - -C /config" + # volumeMounts: + # - name: config + # mountPath: /config + # securityContext: + # runAsUser: 568 + # runAsGroup: 568 + +image: + # -- image repository + repository: lscr.io/linuxserver/transmission + # -- image tag + tag: 4.0.6 + # -- image pull policy + pullPolicy: IfNotPresent + +# -- environment variables. See [image docs](https://github.com/k8s-at-home/container-images/tree/main/apps/transmission/settings.json.tmpl) for more details. +# @default -- See below +env: + # -- Set the container timezone + TZ: CET + # -- Path in container where the Web UI is located + TRANSMISSION_WEB_HOME: /web + # -- Password to access the Web UI + TRANSMISSION_RPC_PASSWORD: CHANGEME + # -- Torrent download directory + TRANSMISSION_DOWNLOAD_DIR: /downloads/complete + # -- Enable incomplete download directory + TRANSMISSION_INCOMPLETE_DIR_ENABLED: false + # -- Incomplete download directory + TRANSMISSION_INCOMPLETE_DIR: /downloads/incomplete + # -- Enable watch directory + TRANSMISSION_WATCH_DIR_ENABLED: false + # -- Watch directory + TRANSMISSION_WATCH_DIR: /watch + PUID: 1000 + PGID: 1000 + +# -- Configures service settings for the chart. +# @default -- See values.yaml +service: + main: + ports: + http: + port: 9091 + utptcp: + enabled: false + type: ClusterIP + ports: + utptcp: + enabled: true + port: 51413 + protocol: TCP + targetPort: 51413 + utpudp: + enabled: false + type: ClusterIP + ports: + utpudp: + enabled: true + port: 51413 + protocol: UDP + targetPort: 51413 + +# -- Configures the probes for the main Pod. +# @default -- See values.yaml +## transmission runs the GUI and I/O on the same thread. +## Heavy bandwith usage may stall the UI and result in restarts. +probes: + liveness: + spec: + timeoutSeconds: 30 + readiness: + spec: + timeoutSeconds: 30 + +ingress: + # -- Enable and configure ingress settings for the chart under this key. + # @default -- See values.yaml + main: + enabled: false + +# -- Configure persistence settings for the chart under this key. +# @default -- See values.yaml +persistence: + config: + enabled: true + mountPath: /config + storageClass: openebs-3-replicas + accessMode: ReadWriteOnce + size: 5Gi + + downloads: + enabled: true + mountPath: /downloads + storageClass: nfs-storage + volumeName: nfs-media-transmission + accessMode: ReadWriteMany + size: 1Gi + + watch: + enabled: false + mountPath: /watch +