78 lines
1.9 KiB
Markdown
78 lines
1.9 KiB
Markdown
# Calibre-Web / Books
|
|
|
|
Infrastructure repository for the Calibre-Web service at:
|
|
|
|
```text
|
|
https://books.mischlabs.de
|
|
```
|
|
|
|
The service currently uses the upstream LinuxServer image:
|
|
|
|
```text
|
|
lscr.io/linuxserver/calibre-web:latest
|
|
```
|
|
|
|
No custom Docker image is required right now. Gitea stores the Compose setup and documentation; the universal Watchtower instance on the NAS updates the upstream image.
|
|
|
|
## NAS Paths
|
|
|
|
Current production paths:
|
|
|
|
```text
|
|
Compose path: /volume2/docker/calibreweb/docker-compose.yml
|
|
Books: /volume1/calibreweb/data/books
|
|
Config: /volume1/calibreweb/data/config
|
|
```
|
|
|
|
The book library and Calibre-Web config stay on the NAS. They are mounted into the container and must not be committed to Git.
|
|
|
|
## Current Container
|
|
|
|
```text
|
|
Container: calibre-web
|
|
Image: lscr.io/linuxserver/calibre-web:latest
|
|
Port: 8083 -> 8083
|
|
TZ: Europe/Berlin
|
|
PUID: 1000
|
|
PGID: 1000
|
|
```
|
|
|
|
## Deploy On NAS
|
|
|
|
From the NAS:
|
|
|
|
```sh
|
|
cd /volume2/docker/calibreweb
|
|
cp .env.example .env
|
|
nano .env
|
|
docker compose config
|
|
docker compose up -d
|
|
docker ps --filter "name=calibre-web" --format "table {{.Names}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}"
|
|
```
|
|
|
|
## Watchtower
|
|
|
|
The existing universal Watchtower service should remain responsible for updates. Do not create a second project-specific Watchtower unless explicitly requested.
|
|
|
|
Manual one-time check:
|
|
|
|
```sh
|
|
docker run --rm -v /var/run/docker.sock:/var/run/docker.sock -v /volume2/docker/watchtower/config.json:/config.json:ro containrrr/watchtower --run-once
|
|
```
|
|
|
|
## Notes
|
|
|
|
- A wrong `/books` mount can make the library look empty even when the files still exist.
|
|
- A wrong `/config` mount can make Calibre-Web start like a fresh install.
|
|
- Always verify mounts before recreating the container.
|
|
|
|
## Source Of Truth
|
|
|
|
The committed `docker-compose.yml` was copied from the live NAS compose file at:
|
|
|
|
```text
|
|
/volume2/docker/calibreweb/docker-compose.yml
|
|
```
|
|
|
|
Only documentation and `.env.example` were added around it.
|