Indeks dnevnikaDockup / bilješka s terena
Note / self-host-fathom

Kako samostalno hostati Fathom Lite u 2026.: tracking skripta, SQLite i privatnost

Praktični vodič za samostalno hostanje Fathom Litea koji obuhvaća Docker, portove, trajne podatke, TLS, sigurnost, sigurnosne kopije i probleme koji onemogućuju produkcijsku upotrebu.

Postoje dvije verzije „pokretanja Fathom Litea”: postoji container ili servis obavlja svoj stvarni posao. Važna je samo druga mogućnost. Ovdje je dokaz to da dodate web-mjesto, učitate tracking skriptu na testnoj stranici, generirate posjete i potvrdite da ih dashboard bilježi bez kolačića.

Fathom Lite služi upravo toj svrsi: analitici pregleda stranica bez kolačića, koja se samostalno hosta. Deployment mora očuvati dijelove koji omogućuju takvo ponašanje; port, volume i certifikat ulazni su elementi, a ne konačni rezultat.

Vjerodajnice, uloge i izložene površine

Kod Fathom Litea vrijedna površina nije nužno landing page. Najčešća je pogreška ponovna upotreba primjernog secreta ili izlaganje administratorske prijave bez TLS-a. Tome se suprotstavite namjerno: zaštitite prijavu u analitiku, održavajte application secret stabilnim i objavljujte skriptu samo s očekivanog HTTPS hosta.

S FATHOM_SECRET postupajte u skladu s njegovom ulogom u Fathom Liteu: osjetljive vrijednosti držite izvan Gita, dokumentirajte učinke rotacije i nikad ne koristite javni primjer u produkciji. Upotrijebite neprivilegiranog korisnika containera kada ga image podržava i nemojte mountati nepovezane vjerodajnice. Na ingressu primijenite ograničenja brzine ili veličine tamo gdje nepouzdani zahtjevi mogu trošiti brzinu upisa pregleda stranica, indekse baze podataka, retention i mrežnu putanju od preglednika posjetitelja.

Odvojite Fathom Lite od njegovih ovisnosti

Najmanja odgovorna topologija Fathom Litea sadrži jedan privatni listener na portu 8080, ingress rutu i dokumentiranu granicu stanja. Mrežni ugovor za Fathom Lite čine SQLite ili podržana vanjska baza podataka te ispravno postavljena skripta na web-mjestu klijenta. Privatne endpointe držite na internom DNS-u, dopustite samo potrebne odlazne pozive i Fathom Liteu dodijelite service credential ograničenog opsega.

Provjerite topologiju tako da zatražite od čistog klijenta da doda web-mjesto, učita tracking skriptu na testnoj stranici, generira posjete i potvrdi da ih dashboard bilježi bez kolačića. Dok radi, pratite brzinu upisa pregleda stranica, indekse baze podataka, retention i mrežnu putanju od preglednika posjetitelja. Rezultat pokazuje pripada li sljedeće poboljšanje memoriji, storageu, networkingu ili zasebnom workeru, umjesto da potiče proizvoljno određivanje veličine containera.

Osnovna Docker konfiguracija za Fathom Lite

Minimalna naredba korisna je kada otkriva što će platforma poslije upravljati.

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

Ovdje port 8080 ostaje privatan za host, a svaki je obavezni path eksplicitan. Dodajte provjerene postavke povezivanja za SQLite ili podržanu vanjsku bazu podataka te ispravno postavljenu skriptu na web-mjestu klijenta; za privatne servise koristite privatna imena. Pokretanje provjerite i u logovima i aplikacijski specifičnim dokazom: dodajte web-mjesto, učitajte tracking skriptu na testnoj stranici, generirajte posjete i potvrdite da ih dashboard bilježi bez kolačića. Nakon provjere zaključajte verziju imagea kako rutinska zamjena ne bi neprimjetno promijenila ponašanje.

Provjerite deployment Fathom Litea od početka do kraja

Izradite mali, privremeni fixture za Fathom Lite i zadržite ga za svako izdanje. Fixture treba obuhvatiti stvarni workflow: dodavanje web-mjesta, učitavanje tracking skripte na testnoj stranici, generiranje posjeta i potvrdu da ih dashboard bilježi bez kolačića. Zabilježite digest imagea, vanjski hostname, adresu ovisnosti i očekivani rezultat kako bi kasniji operator mogao ponoviti test bez tumačenja ovog vodiča.

Pokrenite fixture tri puta. Prvi put upotrijebite svježi deployment. Drugi put zamijenite container bez diranja trajnog stanja. Treći put vratite sigurnosnu kopiju u prazno okruženje. Treći je prolaz uspješan samo kada se web-mjesta, korisnici i povijesni pregledi stranica vrate te se nakon oporavka pojavi nova testna posjeta. Tijekom svakog pokretanja zabilježite latenciju i iskorištenost resursa povezane s brzinom upisa pregleda stranica, indeksima baze podataka, retentionom i mrežnom putanjom od preglednika posjetitelja; to postaje osnova za alarme umjesto proizvoljnog postotka CPU-a.

Na kraju namjerno testirajte negativni scenarij: privremeno uskratite testnom identitetu pristup SQLiteu ili podržanoj vanjskoj bazi podataka i ispravnom položaju skripte na web-mjestu klijenta. Potvrdite da Fathom Lite vidljivo otkazuje bez oštećenja stanja, vratite ispravan uvjet i ponovite uspješnu transakciju. Zapis o izdanju koji sadržava ta četiri ishoda snažniji je dokaz od snimki zaslona dashboarda ili jednokratnog odgovora naredbe curl.

