apiVersion: v1 kind: Service metadata: name: sickchill labels: run: sickchill spec: ports: - name: http port: 80 targetPort: 8081 selector: run: sickchill # type: LoadBalancer #status: # loadBalancer: {} --- apiVersion: v1 kind: PersistentVolume metadata: name: sickchill-tv spec: capacity: storage: 10Ti volumeMode: Filesystem accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain # Keep 4eva storageClassName: default mountOptions: - hard - nfsvers=3 nfs: path: /mnt/DroboFS/Shares/Public/media/tv server: 10.42.42.10 claimRef: name: sickchill-tv namespace: default --- apiVersion: v1 kind: PersistentVolume metadata: name: sickchill-shared spec: capacity: storage: 10Ti volumeMode: Filesystem accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain # Keep 4eva storageClassName: default mountOptions: - hard - nfsvers=3 nfs: path: /mnt/DroboFS/Shares/Public/ server: 10.42.42.10 claimRef: name: sickchill-shared namespace: default --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: sickchill-tv spec: storageClassName: standard accessModes: - ReadWriteMany resources: requests: storage: 10Ti status: {} --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: sickchill-shared spec: storageClassName: standard accessModes: - ReadWriteMany resources: requests: storage: 10Ti status: {} --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: sickchill-config annotations: nfs.io/storage-path: "sickchill-config" spec: storageClassName: managed-nfs-storage accessModes: - ReadWriteMany resources: requests: storage: 5Mi status: {} --- apiVersion: v1 kind: PersistentVolumeClaim metadata: name: sickchill-downloads annotations: nfs.io/storage-path: "sickchill-downloads" spec: storageClassName: managed-nfs-storage accessModes: - ReadWriteMany resources: requests: storage: 5Mi status: {} --- apiVersion: apps/v1 kind: Deployment metadata: name: sickchill spec: replicas: 1 selector: matchLabels: run: sickchill strategy: type: Recreate template: metadata: labels: run: sickchill spec: containers: - image: linuxserver/sickchill name: sickchill env: - name: TZ value: US/Michigan ports: - containerPort: 8081 resources: {} volumeMounts: - mountPath: /config name: sickchill-config - mountPath: /downloads name: sickchill-downloads - mountPath: /tv name: sickchill-tv - mountPath: /shared name: sickchill-shared restartPolicy: Always volumes: - name: sickchill-config persistentVolumeClaim: claimName: sickchill-config - name: sickchill-downloads persistentVolumeClaim: claimName: sickchill-downloads - name: sickchill-tv persistentVolumeClaim: claimName: sickchill-tv - name: sickchill-shared persistentVolumeClaim: claimName: sickchill-shared status: {} --- # Hosting apiVersion: networking.k8s.io/v1 kind: Ingress metadata: name: sickchill-ingress annotations: cert-manager.io/cluster-issuer: "letsencrypt-prod" ## No basic auth for sickchill ## type of authentication #nginx.ingress.kubernetes.io/auth-type: basic ## name of the secret that contains the user/password definitions #nginx.ingress.kubernetes.io/auth-secret: basic-auth ## message to display with an appropriate context why the authentication is required #nginx.ingress.kubernetes.io/auth-realm: 'Authentication Required - Octoprint' spec: tls: - hosts: - sickchill.monkeybox.org - tv.monkeybox.org secretName: sickchill-tls rules: - host: sickchill.monkeybox.org http: paths: - path: / pathType: Prefix backend: service: name: sickchill port: number: 80 - host: tv.monkeybox.org http: paths: - path: / pathType: Prefix backend: service: name: sickchill port: number: 80