Jak provozovat Gotenberg v roce 2026: HTML do PDF, timeouty a fonty
Nasaďte Gotenberg se správným portem, trvalým úložištěm, TLS, autentizací a zálohami. Řešte potíže, když požadavky v produkci používají nesprávné multipart pole.
Neúspěšné nasazení Gotenbergu nemusí vždy skončit pádem. Služba může zobrazovat přihlašovací stránku, zatímco požadavky používají nesprávné multipart pole, nebo převody překročí timeouty proxy. Místo toho nejprve proveďte kontrolu od začátku do konce: odešlete HTML a assety jako multipart data, vygenerujte PDF, zopakujte test s dokumentem Office a po každém převodu zkontrolujte endpoint kontroly stavu.
Tato kontrola odpovídá katalogizovanému účelu Gotenbergu: HTTP službě, která převádí HTML, Markdown a soubory Office do PDF. Zároveň odhalí chybějící závislosti, nesprávné předpoklady o proxy a pomíjivá data dříve než sonda dostupnosti.
Porty, procesy a privátní služby
Nenechte image Gotenbergu náhodou určovat produkční architekturu. Image poskytuje proces na portu 3000, ale úložiště, směrování a externí požadavky stále vyžadují promyšlené životní cykly. Lokální požadavek na běh představuje rezervu CPU a paměti pro workery Chromium a LibreOffice. Tuto hranici otestujte před zveřejněním služby a znovu po nahrazení kontejneru.
Nasazení je připravené na důkladnější testování ve chvíli, kdy dokáže odeslat HTML a assety jako multipart data, vygenerovat PDF, zopakovat test s dokumentem Office a po každém převodu zkontrolovat endpoint kontroly stavu. Sledujte transakci v logu a monitorujte počet procesů Chromium a LibreOffice, dočasné místo na disku, složitost dokumentu a timeouty proxy. Tato pozorování ukážou, zda aktuální topologie izoluje správnou komponentu.
Zajistěte měřitelnou obnovu Gotenbergu
Ve standardním image Gotenbergu se neočekává žádný zapisovatelný aplikační stav. Neuchovávejte žádná trvalá aplikační data; místo zálohování prázdného souborového systému kontejneru uchovávejte fonty, šablony a konfiguraci nasazení včetně připnutého digestu a zkontrolované konfigurace rout.
Vytvořte Gotenberg od začátku na jiném hostiteli a ověřte, že vlastní fonty, šablony a příznaky příkazového řádku lze reprodukovat a že známé dokumenty se vykreslí s očekávaným počtem stránek. Pokud přidáte samostatnou databázi, room server nebo autentizační vrstvu, určete této komponentě vlastního, explicitního vlastníka obnovy. Příručka od Gitu do produkce ukazuje, jak reprodukovatelný artefakt nahradí zálohu kontejneru.
Příkaz pro znovuvytvoření a test očekávaného výstupu u známých dat zaznamenejte společně s releasem. Bezstavový plán obnovy uspěje reprodukcí chování z důvěryhodných vstupů; neměl by záviset na kopírování neprůhledného běžícího kontejneru.
Omezte oprávnění Gotenbergu
Cenným aktivem v Gotenbergu je kódová cesta, která zpracovává vstup uživatele. Rizikem specifickým pro tuto aplikaci je povolení neomezených veřejných převodů bez omezení velikosti a timeoutů; v produkci by koncové body pro převod měly zůstat privátní, případně před zpřístupněním nedůvěryhodných souborů vynucovat omezení velikosti, rychlosti a timeoutů.
Standardní kontejner nemá žádné administrátorské tajemství, takže autentizace patří na HTTPS route, pokud je služba privátní. Připněte build, vyhněte se širokým mountům souborového systému a omezte počet procesů Chromium a LibreOffice, dočasné místo na disku, složitost dokumentu a timeouty proxy. Pomocí známého testovacího vstupu ověřte, že obsluhovaný build po každé aktualizaci vytváří očekávaný výstup.
Kontrolní brána releasu Gotenbergu
Převeďte smoke test Gotenbergu na opakovatelný release příkaz nebo stručný runbook. Jeho výstup musí prokázat tento výsledek: odešlete HTML a assety jako multipart data, vygenerujte PDF, zopakujte test s dokumentem Office a po každém převodu zkontrolujte endpoint kontroly stavu. K výsledku zaznamenejte verzi aplikace, digest kontejneru, hostname routy a identifikátor testovacích dat.
Stejnou kontrolu spusťte po běžné výměně kontejneru a po obnovení bez trvalých aplikačních dat; fonty, šablony a konfiguraci nasazení uchovávejte jinde. Obnova byla úspěšná, pokud lze reprodukovat vlastní fonty, šablony a příznaky příkazového řádku a známé dokumenty se vykreslí s očekávaným počtem stránek. Porovnejte časování a spotřebu související s počtem procesů Chromium a LibreOffice, dočasným místem na disku, složitostí dokumentu a timeouty proxy; výrazná změna stojí za prošetření, i když finální akce stále projde.
Poté otestujte bezpečné selhání: odešlete neškodný vstup blízko limitu prostředků nebo formátu souvisejícího s touto hranicí: požadavky používají nesprávné multipart pole nebo převody překračují timeouty proxy. Ověřte, že Gotenberg chybu zpřístupní a bez destruktivních ručních úprav se vrátí do normálního stavu. Uchovejte pouze nezbytný, redigovaný výřez logu. Tato čtyřdílná kontrolní brána pokrývá spuštění, perzistenci, obnovu a zpracování chyb.
Zajistěte reprodukovatelné spuštění Gotenbergu
Použijte příkaz, který zpřístupní každou důležitou volbu. Tento základní příklad naváže Gotenberg na loopback hostitele, přidá známé datové mounty a předá první požadované nastavení. Před zpřístupněním ověřte lokální požadavek: rezervu CPU a paměti pro workery Chromium a LibreOffice.
docker run -d \
--name gotenberg \
--restart unless-stopped \
-p 127.0.0.1:3000:3000 \
gotenberg/gotenberg:8
Nahraďte plovoucí tagy otestovanou verzí nebo digestem. Po spuštění zkontrolujte docker logs --tail 200 gotenberg a ověřte, že proces naslouchá na portu 3000. Poté proveďte akci akceptačního testu Gotenbergu; odpověď z kořenové stránky nemůže prokázat úspěch celého scénáře: odešlete HTML a assety jako multipart data, vygenerujte PDF, zopakujte test s dokumentem Office a po každém převodu zkontrolujte endpoint kontroly stavu.
Zabraňte tomu, aby úspěch proxy maskoval selhání aplikace
Finální hostname Gotenbergu zvolte ještě předtím, než uživatelé uloží callbacky nebo nastavení klienta, a potom API pro převod zpřístupněte přes HTTPS nebo privátní interní doménu. Route platformy by měla ukončit TLS jednou a směrovat na privátní port 3000.
Akceptační transakci spusťte zvenčí. Pokud se klient ke Gotenbergu nikdy nedostane, použijte pro kontrolu DNS a certifikátu checklist ověření SSL. Pokud požadavek ke Gotenbergu dorazí, ale používá nesprávné multipart pole nebo převody překračují timeouty proxy, přestaňte měnit přesměrování proxy a prozkoumejte hranici specifickou pro aplikaci.
Kontroly kapacity a aktualizací
Užitečným indikátorem služby Gotenberg je úspěšné dokončení „odeslat HTML a assety jako multipart data, vygenerovat PDF, zopakovat test s dokumentem Office a po každém převodu zkontrolovat endpoint kontroly stavu“. Tento výsledek doplňte o počet procesů Chromium a LibreOffice, dočasné místo na disku, složitost dokumentu a timeouty proxy; zelená kořenová stránka neříká nic o kompatibilitě výstupu ani o vyčerpání zdrojů.
Před nahrazením image počítejte s tímto rizikem: API routy, příznaky Chromium a chování LibreOffice se mohou mezi hlavními verzemi Gotenbergu změnit. Reprezentativní vstupy i vstupy na hranici limitů otestujte proti oběma verzím a starý digest si ponechte, dokud kandidát neprojde. Pokud požadavky používají nesprávné multipart pole nebo převody překračují timeouty proxy, před změnou nastavení routy nebo úložiště zkontrolujte formát požadavku, chování klienta a runtime logy.
Kde Dockup u Gotenbergu ušetří práci
Šablona Gotenbergu na jedno kliknutí by měla obsahovat digest image, port 3000, časování kontroly stavu, doménu a TLS. Protože základní služba je bezstavová, Dockup ji může přímo znovu vytvořit na výpočetním prostředí Dockup nebo na připojeném stroji, aniž by předstíral, že prázdný svazek je záloha.
Po spuštění zpřístupněte API pro převod přes HTTPS nebo privátní interní doménu. Dockup by měl zachovat runtime nastavení Gotenbergu, zatímco operátor ověří tento lokální požadavek: rezervu CPU a paměti pro workery Chromium a LibreOffice. Ověřte tento výsledek: odešlete HTML a assety jako multipart data, vygenerujte PDF, zopakujte test s dokumentem Office a po každém převodu zkontrolujte endpoint kontroly stavu. Každé pozdější stavové rozšíření musí deklarovat vlastní mount, secret a test obnovy, nikoli potichu měnit význam základní šablony.
Často kladené dotazy
Co Gotenberg potřebuje pro produkční nasazení?
Směrujte kontejner Gotenbergu na portu 3000 přes jeden HTTPS origin. Lokální požadavek na běh představuje rezervu CPU a paměti pro workery Chromium a LibreOffice. Gotenberg neoznačujte za připravený, dokud nedokážete odeslat HTML a assety jako multipart data, vygenerovat PDF, zopakovat test s dokumentem Office a po každém převodu zkontrolovat endpoint kontroly stavu.
Která data Gotenbergu patří do zálohy?
Standardní image Gotenbergu nemá povinný mount s aplikačními daty. Uchovávejte jeho konfiguraci nasazení a veškerý připojený stav zálohujte samostatně; obnova je úspěšná, pokud lze reprodukovat vlastní fonty, šablony a příznaky příkazového řádku a známé dokumenty se vykreslí s očekávaným počtem stránek.
Vyžaduje Gotenberg za reverzní proxy HTTPS?
Pro veřejný origin Gotenbergu používejte HTTPS a port 3000 ponechte na interní route. Nastavení Gotenbergu aplikujte správně: API pro převod zpřístupněte přes HTTPS nebo privátní interní doménu. U Gotenbergu HTTPS chrání přihlašovací údaje nebo obsah uživatelů při přenosu a zajišťuje konzistentní chování klienta závislé na originu.
Jak testovat aktualizaci Gotenbergu?
Nasaďte kandidátní image Gotenbergu vedle aktuální verze a zopakujte akceptační transakci se známým vstupem. Věnujte zvláštní pozornost tomu, že API routy, příznaky Chromium a chování LibreOffice se mohou mezi hlavními verzemi Gotenbergu změnit. Standardní kontejner nemá migraci dat, takže předchozí digest ponechte, dokud neprojdou kontroly výstupu a kompatibility.
