diff --git a/deployments/media/bazarr/deployment.yaml b/deployments/media/bazarr/deployment.yaml index e9c93f8..9290b20 100644 --- a/deployments/media/bazarr/deployment.yaml +++ b/deployments/media/bazarr/deployment.yaml @@ -3,8 +3,6 @@ kind: Deployment metadata: name: bazarr namespace: media - labels: - app: bazarr spec: replicas: 1 selector: @@ -20,11 +18,27 @@ spec: image: lscr.io/linuxserver/bazarr:latest ports: - containerPort: 6767 - env: [] - resources: - requests: - cpu: 100m - memory: 128Mi - limits: - cpu: 500m - memory: 512Mi + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: "America/New_York" + volumeMounts: + - name: config + mountPath: /config + - name: media + mountPath: /media + - name: podcasts + mountPath: /podcasts + volumes: + - name: config + persistentVolumeClaim: + claimName: bazarr-config + - name: media + persistentVolumeClaim: + claimName: media-data + - name: podcasts + persistentVolumeClaim: + claimName: bazarr-podcasts \ No newline at end of file diff --git a/deployments/media/bazarr/ingress.yaml b/deployments/media/bazarr/ingress.yaml index fec4af5..03fb24d 100644 --- a/deployments/media/bazarr/ingress.yaml +++ b/deployments/media/bazarr/ingress.yaml @@ -1,18 +1,26 @@ -apiVersion: traefik.containo.us/v1alpha1 -kind: IngressRoute +apiVersion: networking.k8s.io/v1 +kind: Ingress metadata: name: bazarr namespace: media annotations: - kubernetes.io/ingress.class: traefik-internal + cert-manager.io/cluster-issuer: letsencrypt-prod spec: - entryPoints: - - websecure - routes: - - match: Host(`bazarr.{{ DOMAIN }}`) - kind: Rule - services: - - name: bazarr - port: 6767 tls: - secretName: bazarr-tls-secret + - hosts: + - bazarr.khalisio.com + secretName: bazarr-tls + rules: + - host: bazarr.khalisio.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: bazarr + port: + number: 6767 + entryPoints: + - web + - websecure \ No newline at end of file diff --git a/deployments/media/bazarr/service.yaml b/deployments/media/bazarr/service.yaml index e29a9e2..fde255f 100644 --- a/deployments/media/bazarr/service.yaml +++ b/deployments/media/bazarr/service.yaml @@ -9,4 +9,5 @@ spec: ports: - port: 6767 targetPort: 6767 - name: http + protocol: TCP + type: ClusterIP \ No newline at end of file diff --git a/deployments/media/emby/deployment.yaml b/deployments/media/emby/deployment.yaml index c33e00d..5172842 100644 --- a/deployments/media/emby/deployment.yaml +++ b/deployments/media/emby/deployment.yaml @@ -3,8 +3,6 @@ kind: Deployment metadata: name: emby namespace: media - labels: - app: emby spec: replicas: 1 selector: @@ -17,15 +15,26 @@ spec: spec: containers: - name: emby - image: emby/embyserver:latest + image: lscr.io/linuxserver/emby:latest ports: - containerPort: 8096 - containerPort: 8920 - env: [] - resources: - requests: - cpu: 500m - memory: 1Gi - limits: - cpu: 2000m - memory: 4Gi + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: "America/New_York" + volumeMounts: + - name: config + mountPath: /config + - name: media + mountPath: /media + volumes: + - name: config + persistentVolumeClaim: + claimName: emby-config + - name: media + persistentVolumeClaim: + claimName: media-data \ No newline at end of file diff --git a/deployments/media/emby/ingress.yaml b/deployments/media/emby/ingress.yaml index d16be84..cdcd0a3 100644 --- a/deployments/media/emby/ingress.yaml +++ b/deployments/media/emby/ingress.yaml @@ -1,18 +1,26 @@ -apiVersion: traefik.containo.us/v1alpha1 -kind: IngressRoute +apiVersion: networking.k8s.io/v1 +kind: Ingress metadata: name: emby namespace: media annotations: - kubernetes.io/ingress.class: traefik-internal + cert-manager.io/cluster-issuer: letsencrypt-prod spec: - entryPoints: - - websecure - routes: - - match: Host(`emby.{{ DOMAIN }}`) - kind: Rule - services: - - name: emby - port: 8096 tls: - secretName: emby-tls-secret + - hosts: + - emby.khalisio.com + secretName: emby-tls + rules: + - host: emby.khalisio.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: emby + port: + number: 8096 + entryPoints: + - web + - websecure \ No newline at end of file diff --git a/deployments/media/emby/service.yaml b/deployments/media/emby/service.yaml index 8beb30b..bb2ca1b 100644 --- a/deployments/media/emby/service.yaml +++ b/deployments/media/emby/service.yaml @@ -9,7 +9,8 @@ spec: ports: - port: 8096 targetPort: 8096 - name: http + protocol: TCP - port: 8920 targetPort: 8920 - name: https + protocol: TCP + type: ClusterIP \ No newline at end of file diff --git a/deployments/media/lidarr/deployment.yaml b/deployments/media/lidarr/deployment.yaml index 10b724d..af5c462 100644 --- a/deployments/media/lidarr/deployment.yaml +++ b/deployments/media/lidarr/deployment.yaml @@ -3,8 +3,6 @@ kind: Deployment metadata: name: lidarr namespace: media - labels: - app: lidarr spec: replicas: 1 selector: @@ -20,11 +18,27 @@ spec: image: lscr.io/linuxserver/lidarr:latest ports: - containerPort: 8686 - env: [] - resources: - requests: - cpu: 100m - memory: 128Mi - limits: - cpu: 500m - memory: 512Mi + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: "America/New_York" + volumeMounts: + - name: config + mountPath: /config + - name: media + mountPath: /media + - name: downloads + mountPath: /downloads + volumes: + - name: config + persistentVolumeClaim: + claimName: lidarr-config + - name: media + persistentVolumeClaim: + claimName: media-data + - name: downloads + persistentVolumeClaim: + claimName: lidarr-downloads \ No newline at end of file diff --git a/deployments/media/lidarr/ingress.yaml b/deployments/media/lidarr/ingress.yaml index f776007..27919eb 100644 --- a/deployments/media/lidarr/ingress.yaml +++ b/deployments/media/lidarr/ingress.yaml @@ -1,18 +1,26 @@ -apiVersion: traefik.containo.us/v1alpha1 -kind: IngressRoute +apiVersion: networking.k8s.io/v1 +kind: Ingress metadata: name: lidarr namespace: media annotations: - kubernetes.io/ingress.class: traefik-internal + cert-manager.io/cluster-issuer: letsencrypt-prod spec: - entryPoints: - - websecure - routes: - - match: Host(`lidarr.{{ DOMAIN }}`) - kind: Rule - services: - - name: lidarr - port: 8686 tls: - secretName: lidarr-tls-secret + - hosts: + - lidarr.khalisio.com + secretName: lidarr-tls + rules: + - host: lidarr.khalisio.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: lidarr + port: + number: 8686 + entryPoints: + - web + - websecure \ No newline at end of file diff --git a/deployments/media/lidarr/service.yaml b/deployments/media/lidarr/service.yaml index b92c93a..bd68f56 100644 --- a/deployments/media/lidarr/service.yaml +++ b/deployments/media/lidarr/service.yaml @@ -9,4 +9,5 @@ spec: ports: - port: 8686 targetPort: 8686 - name: http + protocol: TCP + type: ClusterIP \ No newline at end of file diff --git a/deployments/media/media-pvc.yaml b/deployments/media/media-pvc.yaml new file mode 100644 index 0000000..3f572f2 --- /dev/null +++ b/deployments/media/media-pvc.yaml @@ -0,0 +1,12 @@ +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: media-data + namespace: media +spec: + accessModes: + - ReadWriteMany + resources: + requests: + storage: 500Gi + storageClassName: longhorn \ No newline at end of file diff --git a/deployments/media/namespace.yaml b/deployments/media/namespace.yaml index e03ffb4..a5e0823 100644 --- a/deployments/media/namespace.yaml +++ b/deployments/media/namespace.yaml @@ -3,4 +3,4 @@ kind: Namespace metadata: name: media labels: - name: media + app.kubernetes.io/managed-by: orion \ No newline at end of file diff --git a/deployments/media/prowlarr/deployment.yaml b/deployments/media/prowlarr/deployment.yaml index 164a132..5b3207c 100644 --- a/deployments/media/prowlarr/deployment.yaml +++ b/deployments/media/prowlarr/deployment.yaml @@ -3,8 +3,6 @@ kind: Deployment metadata: name: prowlarr namespace: media - labels: - app: prowlarr spec: replicas: 1 selector: @@ -20,11 +18,17 @@ spec: image: lscr.io/linuxserver/prowlarr:latest ports: - containerPort: 9696 - env: [] - resources: - requests: - cpu: 100m - memory: 128Mi - limits: - cpu: 500m - memory: 512Mi + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: "America/New_York" + volumeMounts: + - name: config + mountPath: /config + volumes: + - name: config + persistentVolumeClaim: + claimName: prowlarr-config \ No newline at end of file diff --git a/deployments/media/prowlarr/ingress.yaml b/deployments/media/prowlarr/ingress.yaml index 37f3e1a..b9660ef 100644 --- a/deployments/media/prowlarr/ingress.yaml +++ b/deployments/media/prowlarr/ingress.yaml @@ -1,18 +1,26 @@ -apiVersion: traefik.containo.us/v1alpha1 -kind: IngressRoute +apiVersion: networking.k8s.io/v1 +kind: Ingress metadata: name: prowlarr namespace: media annotations: - kubernetes.io/ingress.class: traefik-internal + cert-manager.io/cluster-issuer: letsencrypt-prod spec: - entryPoints: - - websecure - routes: - - match: Host(`prowlarr.{{ DOMAIN }}`) - kind: Rule - services: - - name: prowlarr - port: 9696 tls: - secretName: prowlarr-tls-secret + - hosts: + - prowlarr.khalisio.com + secretName: prowlarr-tls + rules: + - host: prowlarr.khalisio.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: prowlarr + port: + number: 9696 + entryPoints: + - web + - websecure \ No newline at end of file diff --git a/deployments/media/prowlarr/service.yaml b/deployments/media/prowlarr/service.yaml index 4c43d74..26e0b50 100644 --- a/deployments/media/prowlarr/service.yaml +++ b/deployments/media/prowlarr/service.yaml @@ -9,4 +9,5 @@ spec: ports: - port: 9696 targetPort: 9696 - name: http + protocol: TCP + type: ClusterIP \ No newline at end of file diff --git a/deployments/media/radarr/deployment.yaml b/deployments/media/radarr/deployment.yaml index f405b99..1478c29 100644 --- a/deployments/media/radarr/deployment.yaml +++ b/deployments/media/radarr/deployment.yaml @@ -3,8 +3,6 @@ kind: Deployment metadata: name: radarr namespace: media - labels: - app: radarr spec: replicas: 1 selector: @@ -20,11 +18,27 @@ spec: image: lscr.io/linuxserver/radarr:latest ports: - containerPort: 7878 - env: [] - resources: - requests: - cpu: 100m - memory: 128Mi - limits: - cpu: 500m - memory: 512Mi + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: "America/New_York" + volumeMounts: + - name: config + mountPath: /config + - name: media + mountPath: /media + - name: downloads + mountPath: /downloads + volumes: + - name: config + persistentVolumeClaim: + claimName: radarr-config + - name: media + persistentVolumeClaim: + claimName: media-data + - name: downloads + persistentVolumeClaim: + claimName: radarr-downloads \ No newline at end of file diff --git a/deployments/media/radarr/ingress.yaml b/deployments/media/radarr/ingress.yaml index a842156..611c9ce 100644 --- a/deployments/media/radarr/ingress.yaml +++ b/deployments/media/radarr/ingress.yaml @@ -1,18 +1,26 @@ -apiVersion: traefik.containo.us/v1alpha1 -kind: IngressRoute +apiVersion: networking.k8s.io/v1 +kind: Ingress metadata: name: radarr namespace: media annotations: - kubernetes.io/ingress.class: traefik-internal + cert-manager.io/cluster-issuer: letsencrypt-prod spec: - entryPoints: - - websecure - routes: - - match: Host(`radarr.{{ DOMAIN }}`) - kind: Rule - services: - - name: radarr - port: 7878 tls: - secretName: radarr-tls-secret + - hosts: + - radarr.khalisio.com + secretName: radarr-tls + rules: + - host: radarr.khalisio.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: radarr + port: + number: 7878 + entryPoints: + - web + - websecure \ No newline at end of file diff --git a/deployments/media/radarr/service.yaml b/deployments/media/radarr/service.yaml index 6f84632..9a12b57 100644 --- a/deployments/media/radarr/service.yaml +++ b/deployments/media/radarr/service.yaml @@ -9,4 +9,5 @@ spec: ports: - port: 7878 targetPort: 7878 - name: http + protocol: TCP + type: ClusterIP \ No newline at end of file diff --git a/deployments/media/readarr/deployment.yaml b/deployments/media/readarr/deployment.yaml index be39b8d..c615acc 100644 --- a/deployments/media/readarr/deployment.yaml +++ b/deployments/media/readarr/deployment.yaml @@ -3,8 +3,6 @@ kind: Deployment metadata: name: readarr namespace: media - labels: - app: readarr spec: replicas: 1 selector: @@ -17,14 +15,30 @@ spec: spec: containers: - name: readarr - image: lscr.io/linuxserver/readarr:latest + image: lscr.io/linuxserver/readarr:develop ports: - containerPort: 8787 - env: [] - resources: - requests: - cpu: 100m - memory: 128Mi - limits: - cpu: 500m - memory: 512Mi + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: "America/New_York" + volumeMounts: + - name: config + mountPath: /config + - name: books + mountPath: /books + - name: downloads + mountPath: /downloads + volumes: + - name: config + persistentVolumeClaim: + claimName: readarr-config + - name: books + persistentVolumeClaim: + claimName: readarr-books + - name: downloads + persistentVolumeClaim: + claimName: readarr-downloads \ No newline at end of file diff --git a/deployments/media/readarr/ingress.yaml b/deployments/media/readarr/ingress.yaml index 0801a41..e46d1d8 100644 --- a/deployments/media/readarr/ingress.yaml +++ b/deployments/media/readarr/ingress.yaml @@ -1,18 +1,26 @@ -apiVersion: traefik.containo.us/v1alpha1 -kind: IngressRoute +apiVersion: networking.k8s.io/v1 +kind: Ingress metadata: name: readarr namespace: media annotations: - kubernetes.io/ingress.class: traefik-internal + cert-manager.io/cluster-issuer: letsencrypt-prod spec: - entryPoints: - - websecure - routes: - - match: Host(`readarr.{{ DOMAIN }}`) - kind: Rule - services: - - name: readarr - port: 8787 tls: - secretName: readarr-tls-secret + - hosts: + - readarr.khalisio.com + secretName: readarr-tls + rules: + - host: readarr.khalisio.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: readarr + port: + number: 8787 + entryPoints: + - web + - websecure \ No newline at end of file diff --git a/deployments/media/readarr/service.yaml b/deployments/media/readarr/service.yaml index 18ddd07..7c3c204 100644 --- a/deployments/media/readarr/service.yaml +++ b/deployments/media/readarr/service.yaml @@ -9,4 +9,5 @@ spec: ports: - port: 8787 targetPort: 8787 - name: http + protocol: TCP + type: ClusterIP \ No newline at end of file diff --git a/deployments/media/sonarr/deployment.yaml b/deployments/media/sonarr/deployment.yaml index f306251..838bc49 100644 --- a/deployments/media/sonarr/deployment.yaml +++ b/deployments/media/sonarr/deployment.yaml @@ -3,8 +3,6 @@ kind: Deployment metadata: name: sonarr namespace: media - labels: - app: sonarr spec: replicas: 1 selector: @@ -17,14 +15,30 @@ spec: spec: containers: - name: sonarr - image: lscr.io/linuxserver/sonarr:latest + image: lscr.io/linuxserver/sonarr:develop ports: - containerPort: 8989 - env: [] - resources: - requests: - cpu: 100m - memory: 128Mi - limits: - cpu: 500m - memory: 512Mi + env: + - name: PUID + value: "1000" + - name: PGID + value: "1000" + - name: TZ + value: "America/New_York" + volumeMounts: + - name: config + mountPath: /config + - name: media + mountPath: /media + - name: downloads + mountPath: /downloads + volumes: + - name: config + persistentVolumeClaim: + claimName: sonarr-config + - name: media + persistentVolumeClaim: + claimName: media-data + - name: downloads + persistentVolumeClaim: + claimName: sonarr-downloads \ No newline at end of file diff --git a/deployments/media/sonarr/ingress.yaml b/deployments/media/sonarr/ingress.yaml index 97250bf..1f52ab3 100644 --- a/deployments/media/sonarr/ingress.yaml +++ b/deployments/media/sonarr/ingress.yaml @@ -1,18 +1,26 @@ -apiVersion: traefik.containo.us/v1alpha1 -kind: IngressRoute +apiVersion: networking.k8s.io/v1 +kind: Ingress metadata: name: sonarr namespace: media annotations: - kubernetes.io/ingress.class: traefik-internal + cert-manager.io/cluster-issuer: letsencrypt-prod spec: - entryPoints: - - websecure - routes: - - match: Host(`sonarr.{{ DOMAIN }}`) - kind: Rule - services: - - name: sonarr - port: 8989 tls: - secretName: sonarr-tls-secret + - hosts: + - sonarr.khalisio.com + secretName: sonarr-tls + rules: + - host: sonarr.khalisio.com + http: + paths: + - path: / + pathType: Prefix + backend: + service: + name: sonarr + port: + number: 8989 + entryPoints: + - web + - websecure \ No newline at end of file diff --git a/deployments/media/sonarr/service.yaml b/deployments/media/sonarr/service.yaml index ef59ac1..b382793 100644 --- a/deployments/media/sonarr/service.yaml +++ b/deployments/media/sonarr/service.yaml @@ -9,4 +9,5 @@ spec: ports: - port: 8989 targetPort: 8989 - name: http + protocol: TCP + type: ClusterIP \ No newline at end of file