Jak v roce 2026 provozovat Fathom Lite na vlastní infrastruktuře: tracking script, SQLite a soukromí
Praktický návod na self-hosting Fathom Lite, který pokrývá Docker, porty, persistentní data, TLS, zabezpečení, zálohy a problémy bránící produkčnímu nasazení.
Existují dvě verze „provozu Fathom Lite“: buď existuje container, nebo služba skutečně plní svou funkci. Důležitá je pouze druhá možnost. Důkazem je přidání webu, načtení tracking scriptu na testovací stránce, vygenerování návštěv a ověření, že dashboard zaznamenává návštěvy bez cookies.
Fathom Lite slouží jako cookie-free, self-hosted analytika page views. Nasazení musí zachovat jednotlivé části, které toto chování zajišťují; port, volume a certifikát jsou vstupy, nikoli výsledek.
Přihlašovací údaje, role a vystavené povrchy
U Fathom Lite nemusí být nejcennější částí landing page. Nejčastější chybou je opětovné použití ukázkového secretu nebo vystavení administrátorského přihlášení bez TLS. Přistupujte k tomu záměrně: chraňte analytické přihlášení, ponechte application secret stabilní a publikujte script pouze z očekávaného HTTPS hostu.
S FATHOM_SECRET zacházejte podle jeho role ve Fathom Lite: citlivé hodnoty ukládejte mimo Git, zdokumentujte dopady rotace a v produkci nikdy nenahrazujte secret veřejným příkladem. Pokud to image podporuje, použijte neprivilegovaného uživatele containeru a nepřipojujte žádné nesouvisející credentials. Na ingressu nastavte limity rychlosti nebo velikosti tam, kde může nedůvěryhodná práce spotřebovávat kapacitu zápisu page views, databázové indexy, retention a síťovou cestu z prohlížečů návštěvníků.
Oddělte Fathom Lite od jeho závislostí
Nejmenší zodpovědná topologie Fathom Lite obsahuje jeden privátní listener na portu 8080, ingress route a zdokumentovanou hranici stavu. Síťový kontrakt pro Fathom Lite tvoří SQLite nebo podporovaná externí databáze a správné umístění scriptu na klientském webu. Privátní endpointy ponechte na interním DNS, povolte pouze potřebná odchozí spojení a Fathom Lite přidělte service credential s omezeným rozsahem oprávnění.
Topologii ověřte tak, že čistý klient přidá web, načte tracking script na testovací stránce, vygeneruje návštěvy a potvrdí, že dashboard zaznamenává návštěvy bez cookies. Během provozu sledujte rychlost zápisu page views, databázové indexy, retention a síťovou cestu z prohlížečů návštěvníků. Výsledek vám ukáže, zda další zlepšení patří do oblasti paměti, storage, networkingu nebo samostatného workeru, místo abyste podporovali libovolné nastavování velikosti containeru.
Základ pro Fathom Lite v Dockeru
Minimální příkaz je užitečný, pokud odhalí, co bude platforma později spravovat.
docker run -d \
--name fathom-lite \
--restart unless-stopped \
-p 127.0.0.1:8080:8080 \
-v fathom-lite-data:/app \
-e FATHOM_SECRET=replace-with-a-long-random-value \
-e FATHOM_SERVER_ADDR=:8080 \
-e FATHOM_DATABASE_DRIVER=sqlite3 \
-e FATHOM_DATABASE_NAME=/app/fathom.db \
usefathom/fathom:latest
Port 8080 zde zůstává privátní pro hostitele a všechny potřebné cesty jsou uvedené explicitně. Přidejte ověřené connection settings pro SQLite nebo podporovanou externí databázi a správné umístění scriptu na klientském webu; pro privátní služby používejte privátní názvy. Spuštění ověřte pomocí logs i aplikačního důkazu: přidejte web, načtěte tracking script na testovací stránce, vygenerujte návštěvy a potvrďte, že dashboard zaznamenává návštěvy bez cookies. Po ověření image version uzamkněte, aby běžná náhrada containeru tiše nezměnila chování.
Ověřte nasazení Fathom Lite od začátku do konce
Vytvořte malý, dočasný fixture Fathom Lite a ponechte si ho pro každé release. Fixture by měl otestovat skutečný workflow: přidání webu, načtení tracking scriptu na testovací stránce, vygenerování návštěv a ověření, že dashboard zaznamenává návštěvy bez cookies. Zaznamenejte image digest, externí hostname, adresu závislosti a očekávaný výsledek, aby pozdější operátor mohl test zopakovat bez interpretace tohoto návodu.
Fixture spusťte třikrát. Poprvé použijte čerstvé nasazení. Podruhé nahraďte container, aniž byste zasahovali do durable state. Potřetí obnovte zálohu do prázdného prostředí. Třetí běh je úspěšný pouze tehdy, když se vrátí weby, uživatelé i historické page views a po obnově se objeví nová testovací návštěva. Během každého běhu zachyťte latenci a využití zdrojů v okolí rychlosti zápisu page views, databázových indexů, retention a síťové cesty z prohlížečů návštěvníků; to se stane základem pro alerty namísto libovolně zvoleného procenta využití CPU.
Nakonec záměrně otestujte negativní scénář: dočasně odeberte testovací identitě přístup k SQLite nebo podporované externí databázi a správnému umístění scriptu na klientském webu. Ověřte, že Fathom Lite selže viditelně, aniž by poškodil stav, obnovte správnou podmínku a zopakujte úspěšnou transakci. Záznam o release obsahující tyto čtyři výsledky je přesvědčivějším důkazem než screenshoty dashboardu nebo jednorázová odpověď curl.
Udržujte interní a externí URL oddělené
Veřejnou hranicí Fathom Lite by měl být jeden canonical hostname, automatické TLS a jeden interní target na portu 8080. Nastavte server address a veřejný HTTPS endpoint používaný tracking scriptem tak, aby se klienti vraceli na adresu, kterou služba rozpozná.
Pokud acceptance transaction selže, klasifikujte první chybu. Problémy s DNS, certifikátem a chybou 502 patří do checklistu validace TLS. Stav „tracking script ukazuje na nesprávný hostname nebo cesta k databázi je ephemeral“ patří na aplikační stranu poté, co požadavek úspěšně dorazil do Fathom Lite.
Failure drills pro Fathom Lite
Capacity testy by měly ověřovat rychlost zápisu page views, databázové indexy, retention a síťovou cestu z prohlížečů návštěvníků, nikoli opakovaný request na /. Spusťte scénář „přidejte web, načtěte tracking script na testovací stránce, vygenerujte návštěvy a potvrďte, že dashboard zaznamenává návštěvy bez cookies“ při realistické souběžnosti a zaznamenejte latenci, chybovost a růst storage.
Plánování upgrade musí zohlednit toto riziko: databázové schema Fathom a tracking script je třeba testovat společně, aby nedošlo k tiché ztrátě eventů. Otestujte nové release s reprezentativními vstupy, potom zopakujte acceptance transaction a porovnejte její výsledek. Pokud tracking script ukazuje na nesprávný hostname nebo je cesta k databázi ephemeral, zachyťte neúspěšnou transakci a prozkoumejte první zasaženou hranici, místo abyste automaticky předpokládali odpovědnost ingressu.
Ověřte, že Fathom Lite přežije nahrazení
Container image lze znovu stáhnout; analytickou databázi, konfiguraci webů a stav administrátorů nikoli. Před bootstrapem připojte /app, zapište neškodná testovací data a nahraďte container, abyste ověřili, že je tato cesta skutečně persistentní. Zkontrolujte efektivní mount místo slepé důvěry v název Compose souboru a ověřte, že runtime user může zapisovat tam, kde to Fathom Lite očekává.
Zvolte retention a off-host destinaci, potom si obnovu nacvičte bez zásahu do produkce. Drill je úspěšný pouze tehdy, když se vrátí weby, uživatelé i historické page views a po obnově se objeví nová testovací návštěva. U stavu uloženého v databázi kombinujte storage snapshots s application-consistent exporty, jak je popsáno v článku point-in-time recovery versus snapshots.
Připojte Fathom Lite k životnímu cyklu v Dockup
One-click nasazení Fathom Lite v Dockup by mělo zajistit bezpečnou náhradu: route bude dál směřovat na port 8080, secrets nebudou součástí image a persistentní cesty se vrátí v novém containeru. Stejné nasazení může běžet na Dockup compute nebo na připojeném stroji.
Aplikační část dokončete připojením a otestováním SQLite nebo podporované externí databáze a správného umístění scriptu na klientském webu, nastavením canonical veřejné adresy a provedením této acceptance kontroly: přidejte web, načtěte tracking script na testovací stránce, vygenerujte návštěvy a potvrďte, že dashboard zaznamenává návštěvy bez cookies. Výsledek obnovy přidejte do runbooku ještě před příchodem skutečných uživatelů.
Často kladené otázky
Co Fathom Lite potřebuje pro produkční nasazení?
Veďte container Fathom Lite na portu 8080 přes jeden HTTPS origin. Podpůrným síťovým požadavkem je SQLite nebo podporovaná externí databáze a správné umístění scriptu na klientském webu. Fathom Lite nepovažujte za připravený, dokud nemůžete přidat web, načíst tracking script na testovací stránce, vygenerovat návštěvy a potvrdit, že dashboard zaznamenává návštěvy bez cookies.
Která data Fathom Lite patří do zálohy?
Persistujte /app a zahrňte analytickou databázi, konfiguraci webů a stav administrátorů do stejného recovery manifestu. Čistá obnova Fathom Lite je úspěšná pouze tehdy, když se vrátí weby, uživatelé i historické page views a po obnově se objeví nová testovací návštěva.
Vyžaduje Fathom Lite HTTPS za reverse proxy?
Pro veřejný origin Fathom Lite používejte HTTPS a port 8080 ponechte na interní route. Nastavení Fathom Lite aplikujte správně: nastavte server address a veřejný HTTPS endpoint používaný tracking scriptem. U Fathom Lite HTTPS chrání credentials nebo uživatelský obsah při přenosu a udržuje konzistentní chování klienta závislé na originu.
Jak testovat upgrade Fathom Lite?
Obnovte aktuální stav Fathom Lite do izolovaného nasazení, aplikujte kandidátní verzi a zopakujte její acceptance transaction. Věnujte tomu zvláštní pozornost, protože databázové schema Fathom a tracking script je třeba testovat společně, aby nedošlo k tiché ztrátě eventů. Předchozí image Fathom Lite ponechte k dispozici, dokud nebudete rozumět hranici migrace dat a rollbacku.
