Anleitung für Calibre hinter Traefik
Anleitung für selbst-gehosteten E-Book-Manager Calibre mit Calibre-Web als GUI und Traefik als Reverse-Proxy.
Inhaltsverzeichnis
Heute (23. April) ist Welttag des Buches. Der Ehrentag für E-Books ist zwar nicht heute, es geht in diesem Post aber dennoch darum sich einen eigenen E-Book-Manager aufzusetzen. In dieser Anleitung zeige ich, wie das auf einem Server mit Traefik als reverse Proxy möglich ist. Voraussetzung ist die Einrichtung von Traefik wie hier bereits beschrieben. Wir nutzen als E-Book-Manager das Programm Calibre (als Server) und Calibre-Web (als Web-GUI).
Sollte Interesse an einer äquivalenten Beschreibung für einen Synology Server bestehen, folgt diese vielleicht zu einem späteren Zeitpunkt.
Calibre
Sobald die Verbindung (z. B. ssh benutzername@ip-adresse
) zum Server hergestellt ist, brauchen wir einen Ordner, wo die Bücher und Daten von Calibre gespeichert werden.
cd ~/docker
mkdir appdata/calibre
Und es kann bereits die Docker-Compose-Datei erstellt werden.
nano docker-compose-calibre.yml
version: "3.7"
### NETWORKS ###
networks:
web:
external:
name: web
default:
driver: bridge
### SERVICEs ###
services:
calibre-server:
container_name: calibre-server
image: linuxserver/calibre
restart: unless-stopped
networks:
- web
security_opt:
- no-new-privileges:true
volumes:
- $DOCKERDIR/appdata/calibre:/config
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
- UMASK=022
labels:
- "traefik.enable=true"
- "traefik.http.routers.calibre-rtr.entrypoints=https"
- "traefik.http.routers.calibre-rtr.rule=Host(`calibre.$DOMAINNAME`)"
- "traefik.http.routers.calibre-rtr.tls=true"
- "traefik.http.routers.calibre-rtr.service=calibre-svc"
- "traefik.http.services.calibre-svc.loadbalancer.server.port=8080"
- "traefik.http.routers.calibre-rtr.middlewares=chain-oauth@file"
Wir nutzen dabei das Image von LinuxServer.io. Die Einrichtung ist damit fertig.
docker-compose -f docker-compose-calibre.yml up -d
Nachdem der Container geladen ist, rufen wir die Seite calibre.einedomain.de
auf.
Ich lasse den Namen meines Ordners auf “Calibre-Bibliothek”. Anschließend erreicht man dann seine Bibliothek.
Als Nächstes stoppen wir den Container wieder und schauen uns an, wo die Calibre-Bibliothek ist.
docker-compose -f docker-compose-calibre.yml down
cd appdata/calibre
ls -Al
Wir sehen, dass die Calibre-Bibliothek angelegt wurde.
Calibre-Web
Nun ergänzen wir die docker-compose Datei um Calibre-Web.
cd ~/docker
mkdir appdata/calibreweb
nano docker-compose-calibre.yml
version: "3.7"
### NETWORKS ###
networks:
web:
external:
name: web
default:
driver: bridge
### SERVICEs ###
services:
calibre-server:
container_name: calibre-server
image: linuxserver/calibre
restart: unless-stopped
networks:
- web
security_opt:
- no-new-privileges:true
volumes:
- $DOCKERDIR/appdata/calibre:/config
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
- UMASK=022
labels:
- "traefik.enable=true"
- "traefik.http.routers.calibre-rtr.entrypoints=https"
- "traefik.http.routers.calibre-rtr.rule=Host(`calibre.$DOMAINNAME`)"
- "traefik.http.routers.calibre-rtr.tls=true"
- "traefik.http.routers.calibre-rtr.service=calibre-svc"
- "traefik.http.services.calibre-svc.loadbalancer.server.port=8080"
- "traefik.http.routers.calibre-rtr.middlewares=chain-oauth@file"
calibre-web:
container_name: calibre-web
image: linuxserver/calibre-web
restart: unless-stopped
networks:
- web
security_opt:
- no-new-privileges:true
volumes:
- $DOCKERDIR/appdata/calibreweb:/config
- $DOCKERDIR/appdata/calibre/Calibre-Bibliothek:/books
environment:
- PUID=$PUID
- PGID=$PGID
- TZ=$TZ
- UMASK=022
- DOCKER_MODS=linuxserver/calibre-web:calibre
labels:
- "traefik.enable=true"
- "traefik.http.routers.calibreweb-rtr.entrypoints=https"
- "traefik.http.routers.calibreweb-rtr.rule=Host(`books.$DOMAINNAME`)"
- "traefik.http.routers.calibreweb-rtr.tls=true"
- "traefik.http.routers.calibreweb-rtr.service=calibreweb-svc"
- "traefik.http.services.calibreweb-svc.loadbalancer.server.port=8083"
- "traefik.http.routers.calibreweb-rtr.middlewares=chain-oauth@file"
Danach nochmal neu starten.
docker-compose -f docker-compose-calibre up -d
Unter “books.einedomain.de” sollte inzwischen Calibre-Web verfügbar sein.
Wir melden uns mit den vorkonfigurierten Benutzerdaten, Benutzername: admin
und Password: admin123
an. In den Einstellungen gehen wir auf “Edit Basic Configuration”
Dort lässt sich der Upload aktivieren.
Jetzt ist es möglich neue Bücher hochzuladen.
Die Einrichtung ist soweit fertig. Viel Spaß beim Lesen und Verwalten eurer E‑Books 📖