Add Kavita as the new book server
Runs next to Calibre-Web at a temporary kavita. subdomain until it takes over books. Each book lives in its own folder under /opt/stacks/kavita/books, because Kavita names a book after its folder. The admin password is in the vault as vault_kavita. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
- name: make kavita directories
|
||||
ansible.builtin.file:
|
||||
path: "{{ item }}"
|
||||
state: directory
|
||||
owner: phil
|
||||
group: phil
|
||||
loop:
|
||||
- /opt/stacks/kavita
|
||||
- /opt/stacks/kavita/config
|
||||
- /opt/stacks/kavita/books
|
||||
|
||||
- name: Template out the compose file
|
||||
ansible.builtin.template:
|
||||
src: kavita-compose.yml.j2
|
||||
dest: /opt/stacks/kavita/compose.yml
|
||||
owner: root
|
||||
mode: '0644'
|
||||
|
||||
- name: deploy kavita stack
|
||||
community.docker.docker_compose_v2:
|
||||
project_src: /opt/stacks/kavita
|
||||
files:
|
||||
- compose.yml
|
||||
@@ -9,6 +9,10 @@
|
||||
import_tasks: calibre.yml
|
||||
tags: calibre
|
||||
|
||||
- name: Install kavita
|
||||
import_tasks: kavita.yml
|
||||
tags: kavita
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -20,6 +20,10 @@ books.thesatelliteoflove.com {
|
||||
reverse_proxy authentik-server-1:9000
|
||||
}
|
||||
|
||||
{{ subdomains.kavita }} {
|
||||
reverse_proxy kavita:5000
|
||||
}
|
||||
|
||||
audio.thesatelliteoflove.com {
|
||||
reverse_proxy audiobookshelf-audiobookshelf-1:80
|
||||
}
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
---
|
||||
services:
|
||||
kavita:
|
||||
image: jvmilazz0/kavita:latest
|
||||
container_name: kavita
|
||||
environment:
|
||||
- TZ=America/Denver
|
||||
volumes:
|
||||
- ./config:/kavita/config
|
||||
# Kavita names a book after its folder, so each book goes in its own folder:
|
||||
# scp -r "Book Title/" docker-01:/opt/stacks/kavita/books/
|
||||
- ./books:/books
|
||||
extra_hosts:
|
||||
- "{{ subdomains.pocketid }}:{{ docker.hairpin_ip }}"
|
||||
restart: unless-stopped
|
||||
labels:
|
||||
glance.name: Kavita
|
||||
glance.icon: si:book
|
||||
glance.url: https://{{ subdomains.kavita }}/
|
||||
glance.description: Book server
|
||||
mag37.dockcheck.update: true
|
||||
networks:
|
||||
default:
|
||||
external: true
|
||||
name: {{ docker.network_name }}
|
||||
Reference in New Issue
Block a user