Razlikujte interne i eksterne URL-ove

Javna granica za Fathom Lite trebala bi biti jedan kanonski hostname, automatski TLS i jedan interni target na portu 8080. Postavite adresu servera i javni HTTPS endpoint koji koristi tracking skripta kako bi se klijenti vraćali na adresu koju servis prepoznaje.

Ako acceptance transakcija ne uspije, klasificirajte prvu pogrešku. Problemi s DNS-om, certifikatom i odgovorom 502 pripadaju kontrolnom popisu za provjeru TLS-a. Uvjet „tracking skripta pokazuje na pogrešan hostname ili je putanja baze podataka efemerna” pripada aplikacijskoj strani nakon što je zahtjev uspješno stigao do Fathom Litea.

Vježbe otklanjanja kvarova za Fathom Lite

Testovi kapaciteta trebaju obuhvatiti brzinu upisa pregleda stranica, indekse baze podataka, retention i mrežnu putanju od preglednika posjetitelja, a ne ponovljeni zahtjev prema /. Pokrenite scenarij „dodajte web-mjesto, učitajte tracking skriptu na testnoj stranici, generirajte posjete i potvrdite da ih dashboard bilježi bez kolačića” uz realističnu konkurentnost te zabilježite latenciju, stopu pogrešaka i rast storagea.

Planiranje nadogradnje mora uzeti u obzir ovaj rizik: Fathomovu shemu baze podataka i tracking skriptu treba testirati zajedno kako bi se izbjegao neprimjetan gubitak događaja. Testirajte novo izdanje s reprezentativnim ulazom, zatim ponovite acceptance transakciju i usporedite rezultat. Ako tracking skripta pokazuje na pogrešan hostname ili je putanja baze podataka efemerna, zabilježite neuspjelu transakciju i pregledajte prvu uključenu granicu umjesto da pretpostavite kako je ingress odgovoran.

Provjerite preživljava li Fathom Lite zamjenu

Image containera može se ponovno preuzeti; analitička baza podataka, konfiguracija web-mjesta i stanje administratora ne mogu. Mountajte /app prije bootstrapa, upišite bezopasne ogledne podatke i zamijenite container kako biste dokazali da je ta putanja doista trajna. Pregledajte stvarni mount umjesto da vjerujete nazivu Compose datoteke i provjerite može li runtime user pisati ondje gdje Fathom Lite to očekuje.

Odaberite retention i odredište izvan hosta, a zatim uvježbajte oporavak bez diranja produkcije. Vježba je uspješna samo kada se web-mjesta, korisnici i povijesni pregledi stranica vrate te se nakon oporavka pojavi nova testna posjeta. Za stanje koje ovisi o bazi podataka kombinirajte snapshotove storagea s izvozima konzistentnima s aplikacijom, kako je opisano u članku oporavak do određene točke u vremenu u odnosu na snapshotove.

Uključite Fathom Lite u životni ciklus Dockupa

Dockupov deployment Fathom Litea jednim klikom trebao bi učiniti zamjenu sigurnom: ruta i dalje cilja port 8080, secreti nisu ugrađeni u image, a trajne se putanje vraćaju u novom containeru. Isti deployment može se pokretati na Dockup computeu ili priključenom računalu.

Dovršite rad specifičan za aplikaciju povezivanjem i testiranjem SQLitea ili podržane vanjske baze podataka te ispravnim postavljanjem skripte na web-mjestu klijenta, primijenite kanonsku javnu adresu i pokrenite ovu provjeru prihvaćanja: dodajte web-mjesto, učitajte tracking skriptu na testnoj stranici, generirajte posjete i potvrdite da ih dashboard bilježi bez kolačića. Dodajte rezultat oporavka u runbook prije dolaska stvarnih korisnika.

Često postavljana pitanja

Što je Fathom Liteu potrebno za produkcijski deployment?

Usmjerite container Fathom Litea na portu 8080 kroz jedan HTTPS origin. Prateći mrežni zahtjev čine SQLite ili podržana vanjska baza podataka te ispravno postavljena skripta na web-mjestu klijenta. Nemojte smatrati Fathom Lite spremnim dok ne možete dodati web-mjesto, učitati tracking skriptu na testnoj stranici, generirati posjete i potvrditi da ih dashboard bilježi bez kolačića.

Koji podaci Fathom Litea pripadaju sigurnosnoj kopiji?

Učinite /app trajnim i uključite analitičku bazu podataka, konfiguraciju web-mjesta i stanje administratora u isti manifest za oporavak. Čisti restore Fathom Litea uspješan je samo kada se web-mjesta, korisnici i povijesni pregledi stranica vrate te se nakon oporavka pojavi nova testna posjeta.

Zahtijeva li Fathom Lite HTTPS iza reverse proxya?

Za javni origin Fathom Litea koristite HTTPS, a port 8080 zadržite na internoj ruti. Ispravno primijenite postavku Fathom Litea: postavite adresu servera i javni HTTPS endpoint koji koristi tracking skripta. Kod Fathom Litea HTTPS štiti vjerodajnice ili korisnički sadržaj tijekom prijenosa i održava dosljedno ponašanje klijenta osjetljivo na origin.

Kako testirati nadogradnju Fathom Litea?

Vratite trenutačno stanje Fathom Litea u izolirani deployment, primijenite kandidatsku verziju i ponovite njegovu acceptance transakciju. Obratite posebnu pozornost jer Fathomovu shemu baze podataka i tracking skriptu treba testirati zajedno kako bi se izbjegao neprimjetan gubitak događaja. Zadržite prethodni image Fathom Litea dok ne razjasnite granice migracije podataka i rollbacka.