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

Ako hostovať DokuWiki vo vlastnej réžii v roku 2026: ukladanie súborov, ACL a zálohy

Praktická príručka k hostovaniu DokuWiki vo vlastnej réžii, ktorá pokrýva Docker, porty, persistentné dáta, TLS, bezpečnosť, zálohy a zlyhania brániace produkčnému nasadeniu. Vrátane kontrol.

K DokuWiki pristupujte ako k malému systému, nie ako k Docker image. Používateľský cieľ pre DokuWiki je jasný: wiki založená na súboroch, ktorá nepotrebuje databázu; nasadenie je prijateľné až vtedy, keď dokážete nahradiť prihlasovacie údaje nastavenia, upraviť stránku, nahrať médiá, použiť ACL, zobraziť revíziu a obnoviť staršiu verziu.

Toto rozlíšenie odhalí typický problém, s ktorým sa operátori stretnú po lokálnom testovaní: vlastníctvo súborov bráni ukladaniu stránok, hoci používateľské rozhranie sa načíta. Zároveň vďaka nemu dokážete pripraviť plán zálohovania a aktualizácií dostatočne konkrétny na otestovanie.

Porty, procesy a privátne služby

Začnite sieťovým namespace DokuWiki: webový listener používa port 80, nie port hostiteľa skopírovaný z návodu pre laptop. Lokálnou runtime požiadavkou je persistentný config volume obsahujúci stránky, médiá a ACL. Zdokumentujte očakávanú kapacitu, vlastníctvo a spôsob zlyhania namiesto toho, aby ste tieto údaje nechali ako predvolené nastavenie image.

Po splnení požiadavky spustite celý scenár — nahradiť prihlasovacie údaje nastavenia, upraviť stránku, nahrať médiá, použiť ACL, zobraziť revíziu a obnoviť staršiu verziu. Zaznamenajte logy a merania týkajúce sa metadát filesystemu, media volume, indexovania vyhľadávania a PHP workers. Tieto dôkazy sa stanú prvou známou funkčnou architektúrou a umožnia neskôr testovať presuny medzi výpočtovou kapacitou Dockup a pripojeným serverom.

Testy zlyhaní pre DokuWiki

Funkčný container je nevyhnutný, ale nie postačujúci. Service-level indicator predstavuje úspešné dokončenie scenára „nahradiť prihlasovacie údaje nastavenia, upraviť stránku, nahrať médiá, použiť ACL, zobraziť revíziu a obnoviť staršiu verziu“, zatiaľ čo pravdepodobnými signálmi preťaženia sú metadáta filesystemu, media volume, indexovanie vyhľadávania a PHP workers.

Riadenie zmien je dôležité, pretože plugins a templates môžu zaostávať za vydaniami DokuWiki, hoci obyčajné súbory stránok zostávajú čitateľné. Zachovajte starý image, migrácie testujte na skopírovanom stave a zdokumentujte, či je rollback po zmenách schémy podporovaný. Ak vlastníctvo súborov bráni ukladaniu stránok, hoci používateľské rozhranie sa načíta, diagnostikujte prvú hranicu, ktorá sa líši od funkčného prostredia.

Zdokumentujte známu funkčnú konfiguráciu DokuWiki

Release candidate pre DokuWiki si zaslúži traffic úspešným dokončením pevne stanoveného scenára: nahradiť prihlasovacie údaje nastavenia, upraviť stránku, nahrať médiá, použiť ACL, zobraziť revíziu a obnoviť staršiu verziu. Zachyťte image digest, efektívnu konfiguráciu bez secretov, verejný origin a časové údaje tohto scenára. Testovacie dáta by mali byť likvidovateľné, ale dostatočne realistické na overenie rovnakej cesty, akú používajú používatelia.

Spustite ho po nahradení runtime a potom službu znova zostavte zo stránok, médií, metadát, používateľov, ACL a pluginov. Obnova je úspešná vtedy, keď sa vrátia stránky, revízie, médiá, používatelia, ACL a plugins a chránená stránka zostane chránená. Porovnajte merania zdrojov pre metadáta filesystemu, media volume, indexovanie vyhľadávania a PHP workers s predchádzajúcim vydaním a pred nasadením preskúmajte významné odchýlky.

Nakoniec vykonajte toto kontrolované zlyhanie: odošlite neškodný vstup v blízkosti limitu zdrojov alebo formátu súvisiaceho s touto hranicou: vlastníctvo súborov bráni ukladaniu stránok, hoci používateľské rozhranie sa načíta. Overte, že DokuWiki zlyhanie vysvetlí, nepoškodí existujúci stav a po návrate platnej podmienky pokračuje v prevádzke. Uložte redigovaný výpis logu a čas obnovy. Tieto kontroly spolu overujú správanie, trvácnosť aj prevádzkovateľnosť, nielen dostupnosť procesu.

Spustite prvú inštanciu v produkčne podobnom tvare

Použite príkaz, ktorý explicitne odhaľuje všetky dôležité voľby. Tento základný príkaz viaže DokuWiki na loopback hostiteľa, pridáva známe data mounts a poskytuje prvé požadované nastavenie. Pred vystavením služby overte lokálnu požiadavku: persistentný config volume obsahujúci stránky, médiá a ACL.

docker run -d \
  --name dokuwiki \
  --restart unless-stopped \
  -p 127.0.0.1:80:80 \
  -v dokuwiki-data:/config \
  lscr.io/linuxserver/dokuwiki:latest

