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 mountPath: /kavita/config
- name: kavita-data - name: kavita-data
mountPath: /kavita/library mountPath: /kavita/library
# readinessProbe: readinessProbe:
# httpGet: httpGet:
# path: /api/health path: /api/health
# port: http port: http
# failureThreshold: 5 failureThreshold: 5
# periodSeconds: 10 periodSeconds: 10
# livenessProbe: livenessProbe:
# httpGet: httpGet:
# path: /api/health path: /api/health
# port: http port: http
# failureThreshold: 5 failureThreshold: 5
# periodSeconds: 10 periodSeconds: 10
volumes: volumes:
- name: kavita-config - name: kavita-config
# persistentVolumeClaim:
# claimName: kavita-config
hostPath: hostPath:
path: /zfs/docker/kavita path: <kavita config dir>
- name: kavita-data - name: kavita-data
hostPath: persistentVolumeClaim:
path: /mnt/nfs/books claimName: kavita-data
readOnly: true
--- ---
apiVersion: v1 apiVersion: v1
kind: PersistentVolumeClaim kind: PersistentVolumeClaim
@ -60,3 +59,15 @@ spec:
volumeMode: Filesystem volumeMode: Filesystem
accessModes: accessModes:
- ReadWriteOnce - 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: spec:
tls: tls:
- hosts: - hosts:
- kavita.foxhawk.co.uk - <kavita hostname>
secretName: kavita-tls secretName: kavita-tls
rules: rules:
- host: kavita.foxhawk.co.uk - host: <kavita hostname>
http: http:
paths: paths:
- pathType: Prefix - pathType: Prefix