Ako prevádzkovať Etherpad na vlastnej infraštruktúre v roku 2026: pady, pluginy a zálohy databázy
Praktický návod na prevádzku Etherpadu na vlastnej infraštruktúre, ktorý pokrýva Docker, porty, perzistentné dáta, TLS, bezpečnosť, zálohy a zlyhania brániace produkčnému použitiu. Vrátane kontrol.
Ak ste sa už pokúšali prevádzkovať Etherpad na vlastnej infraštruktúre, tento frustrujúci stav vám bude pravdepodobne známy: rozhranie sa zobrazí, no relácie sa odpájajú, pretože timeouty proxy sú príliš krátke. Opätovné vytvorenie kontajnera len zriedka vyrieši nesúlad medzi URL adresami, stavom a závislosťami.
Tento návod používa jedno konkrétne kritérium dokončenia — otvoriť jeden pad v dvoch prehliadačoch, súčasne ho upravovať, skontrolovať revízie a exportovať výsledok v požadovanom formáte. Každé konfiguračné rozhodnutie sa posudzuje podľa tohto kritéria, nie podľa zelenej značky kontajnera.
Vyberte najmenšiu použiteľnú topológiu Etherpadu
Najmenšia zodpovedná topológia Etherpadu obsahuje jeden privátny listener na porte 9001, ingress route a zdokumentovanú hranicu stavu. Sieťovou požiadavkou Etherpadu je Postgres alebo iná podporovaná databáza na trvalé používanie viacerými používateľmi. Privátne endpointy ponechajte v internom DNS, povoľte iba potrebné odchádzajúce volania a Etherpadu priraďte service credential s obmedzeným rozsahom.
Topológiu overte tak, že čistému klientovi zadáte otvoriť jeden pad v dvoch prehliadačoch, súčasne ho upravovať, skontrolovať revízie a exportovať výsledok v požadovanom formáte. Počas testu sledujte WebSocket relácie, počet revízií, zápisy do databázy a vykonávanie pluginov. Výsledok vám ukáže, či ďalšie zlepšenie patrí do oblasti pamäte, úložiska, siete alebo samostatného workera, namiesto toho, aby vás viedol k ľubovoľnému zväčšovaniu kontajnera.
Vytvorte nahraditeľný kontajner Etherpadu
Kontajner používajte ako nahraditeľné runtime prostredie, nie ako miesto, kde sa nachádzajú zdrojové dáta.
docker run -d \
--name etherpad \
--restart unless-stopped \
-p 127.0.0.1:9001:9001 \
-v etherpad-data:/opt/etherpad-lite/var \
-e ADMIN_PASSWORD=replace-with-a-long-random-value \
etherpad/etherpad:latest
Pridajte skontrolované nastavenia pripojenia k Postgresu alebo inej podporovanej databáze na trvalé používanie viacerými používateľmi; pre privátne služby používajte privátne názvy. Pred vystavením služby skontrolujte používateľa kontajnera, zapisovateľné cesty a naviazaný listener. Spustite celú akciu — otvorte jeden pad v dvoch prehliadačoch, súčasne ho upravujte, skontrolujte revízie a exportujte výsledok v požadovanom formáte — a uložte presnú referenciu image, ktorá vytvorila výsledok.
Zabráňte tomu, aby úspech proxy zakryl zlyhanie aplikácie
Prehliadač, API klient a Etherpad sa musia zhodovať na jednom origin. Aby to platilo, nastavte verejnú URL a podporu WebSocketov v proxy. Zachovajte pôvodný host a protokol a zároveň ponechajte port 9001 nedostupný ako konkurenčnú verejnú adresu.
Sprievodca riešením problémov s nedostupnou stránkou pomáha rozlíšiť nedostupnú route od aplikácie, ktorá odpovedá. Toto rozlíšenie je dôležité: relácie sa odpájajú, pretože timeouty proxy sú príliš krátke. Zmeny v ingress vyriešia iba prvý prípad; druhý si vyžaduje kontrolu logov Etherpadu, stavu alebo vyťaženia.
Navrhnite obnovu Etherpadu ešte pred spustením
Pred optimalizáciou kontajnera chráňte stav Etherpadu. Požadovaná sada obsahuje databázu, nahrané pluginy a nastavenia. Pred bootstrapom pripojte /opt/etherpad-lite/var, zapíšte neškodné vzorové dáta a nahraďte kontajner, aby ste overili, že táto cesta je skutočne perzistentná. Ak sa musia zhodovať viaceré úložiská, zdokumentujte poradie, v ktorom sa pozastavia zápisy a vytvoria zálohy.
Kópie uchovávajte mimo deployment servera a zašifrujte materiál obsahujúci prihlasovacie údaje alebo súkromný obsah. Obnova je úspešná vtedy, keď sa vrátia pady, autori, revízie a pluginy a súbežné úpravy sa naďalej zhodujú. Rozdiel medzi perzistentným mountom a nezávislou kópiou je vysvetlený v článku perzistentné úložisko a snapshoty.
Vyberte hranicu dôvery pre Etherpad
Bootstrap okno zatvorte hneď po vytvorení prvého dôveryhodného administrátora. Konkrétnym problémom Etherpadu je dodanie známeho hesla administrátora alebo ponechanie padov zapisovateľných pre každého; bezpečnejší postup spočíva v nastavení skutočného hesla administrátora, rozhodnutí, kto môže vytvárať pady, a v tom, že nebudete predpokladať, že neobvyklá URL padu je súkromná.
Vzorové ADMIN_PASSWORD okamžite nahraďte, uložte ho mimo image a pri jeho odhalení ho zmeňte rovnako ako prihlasovací údaj administrátora. Privátna sieť by mala prenášať prihlasovacie údaje k závislostiam a roly v Etherpade by mali povoľovať iba nevyhnutné akcie. Citlivé telá požiadaviek a odpovede poskytovateľov neukladajte do bežných logov.
Aktualizujte Etherpad bez hádania
Sledujte operácie, ktoré Etherpad vykonáva: WebSocket relácie, počet revízií, zápisy do databázy a vykonávanie pluginov. Limity nastavte s rezervou pre túto záťaž a vyhnite sa liveness probe, ktorá s ňou súťaží. Kontrola operátorom by sa mala podľa plánu stále pokúsiť otvoriť jeden pad v dvoch prehliadačoch, súčasne ho upravovať, skontrolovať revízie a exportovať výsledok v požadovanom formáte.
Pri aktualizáciách pamätajte, že verzie pluginov Etherpadu, syntax nastavení a migrácie databázy treba testovať spoločne. Kandidáta nasaďte oproti obnovenej kópii a zopakujte známy test. Ak sa relácie odpájajú, pretože timeouty proxy sú príliš krátke, pomocou runtime logov a skutočnej sieťovej požiadavky zistite, ktorý predpoklad sa zmenil.
Čo musí prejsť predtým, než Etherpad dostane skutočné dáta
Pre Etherpad definujte pred spustením známu úspešnú transakciu: otvoriť jeden pad v dvoch prehliadačoch, súčasne ho upravovať, skontrolovať revízie a exportovať výsledok v požadovanom formáte. Jej predpoklady, očakávanú odpoveď a kroky čistenia uložte do version control bez hodnôt secretov. Image použitú na vytvorenie tejto referencie pripnite na konkrétnu verziu.
Transakciu použite na overenie náhrady aj nezávislej obnovy. Obnovená služba je prijateľná iba vtedy, keď sa vrátia pady, autori, revízie a pluginy a súbežné úpravy sa naďalej zhodujú. Zároveň sledujte WebSocket relácie, počet revízií, zápisy do databázy a vykonávanie pluginov a najpomalšiu alebo najviac obmedzenú časť premeňte na alert na úrovni služby.
Kontrola potrebuje aj negatívny prípad: dočasne odoberte testovanej identite prístup k Postgresu alebo inej podporovanej databáze na trvalé používanie viacerými používateľmi. Overte, že Etherpad vytvorí použiteľnú chybovú správu a zároveň zachová dáta, obnovte platný stav a zopakujte známu úspešnú transakciu. Uchovávanie oboch výsledkov zabráni tomu, aby sa povrchný health endpoint stal jediným dôkazom pripravenosti na produkciu.
Nasaďte Etherpad na Dockup bez straty hraníc
Pri Etherpade je Dockup najužitočnejší na hranici medzi image a trvalou službou. Zachová route na port 9001, TLS, hodnoty secretov a úložisko aj pri výmene kontajnerov, bez ohľadu na to, či výpočtové prostriedky patria Dockupu alebo vášmu pripojenému serveru.
Dokončite nasadenie znalosťou aplikácie: nastavte verejnú URL a podporu WebSocketov v proxy; pripojte a otestujte Postgres alebo inú podporovanú databázu na trvalé používanie viacerými používateľmi; a spustite toto overenie: otvorte jeden pad v dvoch prehliadačoch, súčasne ho upravujte, skontrolujte revízie a exportujte výsledok v požadovanom formáte. Výsledok ponechajte ako deployment check, aby sa ďalšia aktualizácia image posudzovala podľa správania, nie podľa stavu kontajnera.
Často kladené otázky
Čo Etherpad potrebuje na produkčné nasadenie?
Kontajner Etherpadu smerujte cez jednu HTTPS origin na porte 9001. Podpornou sieťovou požiadavkou je Postgres alebo iná podporovaná databáza na trvalé používanie viacerými používateľmi. Etherpad neoznačujte za pripravený, kým nedokážete otvoriť jeden pad v dvoch prehliadačoch, súčasne ho upravovať, skontrolovať revízie a exportovať výsledok v požadovanom formáte.
Ktoré dáta Etherpadu patria do zálohy?
Zachovajte /opt/etherpad-lite/var a zahrňte databázu, nahrané pluginy a nastavenia do rovnakého recovery manifestu. Čistá obnova Etherpadu je úspešná iba vtedy, keď sa vrátia pady, autori, revízie a pluginy a súbežné úpravy sa naďalej zhodujú.
Vyžaduje Etherpad HTTPS za reverse proxy?
Pre verejný origin Etherpadu používajte HTTPS a port 9001 ponechajte na internej route. Nastavenie Etherpadu aplikujte správne: nastavte verejnú URL a podporu WebSocketov v proxy. HTTPS pri Etherpade chráni prihlasovacie údaje alebo používateľský obsah počas prenosu a zachováva konzistentné správanie klienta závislé od originu.
Ako treba testovať aktualizáciu Etherpadu?
Obnovte aktuálny stav Etherpadu v izolovanom nasadení, aplikujte kandidátnu verziu a zopakujte akceptačnú transakciu. Venujte tomu mimoriadnu pozornosť, pretože verzie pluginov Etherpadu, syntax nastavení a migrácie databázy treba testovať spoločne. Predchádzajúcu image Etherpadu si ponechajte, kým nebudete rozumieť hranici migrácie dát a rollbacku.
