diff --git a/k8s/kustomization.yaml b/k8s/kustomization.yaml index 126ea49..02ffb27 100644 --- a/k8s/kustomization.yaml +++ b/k8s/kustomization.yaml @@ -7,5 +7,6 @@ resources: - namespace.yaml - radarr - sonarr + - lidarr diff --git a/k8s/lidarr/deployment.yaml b/k8s/lidarr/deployment.yaml new file mode 100644 index 0000000..93ee7e9 --- /dev/null +++ b/k8s/lidarr/deployment.yaml @@ -0,0 +1,84 @@ +apiVersion: apps/v1 +kind: Deployment +metadata: + name: lidarr + namespace: htpc + labels: + app.kubernetes.io/name: lidarr + app.kubernetes.io/part-of: htpc +spec: + replicas: 1 + strategy: + type: Recreate + selector: + matchLabels: + app: lidarr + template: + metadata: + labels: + app: lidarr + app.kubernetes.io/name: lidarr + app.kubernetes.io/part-of: htpc + spec: + nodeSelector: + kubernetes.io/hostname: vmserver + containers: + - name: lidarr + image: lscr.io/linuxserver/lidarr:latest + imagePullPolicy: IfNotPresent + env: + - name: PUID + value: "33" + - name: PGID + value: "33" + - name: TZ + value: "Europe/Amsterdam" + - name: UMASK + value: "0002" + envFrom: + - secretRef: + name: lidarr-secret + ports: + - name: http + containerPort: 8686 + hostPort: 8686 + resources: + requests: + cpu: 100m + memory: 256Mi + limits: + cpu: 2000m + memory: 2Gi + volumeMounts: + - name: config + mountPath: /config + - name: datadisk + mountPath: /datadisk + - name: mnt-mp3 + mountPath: /mnt/mp3 + livenessProbe: + httpGet: + path: /lidarr/ping + port: 8686 + initialDelaySeconds: 60 + periodSeconds: 20 + timeoutSeconds: 5 + readinessProbe: + httpGet: + path: /lidarr/ping + port: 8686 + initialDelaySeconds: 30 + periodSeconds: 10 + timeoutSeconds: 5 + volumes: + - name: config + persistentVolumeClaim: + claimName: lidarr-config + - name: datadisk + hostPath: + path: /datadisk + type: Directory + - name: mnt-mp3 + hostPath: + path: /mnt/mp3 + type: Directory diff --git a/k8s/lidarr/kustomization.yaml b/k8s/lidarr/kustomization.yaml new file mode 100644 index 0000000..588ccf0 --- /dev/null +++ b/k8s/lidarr/kustomization.yaml @@ -0,0 +1,8 @@ +apiVersion: kustomize.config.k8s.io/v1beta1 +kind: Kustomization + +resources: + - secret.yaml + - pvc.yaml + - service.yaml + - deployment.yaml diff --git a/k8s/lidarr/pvc.yaml b/k8s/lidarr/pvc.yaml new file mode 100644 index 0000000..63ee9de --- /dev/null +++ b/k8s/lidarr/pvc.yaml @@ -0,0 +1,15 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: lidarr-config + namespace: htpc + labels: + app.kubernetes.io/name: lidarr + app.kubernetes.io/part-of: htpc +spec: + accessModes: + - ReadWriteOnce + storageClassName: local-path + resources: + requests: + storage: 10Gi diff --git a/k8s/lidarr/secret.yaml b/k8s/lidarr/secret.yaml new file mode 100644 index 0000000..f420eb5 --- /dev/null +++ b/k8s/lidarr/secret.yaml @@ -0,0 +1,20 @@ +apiVersion: v1 +kind: Secret +metadata: + name: lidarr-secret + namespace: htpc + labels: + app.kubernetes.io/name: lidarr + app.kubernetes.io/part-of: htpc +type: Opaque +stringData: + LIDARR__POSTGRES__HOST: "postgresql.cluster-infra.svc.cluster.local" + LIDARR__POSTGRES__PORT: "5432" + LIDARR__POSTGRES__USER: "lidarr" + LIDARR__POSTGRES__PASSWORD: "lidarr_pg_pass_2026" + LIDARR__POSTGRES__MAINDB: "lidarr-main" + LIDARR__POSTGRES__LOGDB: "lidarr-log" + LIDARR__SERVER__URLBASE: "lidarr" + LIDARR__SERVER__PORT: "8686" + LIDARR__SERVER__ALLOWEDHOSTS: "*" + LIDARR__AUTH__APIKEY: "463c1d257f6a473fb41a23fa34ca762b" diff --git a/k8s/lidarr/service.yaml b/k8s/lidarr/service.yaml new file mode 100644 index 0000000..aa1153c --- /dev/null +++ b/k8s/lidarr/service.yaml @@ -0,0 +1,17 @@ +apiVersion: v1 +kind: Service +metadata: + name: lidarr + namespace: htpc + labels: + app.kubernetes.io/name: lidarr + app.kubernetes.io/part-of: htpc +spec: + type: ClusterIP + ports: + - port: 8686 + targetPort: 8686 + protocol: TCP + name: http + selector: + app: lidarr