Index denníkaDockup / poznámka z terénu
Note / self-host-wallabag

Ako si v roku 2026 hostovať Wallabag: importy, databáza a úlohy na pozadí

Praktický návod na self-hosting Wallabagu, ktorý pokrýva Docker, porty, trvalé dáta, TLS, bezpečnosť, zálohy a zlyhania blokujúce produkčné nasadenie. Vrátane kontrol.

Najkratšia ukážka Wallabagu dokazuje, že proces počúva na porte 80. Produkcia si vyžaduje presvedčivejšie dôkazy. Nasadenie musí prejsť týmto scenárom aj po nahradení kontajnera: uložiť bežný článok aj problematickú stránku, spustiť načítanie na pozadí, synchronizovať mobilného klienta a vyhľadať archivovaný obsah.

Wallabag sa nasadzuje s jasným účelom: ako read-it-later archív, ktorý odstraňuje balast zo stránok. Najčastejšou pascou pri jeho nasadení je, že assety alebo presmerovania po prihlásení používajú HTTP, pretože premenná domény je nesprávna. Spracovaniu verejnej URL a trvalému stavu preto treba venovať rovnakú pozornosť ako štartu image.

Premeniť lokálny príkaz na kontrolovateľnú službu

Nasledujúci príkaz zviditeľní hranicu kontajnera bez predstierania, že zabezpečí všetky externé služby.

docker run -d \
  --name wallabag \
  --restart unless-stopped \
  -p 127.0.0.1:80:80 \
  -v wallabag-data:/var/www/wallabag/data \
  -e SYMFONY__ENV__DOMAIN_NAME=https://app.example.com \
  wallabag/wallabag:latest

Pred otvorením ingressu skontrolujte vyriešené premenné prostredia, mounty a listener. Pridajte overené nastavenia pripojenia pre Postgres alebo MariaDB, Redis a naplánované import workers; pre interné služby používajte privátne názvy. Úspešné spustenie nastáva vtedy, keď dokážete uložiť bežný článok aj problematickú stránku, spustiť načítanie na pozadí, synchronizovať mobilného klienta a vyhľadať archivovaný obsah — nie vtedy, keď docker ps vypíše Up.

Od čoho Wallabag závisí

Okolo Wallabagu vytýčte tri hranice: ingress na porte 80, trvalý stav a podporné požiadavky. Kontajner je nahraditeľný, no o ďalšie dve oblasti sa treba explicitne postarať. Sieťový kontrakt pre Wallabag tvoria Postgres alebo MariaDB, Redis a naplánované import workers. Privátne endpointy ponechajte v internom DNS, povoľte iba potrebné odchádzajúce volania a Wallabagu prideľte service credential s obmedzeným rozsahom oprávnení.

Diagram je kompletný vtedy, keď čistý klient dokáže uložiť bežný článok aj problematickú stránku, spustiť načítanie na pozadí, synchronizovať mobilného klienta a vyhľadať archivovaný obsah. Zaznamenávajte časové a resource dáta pre načítavanie stránok, prácu parsera, sťahovanie obrázkov, queues a rast databázy. Ak transakcia zlyhá, prvá hranica, ktorá sa nespráva podľa dokumentácie, ukáže, či treba preveriť routing, lokálnu kapacitu alebo podpornú službu.

Zabezpečiť Wallabag po bootstrapovaní

Bezpečnostné predpoklady z lokálneho návodu nepreberajte automaticky. Špecifickým problémom Wallabagu je ponechanie predvolených prihlasovacích údajov alebo vynechanie konfigurácie trusted proxy. Pred vystavením readera do produkcie preto odstráňte predvolené prihlasovacie údaje, chráňte import tokens a nakonfigurujte trusted proxies.

SYMFONY__ENV__DOMAIN_NAME je konfigurácia, nie secret; jej hodnotu ponechajte explicitnú a zároveň chráňte samostatné credentials používané Wallabagom. Obmedzte prístup k filesystemu a sieti, chráňte setup endpointy a stanovte limity uploadov, requestov alebo execution okolo načítavania stránok, práce parsera, sťahovania obrázkov, queues a rastu databázy.

Urobiť verejný origin jednoznačným

Wallabag vystavte cez jeden HTTPS hostname a surový port 80 ponechajte privátny. Názov domény nastavte na výslednú HTTPS URL. Zabránite tak tomu, aby sa prehliadače a API klienti dozvedeli o dvoch konkurenčných adresách.

Z čistého klienta spustite overenú transakciu a skontrolujte prvý request, ktorý zlyhá. Ak je problém v DNS alebo TLS, použite návod na vlastnú doménu. Tvrdenie „assety alebo presmerovania po prihlásení používajú HTTP, pretože premenná domény je nesprávna“ riešte ako samostatnú aplikačnú diagnózu až po overení routy.

Oddeliť nahraditeľné kontajnery od trvalých dát

Súbor na obnovu musí obsahovať databázu, images, importovaný obsah a konfiguráciu. Pred bootstrapovaním pripojte /var/www/wallabag/data, zapíšte neškodné testovacie dáta a nahraďte kontajner, aby ste overili, že táto cesta je skutočne persistentná. Volume chráni dáta pred nahradením kontajnera, nie však pred stratou hostiteľa, náhodným vymazaním alebo poškodením na úrovni aplikácie.

