diff --git a/Kavita/README.md b/Kavita/README.md index e69de29..38a4fd8 100644 --- a/Kavita/README.md +++ b/Kavita/README.md @@ -0,0 +1,23 @@ +# Kavita +Kavita is a service for managing your ebooks. Think of it like a JellyFin for ebooks and manga. One drawback is that it doesn't have a feature for uploading ebooks + +## Using this kubernetes config +In `deployment.yml`, you will need to set the host path for the kavita config folder (this is because sqlite can have issues with file locking on non-host filesystems (e.g. a network share or a container volume), so it needs to be on the host's filesystem) + +In `ingress.yml`, set the hostname that users will use to connect to the service. This config assumes you have cert-manager installed on your cluster, so if you want to provide HTTPS another way, feel free to comment out the `spec.tls` section (the annotation shouldn't affect anything, but you can comment it out as well if you want) + +## Customisations +If you would like the ebook folder to be a mounted folder from the host's filesystem, inside of `deployment.yml` replace this section: +``` yaml +- name: kavita-data + persistentVolumeClaim: + claimName: kavita-data + readOnly: true +``` +with the following: +``` yaml +- name: kavita-data + hostPath: + path: +``` +and remove the `kavita-data` persistent volume claim config \ No newline at end of file diff --git a/Kavita/deployment.yml b/Kavita/deployment.yml index cc11eed..2ba146c 100644 --- a/Kavita/deployment.yml +++ b/Kavita/deployment.yml @@ -27,27 +27,26 @@ spec: mountPath: /kavita/config - name: kavita-data mountPath: /kavita/library - # readinessProbe: - # httpGet: - # path: /api/health - # port: http - # failureThreshold: 5 - # periodSeconds: 10 - # livenessProbe: - # httpGet: - # path: /api/health - # port: http - # failureThreshold: 5 - # periodSeconds: 10 + readinessProbe: + httpGet: + path: /api/health + port: http + failureThreshold: 5 + periodSeconds: 10 + livenessProbe: + httpGet: + path: /api/health + port: http + failureThreshold: 5 + periodSeconds: 10 volumes: - name: kavita-config - # persistentVolumeClaim: - # claimName: kavita-config hostPath: - path: /zfs/docker/kavita + path: - name: kavita-data - hostPath: - path: /mnt/nfs/books + persistentVolumeClaim: + claimName: kavita-data + readOnly: true --- apiVersion: v1 kind: PersistentVolumeClaim @@ -60,3 +59,15 @@ spec: volumeMode: Filesystem accessModes: - ReadWriteOnce +--- +apiVersion: v1 +kind: PersistentVolumeClaim +metadata: + name: kavita-data +spec: + resources: + requests: + storage: 5Gi + volumeMode: Filesystem + accessModes: + - ReadWriteOnce diff --git a/Kavita/ingress.yml b/Kavita/ingress.yml index 9484e2f..28eef3b 100644 --- a/Kavita/ingress.yml +++ b/Kavita/ingress.yml @@ -7,10 +7,10 @@ metadata: spec: tls: - hosts: - - kavita.foxhawk.co.uk + - secretName: kavita-tls rules: - - host: kavita.foxhawk.co.uk + - host: http: paths: - pathType: Prefix