Ako hostovať Fathom Lite vo vlastnej réžii v roku 2026: tracking script, SQLite a súkromie
Praktický návod na self-hosting Fathom Lite s témami Docker, porty, trvalé dáta, TLS, bezpečnosť, zálohy a zlyhania, ktoré bránia použitiu v produkcii.
Existujú dve verzie „spustenia Fathom Lite“: buď existuje kontajner, alebo služba skutočne plní svoju úlohu. Dôležitá je iba druhá možnosť. Dôkazom je pridať web, načítať tracking script na testovacej stránke, vygenerovať návštevy a overiť, že dashboard ich zaznamená bez cookies.
Fathom Lite slúži na cookie-free, self-hosted analytiku zobrazení stránok. Nasadenie musí zachovať časti, ktoré toto správanie zabezpečujú; port, volume a certifikát sú vstupy, nie výsledok.
Prihlasovacie údaje, roly a vystavené rozhrania
Pri Fathom Lite nemusí byť najcennejšou súčasťou verejná landing page. Najčastejšou chybou je opätovné použitie ukážkového secretu alebo sprístupnenie prihlasovania do administrácie bez TLS. Predíďte tomu zámerne: chráňte analytické prihlasovanie, ponechajte aplikačný secret stabilný a script zverejňujte iba z očakávaného HTTPS hosta.
S premennou FATHOM_SECRET zaobchádzajte podľa jej úlohy vo Fathom Lite: citlivé hodnoty neukladajte do Git, zdokumentujte dôsledky rotácie a v produkcii nikdy nepoužívajte verejný príklad. Ak to image podporuje, použite neprivilegovaného používateľa kontajnera a nepripájajte žiadne nesúvisiace prihlasovacie údaje. Na ingress vrstve uplatnite limity rýchlosti alebo veľkosti tam, kde môže nedôveryhodná prevádzka spotrebovať kapacitu zápisu zobrazení stránok, databázové indexy, retention a sieťovú trasu z prehliadačov návštevníkov.
Oddeľte Fathom Lite od jeho závislostí
Najmenšia zodpovedná topológia Fathom Lite obsahuje jeden privátny listener na porte 8080, ingress route a zdokumentovanú hranicu stavu. Sieťový kontrakt pre Fathom Lite tvorí SQLite alebo podporovaná externá databáza a správne umiestnenie scriptu na klientskom webe. Privátne endpointy ponechajte na internom DNS, povoľte iba potrebné odchádzajúce volania a Fathom Lite priraďte service credential s obmedzeným rozsahom.
Topológiu overte tak, že čistému klientovi zadáte pridať web, načítate tracking script na testovacej stránke, vygenerujete návštevy a overíte, že dashboard ich zaznamená bez cookies. Počas behu sledujte rýchlosť zápisu zobrazení stránok, databázové indexy, retention a sieťovú trasu z prehliadačov návštevníkov. Výsledok ukáže, či ďalšie zlepšenie patrí do oblasti pamäte, storage, siete alebo samostatného workera, namiesto podpory ľubovoľného zväčšovania kontajnera.
Základ pre Fathom Lite v Dockeri
Minimálny príkaz je užitočný vtedy, keď ukáže, čo bude platforma neskôr spravovať.
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 tu zostáva privátny pre hostiteľa a každá potrebná cesta je uvedená explicitne. Pridajte skontrolované nastavenia pripojenia pre SQLite alebo podporovanú externú databázu a správne umiestnenie scriptu na klientskom webe; pre privátne služby používajte privátne názvy. Spustenie overte pomocou logov aj dôkazu špecifického pre aplikáciu: pridajte web, načítajte tracking script na testovacej stránke, vygenerujte návštevy a overte, že dashboard ich zaznamená bez cookies. Po overení image version uzamknite, aby bežná výmena potichu nezmenila správanie.
Overte nasadenie Fathom Lite od začiatku do konca
Vytvorte malú, dočasnú fixture pre Fathom Lite a zachovajte ju pre každé release. Fixture by mala testovať skutočný workflow: pridať web, načítať tracking script na testovacej stránke, vygenerovať návštevy a overiť, že dashboard ich zaznamená bez cookies. Zaznamenajte digest image, externý hostname, adresu závislosti a očakávaný výsledok, aby neskorší operátor mohol test zopakovať bez interpretácie tejto príručky.
Fixture spustite trikrát. Prvýkrát použite čerstvé nasadenie. Druhýkrát vymeňte kontajner bez zásahu do trvalého stavu. Tretíkrát obnovte zálohu do prázdneho prostredia. Tretie spustenie je úspešné iba vtedy, keď sa po obnove vrátia weby, používatelia a historické zobrazenia stránok a po obnove sa zobrazí nová testovacia návšteva. Počas každého spustenia zaznamenávajte latenciu a využitie zdrojov v súvislosti s rýchlosťou zápisu zobrazení stránok, databázovými indexmi, retention a sieťovou trasou z prehliadačov návštevníkov; to sa stane základom pre alerty namiesto ľubovoľného percenta CPU.
Napokon zámerne otestujte negatívnu cestu: dočasne odoberte testovanej identite prístup k SQLite alebo podporovanej externej databáze a k správnemu umiestneniu scriptu na klientskom webe. Overte, že Fathom Lite viditeľne zlyhá bez poškodenia stavu, obnovte správnu podmienku a zopakujte úspešnú transakciu. Záznam o release obsahujúci tieto štyri výsledky je silnejším dôkazom než screenshoty dashboardu alebo jednorazová odpoveď curl.
Udržujte interné a externé URL oddelené
Verejnou hranicou pre Fathom Lite by mal byť jeden kanonický hostname, automatické TLS a jeden interný cieľ na porte 8080. Nastavte adresu servera a verejný HTTPS endpoint používaný tracking scriptom tak, aby sa klienti vracali na adresu, ktorú služba rozpoznáva.
Ak akceptačná transakcia zlyhá, klasifikujte prvú chybu. Problémy s DNS, certifikátom a odpoveďou 502 patria do kontrolného zoznamu validácie TLS. Podmienka „tracking script smeruje na nesprávny hostname alebo cesta k databáze je ephemeral“ patrí na aplikačnú stranu po tom, čo požiadavka úspešne dorazila do Fathom Lite.
Testy zlyhania pre Fathom Lite
Kapacitné testy by mali overovať rýchlosť zápisu zobrazení stránok, databázové indexy, retention a sieťovú trasu z prehliadačov návštevníkov, nie opakovanú požiadavku na /. Spustite scenár „pridať web, načítať tracking script na testovacej stránke, vygenerovať návštevy a overiť, že dashboard ich zaznamená bez cookies“ pri realistickej súbežnosti a zaznamenajte latenciu, chybovosť a rast využitia storage.
Plánovanie upgrade musí zohľadniť toto riziko: databázovú schému Fathom a tracking script treba testovať spoločne, aby nedošlo k tichej strate udalostí. Nové release otestujte s reprezentatívnym vstupom, potom zopakujte akceptačnú transakciu a porovnajte jej výsledok. Ak tracking script smeruje na nesprávny hostname alebo cesta k databáze je ephemeral, zachyťte neúspešnú transakciu a preskúmajte prvú zapojenú hranicu namiesto predpokladu, že za problém zodpovedá ingress.
Overte, že Fathom Lite prežije výmenu
Image kontajnera možno znova stiahnuť; analytickú databázu, konfiguráciu webov a stav administrátora nie. Pred bootstrapom pripojte /app, zapíšte neškodné vzorové dáta a vymeňte kontajner, aby ste overili, že táto cesta je skutočne trvalá. Skontrolujte efektívne pripojenie namiesto slepej dôvery v názov Compose súboru a overte, že používateľ runtime môže zapisovať tam, kde to Fathom Lite očakáva.
Zvoľte retention a cieľ mimo hostiteľa, potom nacvičte obnovu bez zásahu do produkcie. Test je úspešný iba vtedy, keď sa po obnove vrátia weby, používatelia a historické zobrazenia stránok a po obnove sa zobrazí nová testovacia návšteva. Pri stave uloženom v databáze kombinujte snapshoty storage s exportmi konzistentnými z pohľadu aplikácie, ako je opísané v článku point-in-time recovery verzus snapshoty.
Pripojte Fathom Lite k životnému cyklu Dockup
Jedným kliknutím nasadenie Fathom Lite v Dockup by malo zaistiť bezpečnú výmenu: route bude naďalej smerovať na port 8080, secrety nebudú zabudované v image a trvalé cesty sa vrátia v novom kontajneri. To isté nasadenie môže bežať na Dockup compute alebo na pripojenom stroji.
Dokončite prácu špecifickú pre aplikáciu pripojením a otestovaním SQLite alebo podporovanej externej databázy a správneho umiestnenia scriptu na klientskom webe, nastavením kanonickej verejnej adresy a spustením tejto akceptačnej kontroly: pridajte web, načítajte tracking script na testovacej stránke, vygenerujte návštevy a overte, že dashboard ich zaznamená bez cookies. Výsledok obnovy pridajte do runbooku ešte pred príchodom skutočných používateľov.
Často kladené otázky
Čo potrebuje Fathom Lite na produkčné nasadenie?
Nasmerujte kontajner Fathom Lite na porte 8080 cez jeden HTTPS origin. Podpornou sieťovou požiadavkou je SQLite alebo podporovaná externá databáza a správne umiestnenie scriptu na klientskom webe. Fathom Lite nepovažujte za pripravený, kým nedokážete pridať web, načítať tracking script na testovacej stránke, vygenerovať návštevy a overiť, že dashboard ich zaznamená bez cookies.
Ktoré dáta Fathom Lite patria do zálohy?
Zachovávajte /app a analytickú databázu, konfiguráciu webov aj stav administrátora zahrňte do rovnakého recovery manifestu. Čistá obnova Fathom Lite je úspešná iba vtedy, keď sa vrátia weby, používatelia a historické zobrazenia stránok a po obnove sa zobrazí nová testovacia návšteva.
Vyžaduje Fathom Lite HTTPS za reverse proxy?
Pre verejný origin Fathom Lite používajte HTTPS a port 8080 ponechajte na internej route. Správne uplatnite nastavenie Fathom Lite: nastavte adresu servera a verejný HTTPS endpoint používaný tracking scriptom. HTTPS pri Fathom Lite chráni prihlasovacie údaje alebo používateľský obsah počas prenosu a zachováva konzistentné správanie klienta citlivé na origin.
Ako testovať upgrade Fathom Lite?
Obnovte aktuálny stav Fathom Lite do izolovaného nasadenia, použite kandidátnu verziu a zopakujte jej akceptačnú transakciu. Venujte tomu mimoriadnu pozornosť, pretože databázovú schému Fathom a tracking script treba testovať spoločne, aby nedošlo k tichej strate udalostí. Predchádzajúcu image Fathom Lite si ponechajte, kým nebudú jasné hranice migrácie dát a rollbacku.