Vytvárajte zálohy so znalosťou zdroja dát: v prípade potreby používajte pre živé databázy logical dumps a súbory kopírujte iba z konzistentného stavu. Jednu šifrovanú kópiu uchovávajte mimo hostiteľa Wallabagu. Akceptačné kritérium obnovy musí byť konkrétne — vrátia sa články, tagy, anotácie, používatelia a API tokens a mobilný klient sa synchronizuje. Návod na zálohy overené obnovou vysvetľuje, prečo samotný úspech jobu nestačí.

Dôkazy, ktoré treba zhromaždiť pred spustením Wallabagu

Pre Wallabag si pred spustením definujte overenú transakciu: uložiť bežný článok aj problematickú stránku, spustiť načítanie na pozadí, synchronizovať mobilného klienta a vyhľadať archivovaný obsah. Jej predpoklady, očakávanú odpoveď a kroky čistenia uložte do version control bez secret values. Image použitú na vytvorenie tejto referencie pinnite.

Pomocou transakcie overte nahradenie aj nezávislú obnovu. Obnovená služba je akceptovateľná iba vtedy, keď sa vrátia články, tagy, anotácie, používatelia a API tokens a mobilný klient sa synchronizuje. Zároveň sledujte načítavanie stránok, prácu parsera, sťahovanie obrázkov, queues a rast databázy a najpomalšiu alebo najviac obmedzenú časť premeňte na service-level alert.

Súčasťou kontroly musí byť aj negatívny scenár: dočasne odoberte testovanej identite prístup k Postgresu alebo MariaDB, Redisu a naplánovaným import workers. Overte, že Wallabag vytvorí použiteľnú chybovú správu a zároveň zachová dáta, obnovte platný stav a zopakujte overenú transakciu. Uchovávanie oboch výsledkov zabráni tomu, aby sa povrchný health endpoint stal jediným produkčným dôkazom.

Prevádzkovať Wallabag podľa jeho skutočného bottlenecku

Dashboardy postavte okolo načítavania stránok, práce parsera, sťahovania obrázkov, queues a rastu databázy. Graf CPU bez kontextu tejto záťaže nedokáže vysvetliť, prečo je Wallabag pomalý. Pridajte synthetic alebo naplánovanú kontrolu, ktorá sa pomocou neškodných testovacích dát pokúsi uložiť bežný článok aj problematickú stránku, spustiť načítanie na pozadí, synchronizovať mobilného klienta a vyhľadať archivovaný obsah.

Pred upgradeom zohľadnite toto špecifické riziko aplikácie: migrations Wallabagu, správanie parsera a konfiguráciu workerov treba testovať na reprezentatívnych uložených stránkach. Obnovte aktuálnu zálohu do izolovaného nasadenia, spustite v ňom migrations a porovnajte správanie. Ak assety alebo presmerovania po prihlásení používajú HTTP, pretože premenná domény je nesprávna, pred úpravou nesúvisiacich nastavení skontrolujte príslušnú hranicu — verejný origin, storage alebo dependency.

Použiť Dockup pre platformovú vrstvu

Pre Wallabag môže Dockup vytvoriť routu a TLS certificate, zachovať mounty, doručiť secrets a umiestniť Postgres alebo MariaDB, Redis a naplánované import workers do privátnej siete pri nasadení na Dockup alebo pripojené servery.

Release gate je stále konkrétna transakcia Wallabagu: uložiť bežný článok aj problematickú stránku, spustiť načítanie na pozadí, synchronizovať mobilného klienta a vyhľadať archivovaný obsah. Overte aj stav po obnove — vrátia sa články, tagy, anotácie, používatelia a API tokens a mobilný klient sa synchronizuje. Tieto dve kontroly ukážu, či nasadenie funguje a či sa dá obnoviť.

Často kladené otázky

Čo Wallabag potrebuje na produkčné nasadenie?

Kontajner Wallabagu routujte na porte 80 cez jeden HTTPS origin. Sieťovú podporu tvoria Postgres alebo MariaDB, Redis a naplánované import workers. Wallabag nepovažujte za pripravený, kým nedokážete uložiť bežný článok aj problematickú stránku, spustiť načítanie na pozadí, synchronizovať mobilného klienta a vyhľadať archivovaný obsah.

Ktoré dáta Wallabagu patria do zálohy?

Zachovajte /var/www/wallabag/data a do rovnakého recovery manifestu zahrňte databázu, images, importovaný obsah a konfiguráciu. Čistá obnova Wallabagu je úspešná iba vtedy, keď sa vrátia články, tagy, anotácie, používatelia a API tokens a mobilný klient sa synchronizuje.

Vyžaduje Wallabag HTTPS za reverse proxy?

Pre verejný origin Wallabagu používajte HTTPS a port 80 ponechajte na internej route. Nastavenie Wallabagu aplikujte správne: názov domény nastavte na výslednú HTTPS URL. HTTPS pri Wallabagu chráni credentials alebo používateľský obsah počas prenosu a udržiava konzistentné správanie klienta závislé od originu.

Ako testovať upgrade Wallabagu?

Obnovte aktuálny stav Wallabagu do izolovaného nasadenia, aplikujte kandidátnu verziu a zopakujte akceptačnú transakciu. Venujte tomu mimoriadnu pozornosť, pretože migrations Wallabagu, správanie parsera a konfiguráciu workerov treba testovať na reprezentatívnych uložených stránkach. Predchádzajúci image Wallabagu si ponechajte, kým nebudete rozumieť hranici migrácie dát a rollbacku.