CALIBRE-WEB AKO DOCKER

Tento článok je 16 z 21 v sérii Ubuntu server na doma

Calibre-web ako docker – pokiaľ radi čítate tak ako ja, môže sa Vám hodiť služba, ktorá z Vašich elektronických kníh vytvorí webový server s online knižnicou. Tú si v tomto návode vytvoríme a nastavíme si prístup na neho prostredníctvom zabezpečeného pripojenia HTTPS s platným certifikátom. Toto všetko nám zariadi NGINX proxy server, ktorý sme si už inštalovali v predchádzajúcich dieloch. Bude potrebné, aby ste Vaše elektronické knihy mali správne „otagované“ (vyplnené detaily o knihe) prostredníctvom open-source softvéru Calibre.



Je potrebné si Calibre desktop softvér nainštalovať na lokálnom PC, „natiahnuť“ si do neho všetky elektronické knihy, a správne vyplniť jednotlivé údaje a detaily. Základom je samozrejme autor a názov knihy. Calibre softvér umožňuje aj nastavenie sofistikovanejších detailov, ako napríklad vytvorenie sérií či pridanie obalu knihy atď. Akonáhle toto máme hotové, urobíme si export databázy. Tieto kroky si samozrejme ukážeme v návode.

Odkazy
Ako prvé si nainštalujeme desktop klienta z tohto odkazu.
Odkaz pre stiahnutie doplnku na metadáta je v tomto vlákne. Doporučujem prelistovať a stiahnuť si najnovšiu verziu.

Knihy si spracujeme podľa návodu vo videu.

Čo budeme potrebovať?

  1. Nainštalovaný Ubuntu server (návod tu) alebo Debian server (návod tu).
  2. Rozbehanú podporu dockeru a nainštalovaný Portainer (návod na tomto odkaze).
  3. NGINX proxy (návod tu).
  4. Vlastnú doménu alebo subdoménu – ja použijem subdoménu mojeknihy.vawav.com
  5. Lokálne nainštalovaný klient Calibre

Nastavenie smerovania subdomény

U nášho registrátora domény vytvoríme novú subdoménu a nový A DNS záznam, v mojom prípade sa subdoména bude volať mojeknihy.vawav.com

moje knihy nastavenie DNS záznamu

Ďalším krokom je povolenie portu 28083 na firewall v Ubuntu serveri, ktorý interne bude NGINX smerovať následne na port 8083 kde beží Calibre-web server. O
Prihlásime sa na Ubuntu server cez SSH , v mojom prípadne cez príkaz

ssh [email protected] -p 2211

Prečo sa pripájam na port 2211 nájdete v mojom návode na zabezpečenie linuxového serveru.

a pravidlá pre firewall pridáme príkazom

sudo ufw allow 28083

a ešte necháme pre istotu nahrať pravidlá vo firewall príkazom

sudo ufw reload


Calibre-web ako docker – príprava adresárov

Vytvoríme si 3 adresáre, jeden hlavný s názvom calibre-web a do neho 2 podadresáre, v ktorých sa nám budú ukladať konfiguračné súbory a samotné knihy.
Prvý príkaz:

mkdir calibre-web

Následne sa presunieme do adresára calibre-web príkazom

cd calibre-web/

Druhý príkaz

mkdir books

a posledný príkaz

mkdir config

vznikli nám teda 2 podadresáre v adresári calibre-web a cesty k nim nasledovne

/home/tony/calibre-web/books – túto cestu si poznačíme, sem sa bude ukladať knihy
a
/home/tony/calibre-web/config – túto cestu si rovnako poznačíme, tu budú konfiguračné súbory.

ako posledné si zistíme UID a GID užívateľa príkazom

id username

V mojom prípade to teda bolo id tony a obe hľadané hodnoty boli 1000.

Calibre-web ako docker – inštalácia cez Portainer

Otvoríme si nainštalovaný Portainer cez webový prehliadač na adrese v mojom prípade 192.168.1.26:9000.

