mirror of
https://github.com/funkypenguin/geek-cookbook/
synced 2025-12-13 01:36:23 +00:00
Add Kavita recipe
Signed-off-by: David Young <davidy@funkypenguin.co.nz>
This commit is contained in:
@@ -17,6 +17,7 @@
|
||||
[homeassistant]: /recipes/homeassistant/
|
||||
[jackett]: /recipes/autopirate/jackett/
|
||||
[jellyfin]: /recipes/jellyfin/
|
||||
[kavita]: /recipes/kavita/
|
||||
[keycloak]: /recipes/keycloak/
|
||||
[komga]: /recipes/komga/
|
||||
[lazylibrarian]: /recipes/autopirate/lazylibrarian/
|
||||
|
||||
@@ -9,4 +9,4 @@
|
||||
|
||||
Related:
|
||||
|
||||
* [X] [Traefik Forward Auth](/docker-swarm/traefik-forward-auth/) to secure your Traefik-exposed services with an additional layer of authentication
|
||||
* [X] [Traefik Forward Auth][tfa] or [Authelia][authelia] to secure your Traefik-exposed services with an additional layer of authentication\
|
||||
|
||||
BIN
manuscript/images/kavita.png
Normal file
BIN
manuscript/images/kavita.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 299 KiB |
@@ -8,22 +8,23 @@ hide:
|
||||
|
||||
Recipe | Description | Date
|
||||
-------------------------|------------------------------------------------------------------------------------------------------------------|--------------
|
||||
[Kavita][kavita] | "Rocket-fueled" reader for manga/comics/ebooks, able to save reading position across devices/sessions | _27 Jul 2022_
|
||||
[Authelia][authelia] | Authentication and two factor authorization server with Authelia | _1 Nov 2021_
|
||||
[Prowlarr][prowlarr] | An indexer manager/proxy built on the popular arr .net/reactjs base stack to integrate with the [AutoPirate][autopirate] friends | _27 Oct 2021_
|
||||
[Archivebox][archivebox] | Website Archiving service to save websites to view offline | _19 Oct 2021_
|
||||
[Readarr][readarr] | [Autopirate][autopirate] component to grab and manage eBooks (*think "Sonarr/Radarr for books*") | _18 Oct 2021_
|
||||
[Paperless-NG][paperless-ng] | Organize, index, search, and view all your documents | _14 Oct 2021_
|
||||
[RSS-Bridge][rss-bridge] | Consume content from non-open platforms (*Facebook, Instagram, etc*) in your feed reader | _1 Oct 2021_
|
||||
[NightScout][nightscout] | Share your CGM :drop_of_blood: data, setup advanced alarms and charts, for improved diabetes treatment :syringe: and quality-of-life :runner: | _9 Aug 2021_
|
||||
|
||||
## Recent updates
|
||||
|
||||
Recipe | Description | Date
|
||||
----------------------------|---------------------------------------------------------------------------------|--------------
|
||||
[Authelia][authelia] | Updated with test services, fixed errors | _27 Jul 2022_
|
||||
[Minio][minio] | Major update to Minio recipe, for new Console UI and Traefik v2 | _22 Oct 2021_
|
||||
[Traefik Forward Auth][tfa] | Major update for Traefik v2, included instructions for Dex, Google, Keycloak | _29 Jan 2021_
|
||||
[Autopirate][autopirate] | Updated all components for Traefik v2 labels | _29 Jan 2021_
|
||||
[Portainer][portainer] | Bump to version 2, bringing "expert simplicity" to your Docker stack management | _25 Jan 2021_
|
||||
|
||||
|
||||
## Subscribe to updates
|
||||
|
||||
|
||||
86
manuscript/recipes/kavita.md
Normal file
86
manuscript/recipes/kavita.md
Normal file
@@ -0,0 +1,86 @@
|
||||
---
|
||||
title: Kavita Reader in Docker - Read ebooks / Manga / Comics
|
||||
description: Here's a recipe to run Kavita under Docker Swarm to read your comics / manga / ebooks
|
||||
---
|
||||
|
||||
# Kavita Reader in Docker Swarm
|
||||
|
||||
So you've just watched a bunch of superhero movies, and you're suddenly inspired to deep-dive into the weird world of comic books? You're already rocking [AutoPirate](/recipes/autopirate/) with [Mylar](/recipes/autopirate/mylar/) and [NZBGet](/recipes/autopirate/nzbget/) to grab content, but how to manage and enjoy your growing collection?
|
||||
|
||||
{ loading=lazy }
|
||||
|
||||
[Kavita Reader](https://www.kavitareader.com) is a "*rocket fueled self-hosted digital library which supports a vast array of file formats*". Primarily used for cosuming Manga (*but quite capable of managing ebooks too*), Kavita's killer feature is an OPDS server for integration with other mobile apps such as [Chunky on iPad](http://chunkyreader.com/), and the ability to save your reading position across multiple devices.
|
||||
|
||||
There's a [public demo available](https://www.kavitareader.com/#demo) too!
|
||||
|
||||
--8<-- "recipe-standard-ingredients.md"
|
||||
* [X] [AutoPirate](/recipes/autopirate/) components (*specifically [Mylar](/recipes/autopirate/mylar/)*), for searching for, downloading, and managing comic books
|
||||
|
||||
## Preparation
|
||||
|
||||
### Setup data locations
|
||||
|
||||
First we create a directory to hold the kavita database, logs and other persistent data:
|
||||
|
||||
```bash
|
||||
mkdir /var/data/kavita
|
||||
```
|
||||
|
||||
### Setup Docker Swarm
|
||||
|
||||
Create a docker swarm config file in docker-compose syntax (v3), something like this:
|
||||
|
||||
--8<-- "premix-cta.md"
|
||||
|
||||
```yaml title="/var/data/config/kavita.yml"
|
||||
version: "3.2" # https://docs.docker.com/compose/compose-file/compose-versioning/#version-3
|
||||
|
||||
services:
|
||||
kavita:
|
||||
image: kizaing/kavita:latest
|
||||
env_file: /var/data/config/kavita/kavita.env
|
||||
volumes:
|
||||
- /var/data/kavita:/kavita/config
|
||||
deploy:
|
||||
labels:
|
||||
# traefik
|
||||
- traefik.enable=true
|
||||
- traefik.docker.network=traefik_public
|
||||
|
||||
# traefikv1
|
||||
- traefik.frontend.rule=Host:kavita.example.com
|
||||
- traefik.port=8000
|
||||
|
||||
# traefikv2
|
||||
- "traefik.http.routers.kavita.rule=Host(`kavita.example.com`)"
|
||||
- "traefik.http.routers.kavita.entrypoints=https"
|
||||
- "traefik.http.services.kavita.loadbalancer.server.port=5000"
|
||||
|
||||
# uncomment for traefik-forward-auth (1)
|
||||
# - "traefik.http.routers.radarr.middlewares=forward-auth"
|
||||
|
||||
# uncomment for authelia (2)
|
||||
# - "traefik.http.routers.radarr.middlewares=authelia"
|
||||
|
||||
networks:
|
||||
- traefik_public
|
||||
|
||||
networks:
|
||||
traefik_public:
|
||||
external: true
|
||||
```
|
||||
|
||||
1. Uncomment to protect Kavita with an additional layer of authentication, using [Traefik Forward Auth][tfa]
|
||||
2. Uncomment to protect Kavita with an additional layer of authentication, using [Authelia][authelia]
|
||||
|
||||
## Serving
|
||||
|
||||
### Avengers Assemble!
|
||||
|
||||
Launch the Kavita stack by running ```docker stack deploy kavita -c <path -to-docker-compose.yml>```
|
||||
|
||||
Log into your new instance at https://**YOUR-FQDN**. Since it's a fresh installation, Kavita will prompt you to setup a username and password, after which you'll be able to setup your library, and tweak all teh butt0ns!
|
||||
|
||||
[^1]: Since Kavita doesn't need to communicate with any other services, we don't need a separate overlay network for it. Provided Traefik can reach kavita via the `traefik_public` overlay network, we've got all we need.
|
||||
|
||||
--8<-- "recipe-footer.md"
|
||||
@@ -118,6 +118,7 @@ nav:
|
||||
- OIDC Provider: recipes/keycloak/setup-oidc-provider.md
|
||||
- OpenLDAP: recipes/keycloak/authenticate-against-openldap.md
|
||||
- Komga: recipes/komga.md
|
||||
- Kavita: recipes/kavita.md
|
||||
- Linx: recipes/linx.md
|
||||
- Mealie: recipes/mealie.md
|
||||
- Minio: recipes/minio.md
|
||||
|
||||
Reference in New Issue
Block a user