Kako samostalno hostati Etherpad 2026.: padovi, pluginovi i sigurnosne kopije baze podataka
Praktičan vodič za samostalno hostanje Etherpada koji obuhvaća Docker, portove, trajne podatke, TLS, sigurnost, sigurnosne kopije i probleme koji onemogućuju upotrebu u produkciji. Uključene su provjere.
Ako ste već pokušali samostalno hostati Etherpad, vjerojatno vam je poznato frustrirajuće stanje: sučelje se prikazuje, ali se sesije prekidaju jer su proxy timeouti prekratki. Ponovno stvaranje containera rijetko rješava neslaganje između URL-ova, stanja i dependencyja.
Ovaj vodič koristi jedan konkretan kriterij dovršenosti — otvoriti jedan pad u dva preglednika, istodobno uređivati sadržaj, pregledati revizije i izvesti rezultat u traženom formatu. Svaki se konfiguracijski odabir procjenjuje prema tom kriteriju, a ne prema zelenoj oznaci containera.
Odaberite najmanju izvedivu Etherpad topologiju
Najmanja odgovorna Etherpad topologija sadrži jedan privatni listener na portu 9001, ingress rutu i dokumentiranu granicu stanja. Mrežni ugovor za Etherpad je Postgres ili druga podržana baza podataka za trajnu upotrebu s više korisnika. Privatne endpointe držite na internom DNS-u, dopustite samo potrebne odlazne pozive i Etherpadu dodijelite ograničene servisne vjerodajnice.
Provjerite topologiju tako da čistom klijentu zadate otvaranje jednog pada u dva preglednika, istodobno uređivanje sadržaja, pregled revizija i izvoz rezultata u traženom formatu. Tijekom rada pratite WebSocket sesije, broj revizija, upise u bazu podataka i izvršavanje pluginova. Rezultat će pokazati pripada li sljedeće poboljšanje memoriji, pohrani, mreži ili zasebnom workeru, umjesto da vas potakne na nasumično povećavanje resursa containera.
Izgradite Etherpad container koji se može zamijeniti
Container koristite kao zamjenjivi runtime, a ne kao mjesto na kojem se nalazi izvor istine.
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
Dodajte provjerene postavke veze za Postgres ili drugu podržanu bazu podataka za trajnu upotrebu s više korisnika; za privatne servise koristite privatna imena. Prije izlaganja servisa provjerite korisnika containera, putanje s pravom pisanja i listener na koji je servis vezan. Pokrenite cijelu radnju — otvorite jedan pad u dva preglednika, istodobno uređujte sadržaj, pregledajte revizije i izvezite rezultat u traženom formatu — te spremite točnu referencu imagea koja je proizvela rezultat.
Spriječite da uspjeh proxyja prikrije pogrešku aplikacije
Preglednik, API klijent i Etherpad moraju se slagati oko jednog origina. Da biste to postigli, postavite javni URL i podršku proxyja za WebSocket. Sačuvajte izvorni host i protokol, a port 9001 nemojte ostaviti dostupnim kao konkurentsku javnu adresu.
Vodič za rješavanje problema sa stranicom koja nije dostupna pomaže razlikovati nedostupnu rutu od aplikacije koja odgovara. Ta je razlika ovdje važna: sesije se prekidaju jer su proxy timeouti prekratki. Ingress promjene popravljaju samo prvi slučaj; drugi zahtijeva pregled Etherpad logova, stanja ili opterećenja.
Osmislite Etherpad restore prije pokretanja
Zaštitite stanje Etherpada prije optimiziranja containera. Obavezni skup čine baza podataka, učitani pluginovi i postavke. Montirajte /opt/etherpad-lite/var prije bootstrapa, upišite bezopasne ogledne podatke i zamijenite container kako biste dokazali da je ta putanja doista trajna. Ako više spremišta mora biti usklađeno, dokumentirajte redoslijed zaustavljanja upisa i izrade sigurnosnih kopija.
Kopije držite izvan deployment servera i šifrirajte materijal koji sadrži vjerodajnice ili privatni sadržaj. Recovery je uspješan kada se vrate padovi, autori, revizije i pluginovi te kada se istodobne izmjene i dalje usklađuju. Razlika između trajnog mounta i neovisne kopije obrađena je u članku trajna pohrana i snapshoti.
Odaberite Etherpadovu granicu povjerenja
Zatvorite bootstrap prozor čim postoji prvi pouzdani administrator. Konkretna zamka u Etherpadu jest isporuka poznate administratorske lozinke ili ostavljanje padova dostupnima za pisanje svima; sigurnija granica podrazumijeva postavljanje stvarne administratorske lozinke, odluku o tome tko smije stvarati padove i izbjegavanje pretpostavke da je neobičan URL pada privatan.
Odmah zamijenite oglednu vrijednost ADMIN_PASSWORD, pohranite je izvan imagea i rotirajte je kao administratorsku vjerodajnicu ako je izložena. Privatna mreža trebala bi prenositi vjerodajnice dependencyja, a uloge unutar Etherpada trebale bi dopuštati najmanji koristan skup radnji. Osjetljiva tijela zahtjeva i odgovore providera nemojte zapisivati u uobičajene logove.
Nadogradite Etherpad bez nagađanja
Pratite radnje koje Etherpad izvršava: WebSocket sesije, broj revizija, upise u bazu podataka i izvršavanje pluginova. Ograničenja postavite s dovoljno rezerve za taj rad i izbjegavajte liveness probe koji mu konkurira. Operativna provjera i dalje bi prema rasporedu trebala pokušati otvoriti jedan pad u dva preglednika, istodobno uređivati sadržaj, pregledati revizije i izvesti rezultat u traženom formatu.
Kod nadogradnji imajte na umu da verzije Etherpad pluginova, sintaksa postavki i migracije baze podataka moraju biti testirane zajedno. Candidate postavite na oporavljenoj kopiji i ponovite poznati test. Ako se sesije prekidaju jer su proxy timeouti prekratki, upotrijebite runtime logove i stvarni mrežni zahtjev kako biste otkrili koja se pretpostavka promijenila.
Što mora proći prije nego što Etherpad primi stvarne podatke
Za Etherpad definirajte poznatu ispravnu transakciju prije pokretanja: otvorite jedan pad u dva preglednika, istodobno uređujte sadržaj, pregledajte revizije i izvezite rezultat u traženom formatu. Njezine preduvjete, očekivani odgovor i korake čišćenja stavite pod version control bez tajnih vrijednosti. Zaključajte image koji je korišten za uspostavu te referentne točke.
Transakcijom provjerite zamjenu i neovisni restore. Oporavljena usluga prihvatljiva je samo kada se vrate padovi, autori, revizije i pluginovi te kada se istodobne izmjene i dalje usklađuju. Istodobno pratite WebSocket sesije, broj revizija, upise u bazu podataka i izvršavanje pluginova te najsporiji ili najograničeniji dio pretvorite u upozorenje na razini usluge.
Kontrolna točka treba sadržavati i negativan slučaj: privremeno uskratite testnom identitetu pristup Postgresu ili drugoj podržanoj bazi podataka za trajnu upotrebu s više korisnika. Potvrdite da Etherpad generira korisnu pogrešku uz očuvanje podataka, vratite ispravno stanje i ponovite poznatu ispravnu transakciju. Čuvanje oba rezultata sprječava da površinska health endpointa postane jedini dokaz spremnosti za produkciju.
Deployajte Etherpad na Dockupu bez gubitka granica
Za Etherpad je Dockup najkorisniji na granici između imagea i trajne usluge. Održava rutu do porta 9001, TLS, tajne vrijednosti i pohranu povezanima tijekom zamjene containera, neovisno o tome nalazi li se compute na Dockupu ili na vašem povezanom serveru.
Završite poznavanjem aplikacije: postavite javni URL i podršku proxyja za WebSocket; povežite i testirajte Postgres ili drugu podržanu bazu podataka za trajnu upotrebu s više korisnika; zatim pokrenite ovu provjeru: otvorite jedan pad u dva preglednika, istodobno uređujte sadržaj, pregledajte revizije i izvezite rezultat u traženom formatu. Rezultat zadržite kao deployment provjeru kako bi se sljedeće ažuriranje imagea procjenjivalo prema ponašanju, a ne prema statusu containera.
Često postavljana pitanja
Što je Etherpadu potrebno za produkcijski deployment?
Usmjerite Etherpad container na portu 9001 kroz jedan HTTPS origin. Prateći mrežni zahtjev jest Postgres ili druga podržana baza podataka za trajnu upotrebu s više korisnika. Nemojte Etherpad proglasiti spremnim dok ne možete otvoriti jedan pad u dva preglednika, istodobno uređivati sadržaj, pregledati revizije i izvesti rezultat u traženom formatu.
Koji Etherpadovi podaci pripadaju sigurnosnoj kopiji?
Učinite /opt/etherpad-lite/var trajnim i uključite bazu podataka, učitane pluginove i postavke u isti recovery manifest. Čisti Etherpad restore uspješan je samo kada se vrate padovi, autori, revizije i pluginovi te kada se istodobne izmjene i dalje usklađuju.
Zahtijeva li Etherpad HTTPS iza reverse proxyja?
Za javni Etherpad origin koristite HTTPS, a port 9001 zadržite na internoj ruti. Ispravno primijenite Etherpadovu postavku: postavite javni URL i podršku proxyja za WebSocket. Za Etherpad HTTPS štiti vjerodajnice ili korisnički sadržaj tijekom prijenosa i osigurava dosljedno ponašanje klijenta osjetljivo na origin.
Kako treba testirati Etherpadovu nadogradnju?
Vratite trenutačno Etherpadovo stanje u izolirani deployment, primijenite candidate verziju i ponovite acceptance transakciju. Obratite posebnu pozornost jer verzije Etherpad pluginova, sintaksa postavki i migracije baze podataka moraju biti testirane zajedno. Prethodni Etherpad image zadržite dok ne razumijete granice migracije podataka i rollbacka.