V ľavom stĺpci zvolíme možnosť Stacks a následne vpravo hore modré tlačidlo Add Stack

Vypíšeme nasledovne:
Name: calibreweb
A následne dole do položky Web editor vložíme kód:

version: "2.1"
services:
  calibre-web:
    image: ghcr.io/linuxserver/calibre-web
    container_name: calibre-web
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/Bratislava
      - DOCKER_MODS=linuxserver/calibre-web:calibre
    volumes:
      - /home/tony/calibre-web/config:/config
      - /home/tony/calibre-web/books:/books
    ports:
      - 28083:8083
    restart: unless-stopped

Použijem cesty ktoré som si predtým poznačil. Následne už len necháte kliknutím na tlačítko Deploy the stack 

Nastavenie smerovania v NGINX proxy

Otvoríme si NGINX proxy na adrese v mojom prípade 192.168.1.26:81

Klikneme Proxy Hosts a následne vpravo hore Add Proxy host
Domain Names – mojeknihy.vawav.com
Scheme – http
Forward Hostname / IP – 192.168.1.26 (IP adresa Ubuntu serveru)
Port: 28083
Block Common Exploits – zapnúť

V záložke SSL – Request a new SSL certificate.
Force SSL – zapnúť
HTTP/2 Support – zapnúť
HSTS Enabled – zapnúť
I agree …. – zapnúť
Klikneme na Save

Pre istotu si ešte raz otvorte pripojenie a na záložke SSL si urobte kontrolu, či Force SSL a HTTP/2 Support a zostali HSTS Enabled zapnuté. Môže sa stať že pri prvotnom nastavení sa tieto parametre neuložili.

Pokiaľ všetko prejde v poriadku, náš Calibre-web by mal byť dostupný na webovej adrese https://mojeknihy.vawav.com .
V prípade že sa chceme prihlásiť z LAN, tak adresa bude http://192.168.1.26:28083.

Predvolený prístup na prihlásenie je nastavený nasledovne:
login: admin
heslo: admin123

Calibre-web ako docker – koniec návodu.

##### DOSLOV #####
Tvorba obsahu týchto stránok mi zaberá čas, počas ktorého sa snažím dodržiavať pitný režim.
Budem veľmi rád, ak ma v tomto kroku starostlivosti o životosprávu podporíte a prispejete na chod môjho „pivomatu“.
Ďakujem.
Odkazy na zaslanie príspevku.
Patreon – https://www.patreon.com/vawaver
Paypal – https://www.paypal.com/paypalme/vawaver
Revolut – https://revolut.me/antone9rp
NordVPNmôj odkaz

Series Navigation<< AKO AKTUALIZOVAŤ DOCKERYPLEX MEDIA SERVER AKO DOCKER >>

