diff --git a/.gitignore b/.gitignore index 764f0b8..c5a48a5 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,2 @@ -temp/ +# temp/ secrets/ diff --git a/adminer.yaml b/adminer.yaml index f562ace..3e16baf 100644 --- a/adminer.yaml +++ b/adminer.yaml @@ -41,7 +41,27 @@ metadata: traefik.ingress.kubernetes.io/router.entrypoints: web spec: rules: - - host: adminer.lipotropin.lan + - host: adminer.reticulum.lan + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: adminer-svc + port: + number: 8080 + - host: adminer.argentumcation.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: adminer-svc + port: + number: 8080 + - host: adminer.xn--2dkua.xn--tckwe http: paths: - path: / diff --git a/jackett.yaml b/jackett.yaml new file mode 100644 index 0000000..956e92c --- /dev/null +++ b/jackett.yaml @@ -0,0 +1,78 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: jackett + name: jackett +spec: + replicas: 1 + selector: + matchLabels: + app: jackett + strategy: + type: Recreate + template: + metadata: + labels: + app: jackett + spec: + containers: + - image: linuxserver/jackett:latest + name: jackett + ports: + - containerPort: 9117 + protocol: TCP + volumeMounts: + - mountPath: /config/Jackett/ + name: jackett-config-volume + restartPolicy: Always + volumes: + - name: jackett-config-volume + persistentVolumeClaim: + claimName: jackett-config-pvc +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app: jackett + name: jackett-svc +spec: + ports: + - name: "9117" + port: 9117 + targetPort: 9117 + nodePort: 31117 + type: NodePort + selector: + app: jackett +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: jackett-config-pv +spec: + capacity: + storage: 100Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: "" + nfs: + path: /mnt/raid/00_meta/05_service_config/jackett + server: 192.168.1.146 +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: jackett-config-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Gi + volumeName: jackett-config-pv + storageClassName: "" + diff --git a/ntfy.yaml b/ntfy.yaml index efefd1b..fc5b860 100644 --- a/ntfy.yaml +++ b/ntfy.yaml @@ -59,7 +59,27 @@ metadata: traefik.ingress.kubernetes.io/router.entrypoints: web spec: rules: - - host: ntfy.lipotropin.lan + - host: ntfy.reticulum.lan + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: ntfy-svc + port: + number: 80 + - host: ntfy.argentumcation.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: ntfy-svc + port: + number: 80 + - host: ntfy.xn--2dkua.xn--tckwe http: paths: - path: / diff --git a/qbittorrent.yaml b/qbittorrent.yaml index 5ad84bb..672c2f9 100644 --- a/qbittorrent.yaml +++ b/qbittorrent.yaml @@ -15,7 +15,7 @@ spec: spec: containers: - name: qbittorrent - image: linuxserver/qbittorrent + image: linuxserver/qbittorrent:libtorrentv1 env: - name: PUID value: "1000" @@ -26,6 +26,21 @@ spec: mountPath: /config - name: qbittorrent-downloads-volume mountPath: /downloads + livenessProbe: + exec: + command: + - ping + - 1.1.1.1 + - -I + - tun0 + - -nqc + - '1' + - -W + - '4' + periodSeconds: 60 + failureThreshold: 5 + initialDelaySeconds: 20 + timeoutSeconds: 10 ports: - containerPort: 8080 - name: gluetun @@ -78,6 +93,45 @@ spec: selector: app: qbittorrent --- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: qbittorrent-http + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: web +spec: + rules: + - host: qb.reticulum.lan + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: qbittorrent-svc + port: + number: 8080 + - host: qb.argentumcation.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: qbittorrent-svc + port: + number: 8080 + - host: qb.xn--2dkua.xn--tckwe + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: qbittorrent-svc + port: + number: 8080 +--- apiVersion: v1 kind: PersistentVolume metadata: diff --git a/radarr.yaml b/radarr.yaml new file mode 100644 index 0000000..73aa46d --- /dev/null +++ b/radarr.yaml @@ -0,0 +1,185 @@ +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + labels: + app: radarr + name: radarr +spec: + replicas: 1 + selector: + matchLabels: + app: radarr + strategy: + type: Recreate + template: + metadata: + labels: + app: radarr + spec: + containers: + - image: linuxserver/radarr:latest + name: radarr + ports: + - containerPort: 7878 + protocol: TCP + volumeMounts: + - mountPath: /config/ + name: radarr-config-volume + - mountPath: /downloads/ + name: radarr-downloads-volume + - mountPath: /movies/ + name: radarr-movies-volume + restartPolicy: Always + volumes: + - name: radarr-config-volume + persistentVolumeClaim: + claimName: radarr-config-pvc + - name: radarr-movies-volume + persistentVolumeClaim: + claimName: radarr-movies-pvc + - name: radarr-downloads-volume + persistentVolumeClaim: + claimName: radarr-downloads-pvc +--- +apiVersion: v1 +kind: Service +metadata: + labels: + app: radarr + name: radarr-svc +spec: + ports: + - name: "7878" + port: 7878 + targetPort: 7878 + nodePort: 31878 + type: NodePort + selector: + app: radarr +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: radarr-http + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: web +spec: + rules: + - host: radarr.reticulum.lan + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: radarr-svc + port: + number: 7878 + - host: radarr.argentumcation.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: radarr-svc + port: + number: 7878 + - host: radarr.xn--2dkua.xn--tckwe + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: radarr-svc + port: + number: 7878 +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: radarr-config-pv +spec: + capacity: + storage: 100Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: "" + nfs: + path: /mnt/raid/00_meta/02_services/radarr + server: 192.168.1.146 +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: radarr-config-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Gi + volumeName: radarr-config-pv + storageClassName: "" +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: radarr-downloads-pv +spec: + capacity: + storage: 100Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: "" + nfs: + path: /mnt/raid/00_meta/01_downloads/ + server: 192.168.1.146 +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: radarr-downloads-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Gi + volumeName: radarr-downloads-pv + storageClassName: "" + +--- +apiVersion: v1 +kind: PersistentVolume +metadata: + name: radarr-movies-pv +spec: + capacity: + storage: 100Gi + accessModes: + - ReadWriteOnce + persistentVolumeReclaimPolicy: Retain + storageClassName: "" + nfs: + path: /mnt/raid/30_media/32_movies/ + server: 192.168.1.146 +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: radarr-movies-pvc +spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 100Gi + volumeName: radarr-movies-pv + storageClassName: "" + + diff --git a/slskd.yaml b/slskd.yaml index 7080799..88e9adb 100644 --- a/slskd.yaml +++ b/slskd.yaml @@ -65,6 +65,45 @@ spec: targetPort: 50300 selector: app: slskd +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: slskd-http + annotations: + traefik.ingress.kubernetes.io/router.entrypoints: web +spec: + rules: + - host: slskd.reticulum.lan + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: slskd-svc + port: + number: 5030 + - host: slskd.argentumcation.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: slskd-svc + port: + number: 5030 + - host: slskd.xn--2dkua.xn--tckwe + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: slskd-svc + port: + number: 5030 --- apiVersion: v1 kind: PersistentVolume