diff --git a/k8s/flaresolverr.yaml.in b/k8s/flaresolverr.yaml.in new file mode 100644 index 0000000..50f0b65 --- /dev/null +++ b/k8s/flaresolverr.yaml.in @@ -0,0 +1,58 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: flarsolverr +spec: + selector: + app: flarsolverr + ports: + - name: web + port: 8191 +#--- +#apiVersion: networking.k8s.io/v1 +#kind: Ingress +#metadata: +# name: flarsolverr +# annotations: +# spec.ingressClassName: "nginx" +# cert-manager.io/cluster-issuer: "letsencrypt" +#spec: +# tls: +# - hosts: +# - flarsolverr.{{.domain}} +# secretName: flarsolverr-tls +# rules: +# - host: flarsolverr.{{.domain}} +# http: +# paths: +# - path: / +# pathType: Prefix +# backend: +# service: +# name: flarsolverr +# port: +# number: 9696 +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: flarsolverr + labels: + app: flarsolverr +spec: + replicas: 1 + selector: + matchLabels: + app: flarsolverr + template: + metadata: + labels: + app: flarsolverr + spec: + containers: + - name: flarsolverr + image: ghcr.io/flaresolverr/flaresolverr:latest + imagePullPolicy: IfNotPresent + ports: + - containerPort: 8191 diff --git a/k8s/prowlarr.yaml.in b/k8s/prowlarr.yaml.in new file mode 100644 index 0000000..ae72eaf --- /dev/null +++ b/k8s/prowlarr.yaml.in @@ -0,0 +1,77 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: prowlarr +spec: + selector: + app: prowlarr + ports: + - name: web + port: 9696 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: prowlarr + annotations: + spec.ingressClassName: "nginx" + cert-manager.io/cluster-issuer: "letsencrypt" +spec: + tls: + - hosts: + - prowlarr.{{.domain}} + secretName: prowlarr-tls + rules: + - host: prowlarr.{{.domain}} + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: prowlarr + port: + number: 9696 +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: prowlarr-config +spec: + storageClassName: local-path + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: prowlarr + labels: + app: prowlarr +spec: + replicas: 1 + selector: + matchLabels: + app: prowlarr + template: + metadata: + labels: + app: prowlarr + spec: + containers: + - name: prowlarr + image: lscr.io/linuxserver/prowlarr:latest + imagePullPolicy: IfNotPresent + ports: + - containerPort: 8989 + volumeMounts: + - name: prowlarr-config + mountPath: /config + volumes: + - name: prowlarr-config + persistentVolumeClaim: + claimName: prowlarr-config diff --git a/k8s/qbitorrent.yaml.in b/k8s/qbitorrent.yaml.in new file mode 100644 index 0000000..92dc65a --- /dev/null +++ b/k8s/qbitorrent.yaml.in @@ -0,0 +1,84 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: qbitorrent +spec: + selector: + app: qbitorrent + ports: + - name: web + port: 8080 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: qbitorrent + annotations: + spec.ingressClassName: "nginx" + cert-manager.io/cluster-issuer: "letsencrypt" +spec: + tls: + - hosts: + - torrent.{{.domain}} + secretName: qbitorrent-tls + rules: + - host: torrent.{{.domain}} + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: qbitorrent + port: + number: 8080 +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: qbitorrent-config +spec: + storageClassName: local-path + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: qbitorrent + labels: + app: qbitorrent +spec: + replicas: 1 + selector: + matchLabels: + app: qbitorrent + template: + metadata: + labels: + app: qbitorrent + spec: + containers: + - name: qbitorrent + image: lscr.io/linuxserver/qbittorrent:latest + imagePullPolicy: IfNotPresent + ports: + - containerPort: 8080 + volumeMounts: + - name: qbitorrent-data + mountPath: /downloads + - name: qbitorrent-config + mountPath: /config + volumes: + - name: qbitorrent-data + nfs: + path: "/srv/nfs/torrent" + server: "10.42.0.1" + readOnly: false + - name: qbitorrent-config + persistentVolumeClaim: + claimName: qbitorrent-config diff --git a/k8s/radarr.yaml.in b/k8s/radarr.yaml.in new file mode 100644 index 0000000..c849c12 --- /dev/null +++ b/k8s/radarr.yaml.in @@ -0,0 +1,89 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: radarr +spec: + selector: + app: radarr + ports: + - name: web + port: 7878 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: radarr + annotations: + spec.ingressClassName: "nginx" + cert-manager.io/cluster-issuer: "letsencrypt" +spec: + tls: + - hosts: + - radarr.{{.domain}} + secretName: radarr-tls + rules: + - host: radarr.{{.domain}} + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: radarr + port: + number: 7878 +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: radarr-config +spec: + storageClassName: local-path + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: radarr + labels: + app: radarr +spec: + replicas: 1 + selector: + matchLabels: + app: radarr + template: + metadata: + labels: + app: radarr + spec: + containers: + - name: radarr + image: lscr.io/linuxserver/radarr:latest + imagePullPolicy: IfNotPresent + ports: + - containerPort: 8989 + volumeMounts: + - name: radarr-data + mountPath: /data + - name: radarr-config + mountPath: /config + env: + - name: PUID + value: "0" + - name: PGID + value: "0" + volumes: + - name: radarr-data + nfs: + path: "/srv/nfs" + server: "10.42.0.1" + readOnly: false + - name: radarr-config + persistentVolumeClaim: + claimName: radarr-config diff --git a/k8s/sonarr.yaml.in b/k8s/sonarr.yaml.in new file mode 100644 index 0000000..21396f7 --- /dev/null +++ b/k8s/sonarr.yaml.in @@ -0,0 +1,89 @@ +--- +apiVersion: v1 +kind: Service +metadata: + name: sonarr +spec: + selector: + app: sonarr + ports: + - name: web + port: 8989 +--- +apiVersion: networking.k8s.io/v1 +kind: Ingress +metadata: + name: sonarr + annotations: + spec.ingressClassName: "nginx" + cert-manager.io/cluster-issuer: "letsencrypt" +spec: + tls: + - hosts: + - sonarr.{{.domain}} + secretName: sonarr-tls + rules: + - host: sonarr.{{.domain}} + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: sonarr + port: + number: 8989 +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: sonarr-config +spec: + storageClassName: local-path + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 1Gi +--- +apiVersion: apps/v1 +kind: Deployment +metadata: + name: sonarr + labels: + app: sonarr +spec: + replicas: 1 + selector: + matchLabels: + app: sonarr + template: + metadata: + labels: + app: sonarr + spec: + containers: + - name: sonarr + image: lscr.io/linuxserver/sonarr:latest + imagePullPolicy: IfNotPresent + ports: + - containerPort: 8989 + volumeMounts: + - name: sonarr-data + mountPath: /data + - name: sonarr-config + mountPath: /config + env: + - name: PUID + value: "0" + - name: PGID + value: "0" + volumes: + - name: sonarr-data + nfs: + path: "/srv/nfs" + server: "10.42.0.1" + readOnly: false + - name: sonarr-config + persistentVolumeClaim: + claimName: sonarr-config