Deployn

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.

Anleitung für Calibre hinter Traefik-heroimage

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.

Calibre Einrichtungsassistent

Ich lasse den Namen meines Ordners auf “Calibre-Bibliothek”. Anschließend erreicht man dann seine Bibliothek.

Calibre 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

Calibre Verzeichnis

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.

Calibre Web Konfiguration

Wir melden uns mit den vorkonfigurierten Benutzerdaten, Benutzername: admin und Password: admin123 an. In den Einstellungen gehen wir auf “Edit Basic Configuration”

Admin Bereich

Dort lässt sich der Upload aktivieren.

Upload aktiviert

Jetzt ist es möglich neue Bücher hochzuladen.

Calibre Web Dashboard

Die Einrichtung ist soweit fertig. Viel Spaß beim Lesen und Verwalten eurer E‑Books 📖


Diese Website verwendet Cookies. Diese sind notwendig, um die Funktionalität der Website zu gewährleisten. Weitere Informationen finden Sie in der Datenschutzerklärung