apiVersion: apps/v1 kind: Deployment metadata: annotations: gethompage.dev/enabled: "true" gethomepage.dev/group: Media gethomepage.dev/name: Books gethomepage.dev/description: Ebooks and graphic novels gethomepage.dev/href: https://library.nc.landry.land gethomepage.dev/icon: kavita creationTimestamp: null labels: io.kompose.service: kavita name: kavita spec: replicas: 1 selector: matchLabels: io.kompose.service: kavita strategy: type: Recreate template: metadata: annotations: gethomepage.dev/enabled: "true" gethomepage.dev/group: Media gethomepage.dev/name: Books gethomepage.dev/description: Ebooks and graphic novels gethomepage.dev/href: https://library.nc.landry.land gethomepage.dev/icon: kavita creationTimestamp: null labels: io.kompose.network/ebooks-default: "true" io.kompose.network/public: "true" io.kompose.service: kavita app.kubernetes.io/name: kavita spec: containers: - env: - name: TZ value: America/New_York image: jvmilazz0/kavita:latest ports: - name: http protocol: TCP containerPort: 5000 livenessProbe: httpGet: path: /api/health port: http failureThreshold: 5 initialDelaySeconds: 90 periodSeconds: 10 readinessProbe: httpGet: path: /api/health port: http failureThreshold: 5 periodSeconds: 10 name: kavita resources: {} volumeMounts: - mountPath: /kavita/config name: kavita-config-pvc - mountPath: /books name: kavita-ebooks-pvc - mountPath: /tech-books name: kavita-tech-ebooks-pvc - mountPath: /ttrpg-books name: kavita-ttrpg-ebooks-pvc - mountPath: /comics name: kavita-comics-pvc # - mountPath: /manga # name: kavita-claim2 # - mountPath: /ttrpg # name: kavita-claim3 restartPolicy: Always volumes: - name: kavita-config-pvc persistentVolumeClaim: claimName: kavita-config-pvc - name: kavita-ebooks-pvc persistentVolumeClaim: claimName: kavita-ebooks-pvc - name: kavita-tech-ebooks-pvc persistentVolumeClaim: claimName: kavita-tech-ebooks-pvc - name: kavita-ttrpg-ebooks-pvc persistentVolumeClaim: claimName: kavita-ttrpg-ebooks-pvc - name: kavita-comics-pvc persistentVolumeClaim: claimName: kavita-comics-pvc status: {} --- apiVersion: v1 kind: PersistentVolumeClaim metadata: creationTimestamp: null labels: io.kompose.service: kavita-config-pvc name: kavita-config-pvc spec: accessModes: - ReadWriteOnce resources: requests: storage: 100Mi status: {} --- apiVersion: v1 kind: Service metadata: name: kavita labels: name: kavita spec: ports: - port: 5000 targetPort: http protocol: TCP name: http selector: app.kubernetes.io/name: kavita #publishNotReadyAddresses: true --- apiVersion: networking.k8s.io/v1 kind: Ingress metadata: annotations: cert-manager.io/cluster-issuer: letsencrypt-issuer gethomepage.dev/enabled: "true" gethomepage.dev/name: "Books" gethomepage.dev/description: "Ebooks and graphic novels by Kavita" gethomepage.dev/group: "Media" gethomepage.dev/icon: "kavita.png" name: kavita labels: name: kavita spec: rules: - host: library.nc.landry.land http: paths: - backend: service: name: kavita port: number: 5000 path: / pathType: Prefix tls: - hosts: - library.nc.landry.land secretName: kavita-tls