18 myšlienok na “CALIBRE-WEB AKO DOCKER

    1. Nech sa páči. Nech poslúži na dobrú vec.
      Trochu som s tým bojoval, kým som prišiel na to, čo ,kde a ako treba nastaviť, nakoľko na to takýto ucelený návod na internete neexistuje.

      Ako som písal, ja sám veľa čítam a konečne som si mohol utriediť všetky svoje knihy.

  1. Ahoj,
    mám takový problém který se týká instalace nextcloud. Nainstaloval jsem dle tvého návodu
    a nextclud skvělě fungoval . Asi po půl roce spadnul respektive zastavil se na hlášce že provádí udržbu databáze. Odinstaloval jsem z dockeru odstranil všechny data a znova nainstaloval a zustavám opět viset při tvorbě učtu správce kde se objeví hláška kterou vložím níže a nabídne udaje k vložení uložiště databáze. Na 90% mám problém s databází . Ale já už nevím co s tím proto tě žádám o radu jestli by jsi nevědel.
    Zde vkládám text co píše nextcloud :
    Chyba
    Error while trying to initialise the database: An exception occurred while executing a query: SQLSTATE[HY000]: General error: 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.

    1. Ahoj,
      Nextcloud mám asi od verzie 18. Najskôr som to mal nainštalované klasicky cez APACHE ale presne ako si písal teraz pri aktualizáciách na nové verziu som mal neustále problémy s databázou, čoho výsledkom bolo to že som musel reinštalovať celý Nextcloud. Keďže som na to už nemal nervy tak som sa nakoniec uchýlil k riešeniu inštalácie Nextcloud ako SNAP (dá sa to nainštalovať priamo pri inštalácii aj nového Ubuntu serveru) a odvtedy mám s tým kľud. SNAPy sa aktualizujú samostatne, nie je potrebný ďalší iný zásah. Ide o to že tieto SNAP spravuje priamo Canonical (vydavateľ Ubuntu).Jediné čo mi tam nejde je online úprava dokumentov, čo mi v zásade neprekáža.
      Čo sa týka docker inštalácie Nextcloud, na to som urobil návod, ale sám to ako som písal neprevádzkujem, presne kvôli obave s problémami pri aktualizácii na novšiu docker verziu.
      S databázovým problémom v tomto prípade pomôcť nedokážem.
      Pokiaľ máš len zopár používateľov, určite najmenší problém je so SNAP inštaláciou, tam som po aktualizácii myslím len raz niečo nastavoval. Inak je to najbezbolestnejšie. Moje doporučenie je prejsť na SNAP.
      Tony

        1. Inštalácia cez SNAP je brnkačka. Ako som písal, ak by si inštaloval nanovo celý Ubuntu server, tak sa dá Nextcloud priamo zakliknúť pri inštalácii. Pokiaľ už máš nainštalovaný server, nie je to tiež žiaden problém.
          sudo snap install nextcloud
          A to je všetko.
          PS: Už mi beží aj online úprava dokumentov

  2. Druhý deň sa snažím rozbehať Calibre-web ale neúspešne. Mam connection refused na danom porte.

    Details:
    OS/docker info (Linux raspberrypi 5.10.63-v7l+ , Docker 20.10)
    Hardware: raspberry pi 4 8GB
    Docker command or compose snippet: docker run -d –name=Calibre-Web -e PUID=1000 -e PGID=1000 -e TZ=Europe/Bratislava -p 1083:8083 -v /home/pi/DockVols/Calibre-web/config:/config -v /home/pi/DockVols/Syncthing/Media_files/CalibreDatabase/:/books –restart unless-stopped linuxserver/calibre-web
    Container logs: https://pastebin.com/j4rgwkz9
    Describe the issue you’re having with the container: Cannot open webUI. I checked logs via portainer or Dozzle and I see many errors like this: https://pastebin.com/j4rgwkz9

    Googlil som ale neviem ako fixnut toho fake user agenta a popravde neviem ani ci je problem v tom. Dalsia otazka ci je problem s dockerom alebo samotnou aplikaciou.

    1. 1. Nie som si celkom istý či na RPI je user ID 1000 – lebo tam je to ak si dobre pamätám cez root oprávnenia všetko inštalované. Tam by mohol byť ten problém.
      Keď tak skúsiť urobiť kontrolu cez
      id username
      Dajte vedieť či je to OK.
      2. Neviem čo iné by mohlo bežať na danom porte, RPI pokiaľ viem štandardne pustený firewall nemajú. Čo ešte ďalšie na tom RPI beží, aká aplikácia?

      1. Tu je vystup z prikazu:
        [email protected]:~ $ id
        uid=1000(pi) gid=1000(pi) groups=1000(pi)

        V mapovanom porte by nemala byt chyba lebo skúsal som aj iny, napriklad 20083:8083 a to iste. Na RPI mam vsetko rozbehane cez docker do 10 containerov. Všetko beži bez problemov okrem tohto posledneho Calibre-web.

        1. Vôbec som nezaznamenal s touto inštaláciou žiadne problémy. Minimálne na vnútornej LAN by to malo bežať.
          1. Ešte mi napadá samotný router, či nie je nastavené nejaké obmedzenie.
          2. Skúsil by som ešte povypínať (dočasne zrušiť) ostatné dockery a Calibre pustiť samostatne.
          3. Prípadne na inom PC v LAN napr. na Virtualbox + Ubuntu server.

      1. No bol som upozorneny ze docker container sa nevie dostat na net:

        today at 11:16:58 PM socket.gaierror: [Errno -3] Temporary failure in name resolution

        Neviem ako je o možne. Toto bude na dlho.

      2. Ok, takze prisiel som na to, ze to nejakym sposobom blokuje AdGuard home, ktory pouzivam ako DNS…ked som pouzil cloudflare dns 1.1.1.1 tak Calibre-web som spustil.

        Teraz už ostáva prísť na príčinu, prečo je to blokované tym Adguard home containerom.

        1. Teším sa z toho že už to funguje.
          Ešte 2 postrehy a skúsenosti.
          1. Adguard je aplikácia ktorú nedoporučujem mať na jednom serveri v dockere s ostatnými vecami. Mám to na samostatnej virtuálke. Mal som tiež veľký problém, že som nevedel nejaký docker pri tom spustiť, nepamätám si to už presne.
          2. Pokiaľ používate Cloudflare, mám takú skúsenosť pri obnovovaní certifikátov v Nginx, že som pred obnovením musel vypnúť Proxy smerovanie z Cloudflare a až vtedy mi išlo obnoviť certifikát. To jest smerovanie muselo byť napriamo a nie proxy Cloudflare.

  3. Ahoj ještě se vrátím k nextcloudu. Podařil se mi nainstalovat snap poté i nextcloud opravdu brnkačka. Problém nastal protože jsem neinstaloval čistý server a jedu na debianu ( ubuntu má snap v sobě) s porty nextcloud samozhřejmě obsadil port 80 na kterém mi běhá nginxproxy .
    Podařilo se mi i změnit nextcloudu http port ale zustal jsem viset na https nemužu se dostat z venkovní adresy na nexcloud ( píše že se jedná o nedůvěryhodné připojení a abych kontaktoval správce). Ve tvém návodu se to řeší upravou config.php ale i když ho najdu ve snapu v instalaci nextcloud nemůžu i jako root do něj zapisovat. Nevíš je na to nějaký fígl. Diky Honza

    1. cesta ku config.php
      /var/snap/nextcloud/current/nextcloud/config$

      Doplniť v trusted_domains tak, aby to vyzeralo podobne

      'trusted_domains' =>
      array (
      0 => '192.168.1.XXX',
      1 => 'nextcloud.tvojadomena.cz',
      ),

      Nesedia mi tu medzery na formátovanie kódu, tak to len nekopíruj. Treba manuálne vypísať.

      0 – IP v LAN si nastav na tvoju internú IP kde ti beží Nextcloud SNAP
      1 – nextcloud.tvojadomena.cz – nastav si svoju doménu

      Nastavenie NGinx
      Domain name – nextcloud.tvojadomena.cz (samozrejme daj si svoju doménu)
      Scheme – https (všade inde na dockeroch mám http, len tu na nastavenie na https!!!)
      Forward hostname/IP – lokálna IP serveru na ktorom beží Nextcloud (192.168.1.XXX)
      Port – 443

      Na založke SSL
      Force SSL a Http2 support – obe mám zapnuté

  4. Docker a snap sa trochu líšia v inštalácii a aj v nastavení. Keď budem za PC pošlem informácie ako to mám nastavené ja + k tomu ešte nastavenie smerovania v Nginx. Lebo toto je trocha inak ako pri dockerov. Určite by som zvážil nemať na jednom serveri Nginx a aplikáciu ktorá vyžaduje porty 80 a 443. Ja to mám oddelené. Nginx na jednom serveri a ten to triedi ďalej na ostatné servery. Lebo takto presne vznikajú zbytočné komplikácie.

Pridaj komentár

Vaša e-mailová adresa nebude zverejnená. Vyžadované polia sú označené *