apiVersion: apps/v1 kind: Deployment metadata: name: flaresolverr namespace: arr-stack labels: app: flaresolverr spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: flaresolverr template: metadata: labels: app: flaresolverr spec: nodeSelector: kubernetes.io/os: linux containers: - name: flaresolverr image: ghcr.io/flaresolverr/flaresolverr:latest imagePullPolicy: IfNotPresent env: - name: LOG_LEVEL value: info - name: TZ value: America/Mexico_City ports: - containerPort: 8191 name: http resources: requests: cpu: 50m memory: 256Mi limits: memory: 1Gi --- apiVersion: v1 kind: Service metadata: name: flaresolverr namespace: arr-stack spec: selector: app: flaresolverr ports: - port: 8191 targetPort: http --- apiVersion: apps/v1 kind: Deployment metadata: name: prowlarr namespace: arr-stack labels: app: prowlarr spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: prowlarr template: metadata: labels: app: prowlarr spec: nodeSelector: kubernetes.io/os: linux securityContext: fsGroup: 1000 fsGroupChangePolicy: OnRootMismatch containers: - name: prowlarr image: lscr.io/linuxserver/prowlarr:latest imagePullPolicy: IfNotPresent env: - name: PUID value: "1000" - name: PGID value: "1000" - name: TZ value: America/Mexico_City ports: - containerPort: 9696 name: http resources: requests: cpu: 100m memory: 256Mi limits: memory: 1Gi volumeMounts: - name: arr-config mountPath: /config subPath: prowlarr volumes: - name: arr-config persistentVolumeClaim: claimName: arr-config --- apiVersion: v1 kind: Service metadata: name: prowlarr namespace: arr-stack spec: selector: app: prowlarr ports: - port: 9696 targetPort: http --- apiVersion: apps/v1 kind: Deployment metadata: name: radarr namespace: arr-stack labels: app: radarr spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: radarr template: metadata: labels: app: radarr spec: nodeSelector: kubernetes.io/os: linux securityContext: fsGroup: 1000 fsGroupChangePolicy: OnRootMismatch containers: - name: radarr image: lscr.io/linuxserver/radarr:latest imagePullPolicy: IfNotPresent env: - name: PUID value: "1000" - name: PGID value: "1000" - name: TZ value: America/Mexico_City ports: - containerPort: 7878 name: http resources: requests: cpu: 100m memory: 512Mi limits: memory: 2Gi volumeMounts: - name: arr-config mountPath: /config subPath: radarr - name: arr-data mountPath: /data volumes: - name: arr-config persistentVolumeClaim: claimName: arr-config - name: arr-data persistentVolumeClaim: claimName: arr-data --- apiVersion: v1 kind: Service metadata: name: radarr namespace: arr-stack spec: selector: app: radarr ports: - port: 7878 targetPort: http --- apiVersion: apps/v1 kind: Deployment metadata: name: sonarr namespace: arr-stack labels: app: sonarr spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: sonarr template: metadata: labels: app: sonarr spec: nodeSelector: kubernetes.io/os: linux securityContext: fsGroup: 1000 fsGroupChangePolicy: OnRootMismatch containers: - name: sonarr image: lscr.io/linuxserver/sonarr:latest imagePullPolicy: IfNotPresent env: - name: PUID value: "1000" - name: PGID value: "1000" - name: TZ value: America/Mexico_City ports: - containerPort: 8989 name: http resources: requests: cpu: 100m memory: 512Mi limits: memory: 2Gi volumeMounts: - name: arr-config mountPath: /config subPath: sonarr - name: arr-data mountPath: /data volumes: - name: arr-config persistentVolumeClaim: claimName: arr-config - name: arr-data persistentVolumeClaim: claimName: arr-data --- apiVersion: v1 kind: Service metadata: name: sonarr namespace: arr-stack spec: selector: app: sonarr ports: - port: 8989 targetPort: http --- apiVersion: apps/v1 kind: Deployment metadata: name: qbittorrent namespace: arr-stack labels: app: qbittorrent spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: qbittorrent template: metadata: labels: app: qbittorrent spec: nodeSelector: kubernetes.io/os: linux securityContext: fsGroup: 1000 fsGroupChangePolicy: OnRootMismatch containers: - name: qbittorrent image: lscr.io/linuxserver/qbittorrent:latest imagePullPolicy: IfNotPresent env: - name: PUID value: "1000" - name: PGID value: "1000" - name: TZ value: America/Mexico_City - name: WEBUI_PORT value: "8080" ports: - containerPort: 8080 name: http resources: requests: cpu: 100m memory: 512Mi limits: memory: 2Gi volumeMounts: - name: arr-config mountPath: /config subPath: qbittorrent - name: arr-data mountPath: /data volumes: - name: arr-config persistentVolumeClaim: claimName: arr-config - name: arr-data persistentVolumeClaim: claimName: arr-data --- apiVersion: v1 kind: Service metadata: name: qbittorrent namespace: arr-stack spec: selector: app: qbittorrent ports: - port: 8080 targetPort: http --- apiVersion: apps/v1 kind: Deployment metadata: name: kapowarr namespace: arr-stack labels: app: kapowarr spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: kapowarr template: metadata: labels: app: kapowarr spec: nodeSelector: kubernetes.io/os: linux securityContext: fsGroup: 1000 fsGroupChangePolicy: OnRootMismatch containers: - name: kapowarr image: mrcas/kapowarr:latest imagePullPolicy: IfNotPresent env: - name: PUID value: "1000" - name: PGID value: "1000" - name: TZ value: America/Mexico_City ports: - containerPort: 5656 name: http resources: requests: cpu: 100m memory: 256Mi limits: memory: 1Gi volumeMounts: - name: arr-config mountPath: /app/db subPath: kapowarr - name: arr-data mountPath: /app/temp_downloads subPath: torrents - name: arr-data mountPath: /comics subPath: media/comics volumes: - name: arr-config persistentVolumeClaim: claimName: arr-config - name: arr-data persistentVolumeClaim: claimName: arr-data --- apiVersion: v1 kind: Service metadata: name: kapowarr namespace: arr-stack spec: selector: app: kapowarr ports: - port: 5656 targetPort: http --- apiVersion: apps/v1 kind: Deployment metadata: name: suwayomi namespace: arr-stack labels: app: suwayomi spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: suwayomi template: metadata: labels: app: suwayomi spec: nodeSelector: kubernetes.io/os: linux securityContext: fsGroup: 1000 fsGroupChangePolicy: OnRootMismatch containers: - name: suwayomi image: ghcr.io/suwayomi/suwayomi-server:preview imagePullPolicy: IfNotPresent env: - name: PUID value: "1000" - name: PGID value: "1000" - name: TZ value: America/Mexico_City ports: - containerPort: 4567 name: http resources: requests: cpu: 100m memory: 512Mi limits: memory: 2Gi volumeMounts: - name: arr-config mountPath: /home/suwayomi/.local/share/Suwayomi-Server subPath: suwayomi - name: arr-data mountPath: /data/manga subPath: media/manga volumes: - name: arr-config persistentVolumeClaim: claimName: arr-config - name: arr-data persistentVolumeClaim: claimName: arr-data --- apiVersion: v1 kind: Service metadata: name: suwayomi namespace: arr-stack spec: selector: app: suwayomi ports: - port: 4567 targetPort: http --- apiVersion: apps/v1 kind: Deployment metadata: name: maintainerr namespace: arr-stack labels: app: maintainerr spec: replicas: 1 strategy: type: Recreate selector: matchLabels: app: maintainerr template: metadata: labels: app: maintainerr spec: nodeSelector: kubernetes.io/os: linux securityContext: fsGroup: 1000 fsGroupChangePolicy: OnRootMismatch containers: - name: maintainerr image: ghcr.io/jorenn92/maintainerr:latest imagePullPolicy: IfNotPresent env: - name: PUID value: "1000" - name: PGID value: "1000" - name: TZ value: America/Mexico_City ports: - containerPort: 6246 name: http resources: requests: cpu: 100m memory: 256Mi limits: memory: 1Gi volumeMounts: - name: arr-config mountPath: /opt/data subPath: maintainerr volumes: - name: arr-config persistentVolumeClaim: claimName: arr-config --- apiVersion: v1 kind: Service metadata: name: maintainerr namespace: arr-stack spec: selector: app: maintainerr ports: - port: 6246 targetPort: http