Gostovanje Umami na Managed VPS pomeni, da analitika vaših spletišč ostane na lastnem stroju, ki ga naše ekipe posodabljajo in podnevi in ponoči spremljajo. Umami je prosta programska oprema pod licenco MIT, ki meri obisk brez piškotkov. Ta vodnik sledi njegovi uradni dokumentaciji: namestitev z Docker Compose in PostgreSQL, HTTPS, prva prijava, sledilni skript, kaj projekt pravi o osebnih podatkih, koristne nastavitve, varnostne kopije in posodobitve.
Avtor: Simon Vasconcelos Lee
Objavljeno 15. novembra 2026Čas branja: 12 minut
APP_SECRET in TWO_FACTOR_ENCRYPTION_KEY, Umami strežite prek HTTPS na lastni poddomeni, nato takoj spremenite geslo računa admin.<head> svojih strani: sledilnik ne uporablja piškotkov.pg_dump, datoteko .env hranite na varnem, posodabljajte pa z docker compose pull.Umami je odprtokodna platforma za spletno in produktno analitiko. Njegova dokumentacija opisuje orodje, ki združuje obisk, kampanje, vedenje obiskovalcev, konverzije, zadrževanje in prihodke, od prvega obiska do rezultatov, ki štejejo za vaše podjetje. Napisan je v TypeScriptu na Next.js, njegova slika Docker pa teče pod neprivilegiranim računom.
Ena instanca spremlja več spletišč: vsako dobi svoj identifikator in sledilni skript, vaši sodelavci pa se znajdejo prek računov in ekip.
Umami je objavljen pod licenco MIT, v imenu Umami Software, Inc. Ta brezplačno podeljuje pravico do uporabe, kopiranja, spreminjanja, združevanja, objave, razširjanja, podlicenciranja in prodaje kopij programske opreme. Poganjate ga torej lahko za svoje podjetje in za spletišča svojih strank, ne da bi morali kupiti licenco.
Njen edini pogoj: obvestilo o avtorskih pravicah in obvestilo o dovoljenju spremljata vse kopije ali bistvene dele programske opreme. Kot vsaka licenca MIT programsko opremo ponuja „takšno, kot je“, brez garancije.
Dokumentacija Umami predstavlja kot analitiko brez piškotkov, brez sledenja med spletišči in brez samodejnega zbiranja osebnih podatkov. Ko ga gostite sami, vaša analitika ostane na vašem strežniku: vi odločate, kje živi in kako dolgo ostane.
| Vprašanje | Kaj pravi projekt | Vir |
|---|---|---|
| Piškotki | Spletni sledilnik ne uporablja piškotkov; ali vaše spletišče potrebuje obvestilo o piškotkih, je odvisno od drugih storitev, ki jih uporabljate, in od zahtev, ki veljajo | Pogosta vprašanja |
| Zbrani podatki | Ogledi strani, URL-ji napotiteljev, brskalniki, operacijski sistemi, vrste naprav in približna lokacija | Pogosta vprašanja |
| Naslov IP | Tabela sej nima stolpca za naslov IP; identifikator seje je zgoščena vrednost spletišča, naslova, brskalnika in soli, ki se privzeto menja vsak mesec | Shema in koda, različica 3.4.1 |
| Hramba | Pri samostojnem gostovanju se podatki hranijo, dokler jih ne izbrišete | Pogosta vprašanja |
| GDPR | Umami je zasnovan z mislijo na zasebnost, skladnost pa je odvisna od tega, kako ga nastavite in uporabljate | Pogosta vprašanja |
| Podatki, ki jih pošiljate | Za identifikator obiskovalca ali lastnosti dogodkov, ki jih izberete za pošiljanje, odgovarjate vi | Uvod |
Tri nastavitve sledilnega skripta gredo po želji še dlje: data-exclude-search iz zabeleženih URL-jev odstrani iskalne parametre, data-exclude-hash odstrani zgoščeni del (hash), data-do-not-track pa izklopi sledenje za brskalnike, ki izražajo nastavitev Do Not Track. Dokumentacija pripominja, da ta zadnja nastavitev sama po sebi ni celovita rešitev za upravljanje privolitev.
Če prijavljene obiskovalce prepoznavate z data-distinct-id ali umami.identify(), dokumentacija namesto e-poštnega naslova priporoča notranji identifikator uporabnika ali zgoščeno vrednost: vrednost je mogoče prebrati v HTML strani.
Repozitorij vsebuje docker-compose.yml, ki zažene Umami in njegovo zbirko PostgreSQL. Od različice 3 je PostgreSQL edina podprta zbirka, najmanj v različici 12.14, dokumentacija pa priporoča, da jo nastavite na časovni pas UTC. Na strežniku z nameščenim Dockerjem ustvarite mapo in začnite z njenimi skrivnostmi, naključno ustvarjenimi z openssl, kot predlaga dokumentacija:
cat > .env <<EOF
POSTGRES_PASSWORD=$(openssl rand -hex 24)
APP_SECRET=$(openssl rand -hex 32)
TWO_FACTOR_ENCRYPTION_KEY=$(openssl rand -hex 32)
EOF
chmod 600 .env
Nato poleg nje postavite ta compose.yaml. Sledi datoteki projekta v različici 3.4.1, z dvema spremembama: skrivnosti prihajajo iz datoteke .env, vrata pa so objavljena le na 127.0.0.1.
services:
umami:
image: ghcr.io/umami-software/umami:latest
ports:
- "127.0.0.1:3000:3000"
environment:
DATABASE_URL: postgresql://umami:${POSTGRES_PASSWORD}@db:5432/umami
APP_SECRET: ${APP_SECRET}
TWO_FACTOR_ENCRYPTION_KEY: ${TWO_FACTOR_ENCRYPTION_KEY}
depends_on:
db:
condition: service_healthy
init: true
restart: always
healthcheck:
test: ["CMD-SHELL", "curl http://localhost:3000/api/heartbeat"]
interval: 5s
timeout: 5s
retries: 5
db:
image: postgres:15-alpine
environment:
POSTGRES_DB: umami
POSTGRES_USER: umami
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD}
volumes:
- umami-db-data:/var/lib/postgresql/data
restart: always
healthcheck:
test: ["CMD-SHELL", "pg_isready -U $${POSTGRES_USER} -d $${POSTGRES_DB}"]
interval: 5s
timeout: 5s
retries: 5
volumes:
umami-db-data:
docker compose up -d
curl -s http://127.0.0.1:3000/api/heartbeat
DATABASE_URL: edina obvezna spremenljivka, povezovalni niz zbirke. Šestnajstiško geslo gre vanjo tako, kot je; geslo s posebnimi znaki bi zahtevalo odstotno kodiranje.APP_SECRET: naključen niz, ki ščiti žetone za overjanje, edinstven za vsako namestitev. V kodi različice 3.4.1 vstopa tudi v izračun identifikatorjev sej: ohranite ga nespremenjenega.TWO_FACTOR_ENCRYPTION_KEY: 64 šestnajstiških znakov, ki šifrirajo skrivnosti dvostopenjskega preverjanja pristnosti. Brez njega nihče ne more vključiti dvostopenjskega preverjanja pristnosti.admin. Sonda /api/heartbeat odgovori {"ok":true}, ko je Umami pripravljen.latest sledi zadnji objavljeni izdaji. Register projekta objavlja tudi oznake različic, kot je 3.4.1, s katerimi določite tisto, ki jo poganjate.Dokumentacija o namestitvi ne navaja potrebnega pomnilnika ali procesorja. Velikost je odvisna od obiska spremljanih spletišč in obsega podatkov, ki jih hranite. Na Managed VPS nam opišite svojo rabo in priporočimo vam ustrezno velikost.
Umami posluša prek HTTP na vratih 3000, dokumentacija pa predlaga, da ga strežete za svojim spletnim strežnikom, prek obratnega posredniškega strežnika. Dajte mu lastno poddomeno, kot je stats.example.com, ki z zapisoma A in AAAA kaže na strežnik. Streženje programa Umami pod potjo poteka prek BASE_PATH, spremenljivke, ki se prebere ob gradnji aplikacije: z objavljeno sliko je poddomena neposredna pot.
Posredniški strežnik mora posredovati tudi naslov obiskovalca. Umami ga prebere iz glav, ki jih prejme, med njimi X-Real-IP in X-Forwarded-For: z njim razlikuje obiskovalce in ugotovi njihovo državo. Če vaš posredniški strežnik uporablja drugo glavo, jo poimenuje CLIENT_IP_HEADER.
Caddy sam pridobi potrdilo Let’s Encrypt in vključi HTTPS. Njegova direktiva reverse_proxy privzeto nastavi X-Forwarded-For: te tri vrstice so vse, kar potrebujete.
stats.example.com {
reverse_proxy 127.0.0.1:3000
}
Ta blok sledi primeru Nginx iz dokumentacije Umami in posluša na vratih 80, da lahko Certbot vzpostavi HTTPS:
server {
listen 80;
listen [::]:80;
server_name stats.example.com;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
Certbot nato namesti potrdilo in poskrbi za njegovo obnavljanje:
sudo certbot --nginx
Ko ustvari svojo zbirko, Umami odpre skrbniški račun: uporabniško ime admin, geslo umami. Dokumentacija prosi, naj to geslo spremenite ob prvi prijavi.
admin in umami.TWO_FACTOR_ENCRYPTION_KEY hranite skupaj s svojimi varnostnimi kopijami: dokumentacija opozarja, da izguba ali sprememba tega ključa naredi shranjene skrivnosti neberljive, vsak uporabnik pa se mora nato znova vpisati v dvostopenjsko preverjanje pristnosti.
<head> svojih strani, nato obiščite svoje spletišče: podatki se takoj pojavijo na nadzorni plošči.<script defer src="https://stats.example.com/script.js" data-website-id="your-website-id"></script>
next/script namesto z navadno oznako <script>.data-domains sledenje omeji na vaše produkcijske domene, kar vaša preizkusna okolja ohrani zunaj statistike.localStorage.setItem('umami.disabled', 1).Nekateri zaviralci oglasov blokirajo vse, kar je videti kot analitika. Pri samostojnem gostovanju se Umami že streže z vaše lastne domene, dve spremenljivki pa gresta še dlje: TRACKER_SCRIPT_NAME skriptu da drugo ime kot script.js, COLLECT_API_ENDPOINT pa preimenuje končno točko za zbiranje, namesto /api/send. Skript nato sam kliče novo končno točko; na vaših straneh se spremeni le vir sledilne kode.
TRACKER_SCRIPT_NAME: "stats.js"
COLLECT_API_ENDPOINT: "/api/collect"
Te spremenljivke okolja gredo v storitev umami datoteke compose.yaml, nato docker compose up -d znova ustvari vsebnik, da jih upošteva:
| Spremenljivka | Kaj naredi | Vrednost |
|---|---|---|
DISABLE_TELEMETRY | Izklopi anonimno telemetrijo, ki jo Umami pošilja projektu za izboljšanje aplikacije | 1 |
PRIVATE_MODE | Izklopi vse zunanje omrežne klice, vključno z ikonami spletišč, ki se privzeto strežejo z DuckDuckGo | 1 |
DISABLE_UPDATES | Izklopi preverjanje novih različic | 1 |
IGNORE_IP | Iz zbiranja podatkov izloči naslove IP in razpone CIDR, na primer tiste iz vaših pisarn | Seznam, ločen z vejicami |
SALT_ROTATION | Določa, kako pogosto se menja sol, na kateri temeljijo identifikatorji sej | Privzeto month |
REDIS_URL | Doda predpomnilnik Redis, ki ga dokumentacija priporoča za spletišča z velikim obiskom ali več instanc | Vaš naslov Redis |
MCP_ENABLED | Odpre končno točko /mcp: vaš AI pomočnik bere vašo analitiko samo za branje, s ključem API, ustvarjenim v Settings, API keys | 1 |
Vse, kar Umami hrani, živi v njegovi zbirki PostgreSQL: računi, spletišča, ekipe in analitika. Izvozite jo vsak dan in tik pred vsako posodobitvijo: pri samostojnem gostovanju se ti podatki hranijo brez časovne omejitve. Poleg zbirke datoteka .env hrani skrivnosti, ki jo naredijo uporabno:
| Element | Kaj hrani | Varnostna kopija |
|---|---|---|
| Zbirka PostgreSQL | Račune, spletišča, ekipe, poročila in vso analitiko | Obvezno, s pg_dump |
.env | Geslo zbirke, APP_SECRET in ključ dvostopenjskega preverjanja pristnosti | Obvezno, šifrirano |
compose.yaml | Konfiguracijo vaše instance | Priporočeno |
pg_dump naredi dosleden izvoz, medtem ko je zbirka v uporabi. Format po meri, -Fc, je stisnjen in se obnovi s pg_restore:
docker compose exec -T db pg_dump -U umami -d umami -Fc > umami-$(date +%F).dump
Ta ukaz na strežniku načrtujte vsaj enkrat na dan, med izvozi, ki se kopičijo, redno delajte red in kopijo pošljite drugam. Shranjeni na disku strežnika ti izvozi vstopijo tudi v njegove nočne varnostne kopije.
docker compose stop umami.docker compose stop umami
docker compose exec -T db pg_restore -U umami -d umami --clean --if-exists < umami-YYYY-MM-DD.dump
docker compose start umami
To vajo občasno ponovite, na kopiji: tako preverite, da varnostna kopija deluje.
Dokumentacija navaja dva ukaza, ki ju zaženete v mapi datoteke compose.yaml. Zbirka ostane v svojem nosilcu:
docker compose pull
docker compose up --force-recreate -d
Ob ponovnem zagonu vsebnik sam izvede migracije sheme. Različica 3.4.0 s 17. septembra 2026 jih je prinesla dve, za opombe in ključe API; različica 3.4.1 s 23. oktobra 2026 ne prinaša nobene. Po veliki nadgradnji, kot je prehod na različico 3, dokumentacija predlaga, da v PostgreSQL zaženete ANALYZE, da nadzorne plošče znova dobijo svojo hitrost:
docker compose exec db psql -U umami -d umami -c "ANALYZE;"
postgres:15-alpine iz datoteke. Prehod na novo glavno različico PostgreSQL zahteva izvoz in obnovo ali pg_upgrade.Samostojno gostovanje poleg aplikacije zahteva tudi vzdrževanje strežnika. Na Managed VPS naše ekipe prevzamejo strežnik in proaktivno spremljajo vašo instanco; Umami ostaja vaša programska oprema, z vašimi nastavitvami in podatki.
| Tema | Naše ekipe | Vi |
|---|---|---|
| Strežnik | Posodobitve sistema in varnosti, vključno s posegi na strežniku | Trenutek, ki ustreza vaši dejavnosti |
| Nadzor | Strežnik pod nadzorom 24 ur na dan, 7 dni v tednu, s posegom brez čakanja na vaš klic | Branje dnevnikov vaše instance |
| Umami | Proaktivno spremljanje: napake, upočasnitve in prostor na disku, s priporočenim popravkom | Namestitev, posodobitve in nastavitve, ki jih uvedete vi ali vaš AI pomočnik |
| Spletišča in analitika | Strežnik, ki jih nosi, pod nadzorom in varnostno kopiran | Računi, spremljana spletišča, sledilni skript in trajanje hrambe podatkov |
| Varnostne kopije | Vsako noč, šifrirane in shranjene zunaj stroja; obnova je vključena | Izvozi, značilni za Umami, in zahteva za obnovo, ko jo potrebujete |
| Selitev | Selitev vašega sedanjega strežnika, brezplačno | Trenutek preklopa |
Če želite, da naše ekipe posežejo v samo aplikacijo, se ta storitev zaračuna po urah ali pavšalno, z oceno stroškov, sporočeno pred posegom.
Z Managed VPS Simafri naše ekipe strežnik vaše instance Umami sproti posodabljajo, ga podnevi in ponoči nadzirajo ter posežejo brez čakanja na vaš klic; vašo instanco tudi proaktivno spremljajo in vam priporočajo koristne popravke, ki jih uvedete vi ali vaš AI pomočnik. Varnostne kopije so vsako noč šifrirane in shranjene zunaj stroja, njihova obnova je vključena, selitev vašega sedanjega strežnika pa je brezplačna.
Da. Umami je pod licenco MIT: v podjetju ga lahko uporabljate, spreminjate in nadalje razširjate, ne da bi morali kupiti licenco, če ohranite njegovo obvestilo o avtorskih pravicah. Ostane le strošek strežnika, na katerem teče.
Ne. Pogosta vprašanja projekta navajajo, da spletni sledilnik Umami ne uporablja piškotkov. Ali vaše spletišče potrebuje obvestilo o piškotkih, je odvisno od drugih storitev, ki jih na njem uporabljate, in od zahtev, ki veljajo.
Od različice 3 ne: Umami podpira PostgreSQL, najmanj v različici 12.14. Instanca različice 2 na MySQL svoje podatke najprej prenese v PostgreSQL z vodnikom za selitev projekta, nato nadgradi na različico 3.
Začnite z datoteko docker-compose.yml projekta, ki poganja Umami in PostgreSQL, z naključnimi skrivnostmi v datoteki .env in vrati, objavljenimi na 127.0.0.1. Zaženite docker compose up -d, nato pred aplikacijo postavite obratni posredniški strežnik s HTTPS, na poddomeni.
Ob namestitvi Umami ustvari račun admin z geslom umami. Spremenite ga ob prvi prijavi, v Settings in nato Profile, in v zavihku Security vključite dvostopenjsko preverjanje pristnosti, ko je TWO_FACTOR_ENCRYPTION_KEY nastavljen.
Na samostojno gostovani instanci TRACKER_SCRIPT_NAME skriptu da drugo ime kot script.js, COLLECT_API_ENDPOINT pa preimenuje končno točko za zbiranje /api/send. Nato na svojih straneh spremenite vir sledilne kode.
Zbirko PostgreSQL vsak dan izvozite s pg_dump, iz vsebnika zbirke, datoteko .env pa hranite ločeno, saj vsebuje APP_SECRET in ključ dvostopenjskega preverjanja pristnosti. Obnovite s pg_restore in obnovo redno preizkušajte.
Managed VPS pokriva strežnik: sistem, varnost, nadzor in varnostne kopije. Naše ekipe proaktivno spremljajo tudi vašo instanco in vam priporočajo koristne popravke, ki jih uvedete vi. Poseg v aplikacijo se zaračuna po urah ali pavšalno.
Simafri
Pogovorimo se o vašem projektu
Povejte nam v nekaj besedah, kaj potrebujete: hitro se vam oglasimo.
Hvala! Vaše povpraševanje je bilo poslano. Kmalu vam bomo odgovorili.
Imate raje e-pošto? Pišite nam na support@simafri.com.