Plávajúce tagy nahraďte otestovanou verziou alebo digestom. Po spustení skontrolujte docker logs --tail 200 dokuwiki a potvrďte, že proces počúva na porte 80. Potom vykonajte akciu akceptačného testu DokuWiki; odpoveď na root page nedokazuje, že sa podarí celý scenár: nahradiť prihlasovacie údaje nastavenia, upraviť stránku, nahrať médiá, použiť ACL, zobraziť revíziu a obnoviť staršiu verziu.

Volumes sú iba prvou vrstvou obnovy

Pri DokuWiki sa bezpečnosť pri redeploymente začína stránkami, médiami, metadátami, používateľmi, ACL a plugins. Pred bootstrapom pripojte /config, zapíšte neškodné vzorové dáta a nahraďte container, aby ste dokázali, že táto cesta je skutočne persistentná. Cestu otestujte nahradením containera v čase, keď existujú neškodné vzorové dáta; odhalíte tým mounty smerujúce o jeden adresár vyššie alebo nižšie.

Ďalej otestujte disaster recovery na prázdnom hostiteľovi. V prípade potreby použite export databázy konzistentný so stavom aplikácie a overte, že sa vrátia stránky, revízie, médiá, používatelia, ACL a plugins a chránená stránka zostane chránená. Príručka k zálohovaniu databáz overenému obnovou poskytuje lepší cieľ než iba kontrola, či bol vytvorený archívny súbor.

Dajte DokuWiki jednu kanonickú adresu

Vydanie TLS je iba polovicou trasy DokuWiki. Wiki sprístupnite cez HTTPS a nastavte jej kanonickú base URL. Internú prevádzku posielajte na port 80 a preposielajte externú schému, aby generované URL a secure cookies zostali konzistentné.

Kompletný scenár DokuWiki spustite z čistej siete, nielen z root page. Chybu 502 alebo zlyhanie certifikátu môžete izolovať pomocou automatického nastavenia domény a TLS. Ak traffic dosiahne proces a vlastníctvo súborov bráni ukladaniu stránok, hoci používateľské rozhranie sa načíta, diagnostikujte túto podmienku na mieste jej vzniku namiesto pridávania ďalších redirectov.

Zatvorte dočasný prístup k nastaveniu

Analyzujte riziká akcie, ktorú DokuWiki vykonáva, nie iba jej prihlasovací formulár. Najrizikovejšou chybou je ponechanie otvorených nastavení installeru alebo registrácie. Implementujte túto hranicu: odstráňte prístup k installeru, skontrolujte registráciu a zachovajte ACL súbory spolu s obsahom stránok.

DokuWiki v tomto základnom nastavení nemá povinný bootstrap secret; namiesto toho chráňte skutočný účet administrátora alebo upstream authentication. Chybu oprávnení neriešte spustením containera ako root ani širokým pripojením hostiteľa. Resource limits patria tiež do bezpečnostného návrhu v prípade, že používatelia môžu spúšťať metadáta filesystemu, media volume, indexovanie vyhľadávania a PHP workers.

Použite Dockup pre platformovú vrstvu

Šablóna Dockup by mala obsahovať image, port 80, mounty, health timing, doménu, TLS a doručovanie secretov. Dockup by mal zachovať nastavenia runtime DokuWiki, zatiaľ čo operátor overí túto lokálnu požiadavku: persistentný config volume obsahujúci stránky, médiá a ACL. To isté nasadenie môže cieliť na servery Dockup alebo na kapacitu pripojenú zákazníkom.

Po sprístupnení trasy použite verejné nastavenie a skúste nahradiť prihlasovacie údaje nastavenia, upraviť stránku, nahrať médiá, použiť ACL, zobraziť revíziu a obnoviť staršiu verziu. Zálohujte stránky, médiá, metadáta, používateľov, ACL a plugins a cvičenie obnovy ponechajte v prevádzkovom pláne; ide o zodpovednosti DokuWiki, ktoré zostávajú viditeľné aj po provisioningu infraštruktúry.

Často kladené otázky

Čo DokuWiki potrebuje na produkčné nasadenie?

Container DokuWiki veďte cez jeden HTTPS origin na porte 80. Lokálnou runtime požiadavkou je persistentný config volume obsahujúci stránky, médiá a ACL. DokuWiki neoznačujte za pripravené, kým nedokážete nahradiť prihlasovacie údaje nastavenia, upraviť stránku, nahrať médiá, použiť ACL, zobraziť revíziu a obnoviť staršiu verziu.

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

Zachovajte /config a do rovnakého recovery manifestu zahrňte stránky, médiá, metadáta, používateľov, ACL a plugins. Čistá obnova DokuWiki je úspešná iba vtedy, keď sa vrátia stránky, revízie, médiá, používatelia, ACL a plugins a chránená stránka zostane chránená.

Vyžaduje DokuWiki za reverse proxy HTTPS?

Pre verejný origin DokuWiki používajte HTTPS a port 80 ponechajte na internej trase. Nastavenie DokuWiki aplikujte správne: wiki sprístupnite cez HTTPS a nastavte jej kanonickú base URL. V prípade DokuWiki HTTPS chráni prihlasovacie údaje alebo používateľský obsah počas prenosu a zachováva konzistentné správanie klienta závislé od originu.

Ako testovať aktualizáciu DokuWiki?

Obnovte aktuálny stav DokuWiki do izolovaného nasadenia, použite kandidátnu verziu a zopakujte jej akceptačnú transakciu. Venujte tomu osobitnú pozornosť, pretože plugins a templates môžu zaostávať za vydaniami DokuWiki, hoci obyčajné súbory stránok zostávajú čitateľné. Predchádzajúci image DokuWiki si ponechajte, kým nebudete rozumieť hraniciam migrácie dát a rollbacku.