feat(documentation): Kavita documentation and config tweaks for generic use

This commit is contained in:
Fishandchips321 2026-04-15 14:40:17 +01:00
parent 931d1d8752
commit 7c8a584b75
3 changed files with 53 additions and 19 deletions

View file

@ -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: <path on host machine>
```
and remove the `kavita-data` persistent volume claim config

View file

@ -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: <kavita config dir>
- 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

View file

@ -7,10 +7,10 @@ metadata:
spec:
tls:
- hosts:
- kavita.foxhawk.co.uk
- <kavita hostname>
secretName: kavita-tls
rules:
- host: kavita.foxhawk.co.uk
- host: <kavita hostname>
http:
paths:
- pathType: Prefix