Hostati Umami na Managed VPS-u: vaša web-analitika na vašem poslužitelju

Hostati Umami na Managed VPS-u znači čuvati analitiku svojih web-mjesta na stroju koji je vaš, a koji naši timovi održavaju ažurnim i nadziru danju i noću. Umami je slobodan softver pod licencom MIT koji mjeri promet bez kolačića. Ovaj vodič prati njegovu službenu dokumentaciju: instalaciju s Docker Composeom i PostgreSQL-om, HTTPS, prvu prijavu, skriptu za praćenje, ono što projekt kaže o osobnim podacima, korisne postavke, sigurnosne kopije i ažuriranja.

Simon Vasconcelos Lee Autor: Objavljeno 15. studenoga 2026.Vrijeme čitanja: 12 minuta

Svi vodiči

Najvažnije

  1. Licenca MIT omogućuje slobodnu upotrebu, izmjenu i daljnju distribuciju Umamija, u tvrtki kao i drugdje, uz zadržavanje napomene o autorskim pravima.
  2. Instalirajte ga s Docker Composeom: datoteka projekta pokreće Umami i njegovu bazu PostgreSQL, jedinu podržanu bazu od inačice 3.
  3. Nasumično generirajte APP_SECRET i TWO_FACTOR_ENCRYPTION_KEY, poslužujte Umami preko HTTPS-a na vlastitoj poddomeni, a zatim odmah promijenite lozinku računa admin.
  4. Dodajte svoje web-mjesto, a zatim njegovu skriptu za praćenje zalijepite u <head> svojih stranica: alat za praćenje ne koristi kolačiće.
  5. Svaki dan izvezite bazu s pg_dump, čuvajte datoteku .env na sigurnom mjestu, a ažurirajte s docker compose pull.

Što radi Umami

Umami je platforma otvorenog koda za web-analitiku i analitiku proizvoda. Njegova dokumentacija opisuje alat koji objedinjuje promet, kampanje, ponašanje posjetitelja, konverzije, zadržavanje i prihode, od prvog posjeta do rezultata koji su važni vašem poslovanju. Napisan je u TypeScriptu na Next.js-u, a njegova Docker slika radi pod računom bez povlastica.

Jedna instanca prati više web-mjesta: svako dobiva vlastiti ID i skriptu za praćenje, a vaši se kolege snalaze zahvaljujući računima i timovima.

Što dopušta licenca MIT

Umami je objavljen pod licencom MIT, u ime tvrtke Umami Software, Inc. Ona besplatno daje pravo na upotrebu, kopiranje, izmjenu, spajanje, objavljivanje, distribuciju, podlicenciranje i prodaju primjeraka softvera. Stoga ga možete pokretati za svoju tvrtku i za web-mjesta svojih klijenata, bez kupnje licence.

Njezin jedini uvjet: napomena o autorskim pravima i napomena o dopuštenju idu uz sve primjerke ili bitne dijelove softvera. Kao i svaka licenca MIT, softver daje „kakav jest”, bez jamstva.

Kolačići i osobni podaci: što kaže projekt

Dokumentacija Umami predstavlja kao analitiku bez kolačića, bez praćenja između web-mjesta i bez automatskog prikupljanja osobnih podataka. Hostan na vlastitom poslužitelju, vašu analitiku čuva na vašem poslužitelju: vi odlučujete gdje se nalazi i koliko dugo ostaje.

PitanjeŠto kaže projektIzvor
KolačićiWeb-alat za praćenje ne koristi kolačiće; treba li vašem web-mjestu obavijest o kolačićima ovisi o drugim uslugama koje koristite i o zahtjevima koji se primjenjujuFAQ
Prikupljeni podaciPregledi stranica, URL-ovi izvora prometa, preglednici, operacijski sustavi, vrste uređaja i približna lokacijaFAQ
IP adresaTablica sesija nema stupac za IP adresu; ID sesije je hash web-mjesta, adrese, preglednika i soli koja se prema zadanim postavkama mijenja svaki mjesecShema i kod, inačica 3.4.1
ZadržavanjeUz hostanje na vlastitom poslužitelju podaci se čuvaju dok ih ne izbrišeteFAQ
GDPRUmami je osmišljen s naglaskom na privatnost, a usklađenost ovisi o tome kako ga konfigurirate i koristiteFAQ
Podaci koje šaljeteID posjetitelja ili svojstva događaja koja odlučite slati vaša su odgovornostUvod

Tri postavke skripte za praćenje idu i dalje, ako želite: data-exclude-search uklanja parametre pretraživanja iz zabilježenih URL-ova, data-exclude-hash uklanja dio iza znaka #, a data-do-not-track isključuje praćenje za preglednike koji iskazuju postavku Do Not Track. Dokumentacija napominje da ta posljednja postavka sama po sebi nije cjelovito rješenje za upravljanje privolama.

Ako prijavljene posjetitelje identificirate s data-distinct-id ili umami.identify(), dokumentacija preporučuje interni ID korisnika ili hash umjesto adrese e-pošte: vrijednost se može pročitati u HTML-u stranice.

Instalacija s Docker Composeom i PostgreSQL-om

Repozitorij isporučuje docker-compose.yml koji pokreće Umami i njegovu bazu PostgreSQL. Od inačice 3 PostgreSQL je jedina podržana baza, najmanje u inačici 12.14, a dokumentacija preporučuje da je postavite na vremensku zonu UTC. Na poslužitelju s instaliranim Dockerom izradite mapu i počnite s njezinim tajnama, nasumično generiranima s openssl, kako predlaže dokumentacija:

Terminal
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

Zatim pokraj nje stavite ovaj compose.yaml. Slijedi datoteku projekta u inačici 3.4.1, s dvije izmjene: tajne dolaze iz datoteke .env, a port je objavljen samo na 127.0.0.1.

compose.yaml
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:
Terminal
docker compose up -d
curl -s http://127.0.0.1:3000/api/heartbeat

Dokumentacija o instalaciji ne navodi potrebnu memoriju ni procesor. Veličina ovisi o prometu praćenih web-mjesta i o količini podataka koje čuvate. Na Managed VPS-u opišite nam svoju upotrebu, a mi vam preporučujemo odgovarajuću veličinu.

HTTPS: obrnuti proxy

Umami sluša preko HTTP-a na portu 3000, a dokumentacija predlaže da ga poslužujete iza svojeg web-poslužitelja, preko obrnutog proxyja. Dodijelite mu vlastitu poddomenu, poput stats.example.com, koja pokazuje na poslužitelj putem A i AAAA zapisa. Posluživanje Umamija pod putanjom ide preko BASE_PATH, varijable koja se čita pri izradi aplikacije: uz objavljenu sliku poddomena je izravan put.

Proxy mora prosljeđivati i adresu posjetitelja. Umami je čita iz zaglavlja koja prima, među njima X-Real-IP i X-Forwarded-For: koristi je za razlikovanje posjetitelja i određivanje njihove zemlje. Ako vaš proxy koristi drugo zaglavlje, navodi ga CLIENT_IP_HEADER.

S Caddyjem

Caddy sam pribavlja certifikat Let’s Encrypt i uključuje HTTPS. Njegova direktiva reverse_proxy prema zadanim postavkama postavlja X-Forwarded-For: ova tri retka su sve što vam treba.

Caddyfile
stats.example.com {
  reverse_proxy 127.0.0.1:3000
}

S Nginxom i Certbotom

Ovaj blok preuzima primjer za Nginx iz dokumentacije Umamija, uz slušanje na portu 80 kako bi Certbot postavio HTTPS:

Blok za Nginx
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 zatim postavlja certifikat i brine se za njegovu obnovu:

Terminal
sudo certbot --nginx

Prva prijava: administratorski račun i dvofaktorska autentifikacija

Kada izradi svoju bazu, Umami otvara administratorski račun: korisničko ime admin, lozinka umami. Dokumentacija traži da tu lozinku promijenite pri prvoj prijavi.

  1. Otvorite svoju HTTPS adresu i prijavite se s admin i umami.
  2. Otvorite Settings preko gumba profila na bočnoj traci, zatim Profile, i kliknite Change password.
  3. Na kartici Security uključite dvofaktorsku autentifikaciju: skenirajte QR kod svojom aplikacijom za autentifikaciju, unesite šesteroznamenkasti kod, a zatim deset pričuvnih kodova spremite na sigurno mjesto, jer se prikazuju samo jednom.

Čuvajte TWO_FACTOR_ENCRYPTION_KEY sa svojim sigurnosnim kopijama: dokumentacija upozorava da gubitak ili promjena tog ključa spremljene tajne čini nečitljivima, a svaki se korisnik tada mora ponovno upisati u dvofaktorsku autentifikaciju.

Dodavanje web-mjesta i njegove skripte za praćenje

  1. U izborniku Websites kliknite Add website.
  2. Dajte web-mjestu naziv, a zatim njegovu domenu: Umami je koristi kako bi vaše vlastite stranice izostavio s popisa izvora prometa.
  3. Otvorite Edit na tom web-mjestu i kopirajte kod iz odjeljka Tracking code.
  4. Zalijepite ga u <head> svojih stranica, a zatim posjetite svoje web-mjesto: podaci se odmah pojavljuju na nadzornoj ploči.
Kod za praćenje, u odjeljku head
<script defer src="https://stats.example.com/script.js" data-website-id="your-website-id"></script>

Vlastiti naziv skripte

Neki blokatori oglasa blokiraju sve što nalikuje analitici. Uz hostanje na vlastitom poslužitelju Umami se već poslužuje s vaše domene, a dvije varijable idu i dalje: TRACKER_SCRIPT_NAME skripti daje drugi naziv umjesto script.js, a COLLECT_API_ENDPOINT preimenuje krajnju točku za prikupljanje, umjesto /api/send. Skripta tada sama poziva novu krajnju točku; na vašim se stranicama mijenja samo izvor koda za praćenje.

compose.yaml, u odjeljku environment
TRACKER_SCRIPT_NAME: "stats.js"
COLLECT_API_ENDPOINT: "/api/collect"

Korisne postavke

Ove varijable okruženja idu u uslugu umami datoteke compose.yaml, a zatim docker compose up -d ponovno izrađuje kontejner kako bi ih uzeo u obzir:

VarijablaŠto radiVrijednost
DISABLE_TELEMETRYIsključuje anonimnu telemetriju koju Umami šalje projektu radi poboljšanja aplikacije1
PRIVATE_MODEIsključuje sve vanjske mrežne pozive, uključujući ikone web-mjesta, koje prema zadanim postavkama dolaze s DuckDuckGoa1
DISABLE_UPDATESIsključuje provjeru novih inačica1
IGNORE_IPIz prikupljanja podataka isključuje IP adrese i CIDR raspone, primjerice one vaših uredaPopis odvojen zarezima
SALT_ROTATIONOdređuje koliko se često mijenja sol na kojoj se temelje ID-ovi sesijaPrema zadanim postavkama month
REDIS_URLDodaje predmemoriju Redis, koju dokumentacija preporučuje za web-mjesta s velikim prometom ili za više instanciVaša adresa Redisa
MCP_ENABLEDOtvara krajnju točku /mcp: vaš AI asistent čita vašu analitiku samo za čitanje, s API ključem izrađenim u izborniku Settings, API keys1

Sigurnosne kopije

Sve što Umami čuva nalazi se u njegovoj bazi PostgreSQL: računi, web-mjesta, timovi i analitika. Izvezite je svaki dan i neposredno prije svakog ažuriranja: uz hostanje na vlastitom poslužitelju ti se podaci čuvaju bez vremenskog ograničenja. Uz bazu, datoteka .env sadrži tajne koje je čine upotrebljivom:

ElementŠto čuvaZa sigurnosno kopiranje
Baza PostgreSQLRačune, web-mjesta, timove, izvješća i svu analitikuObavezno, s pg_dump
.envLozinku baze, APP_SECRET i ključ dvofaktorske autentifikacijeObavezno, šifrirano
compose.yamlKonfiguraciju vaše instancePreporučeno

Izvoz baze dok radi

pg_dump izrađuje dosljedan izvoz dok se baza koristi. Prilagođeni format, -Fc, sažet je i vraća se s pg_restore:

Terminal, u mapi s datotekom compose.yaml
docker compose exec -T db pg_dump -U umami -d umami -Fc > umami-$(date +%F).dump

Tu naredbu planirajte na poslužitelju barem jednom dnevno, povremeno prorijedite izvoze, koji se nakupljaju, i kopiju pošaljite na drugo mjesto. Čuvani na disku poslužitelja, ti izvozi ulaze i u njegove noćne sigurnosne kopije.

Vraćanje

  1. Zaustavite Umami, a bazu ostavite da radi: docker compose stop umami.
  2. Vratite izvoz u bazu, uz zamjenu postojećih objekata.
  3. Ponovno pokrenite Umami, a zatim provjerite jesu li vaša web-mjesta i njihova analitika na mjestu.
Terminal
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

Tu vježbu povremeno ponovite, na kopiji: tako provjeravate da sigurnosna kopija radi.

Ažuriranja

Dokumentacija daje dvije naredbe, iz mape s datotekom compose.yaml. Baza ostaje u svojem volumenu:

Terminal
docker compose pull
docker compose up --force-recreate -d

Pri ponovnom pokretanju kontejner sam primjenjuje migracije sheme. Inačica 3.4.0 od 17. rujna 2026. donijela ih je dvije, za bilješke i API ključeve; inačica 3.4.1 od 23. listopada 2026. ne donosi nijednu. Nakon velike nadogradnje, poput prelaska na inačicu 3, dokumentacija predlaže pokretanje naredbe ANALYZE u PostgreSQL-u kako bi nadzorne ploče vratile svoju brzinu:

Terminal
docker compose exec db psql -U umami -d umami -c "ANALYZE;"

Tko što radi na Managed VPS-u

Hostanje na vlastitom poslužitelju traži da uz aplikaciju održavate i poslužitelj. Na Managed VPS-u naši timovi preuzimaju poslužitelj i proaktivno prate vašu instancu; Umami ostaje vaš softver, sa svojim postavkama i podacima.

TemaNaši timoviVi
PoslužiteljAžuriranja sustava i sigurnosti, uključujući intervencije na poslužiteljuTrenutak koji odgovara vašem poslovanju
NadzorPoslužitelj pod nadzorom 24 sata dnevno, 7 dana u tjednu, s intervencijom bez čekanja vašeg pozivaČitanje zapisnika vaše instance
UmamiProaktivno praćenje: uočene pogreške, usporavanja i prostor na disku, preporučen ispravakNjegova instalacija, ažuriranja i postavke, koje primjenjujete vi ili vaš AI asistent
Web-mjesta i analitikaPoslužitelj koji ih nosi, nadziran i sigurnosno kopiranRačuni, praćena web-mjesta, skripta za praćenje i trajanje čuvanja podataka
Sigurnosne kopijeSvake noći, šifrirane i čuvane izvan stroja; vraćanje uključenoIzvozi specifični za Umami i zahtjev za vraćanje, kada vam zatreba
MigracijaVaš trenutačni poslužitelj migriran, besplatnoTrenutak prelaska

Ako želite da naši timovi interveniraju u samoj aplikaciji, ta se usluga naplaćuje po satu ili paušalno, uz procjenu koja vam se priopćuje prije intervencije.

Umami, na poslužitelju koji vodimo za vas

Uz Simafri Managed VPS naši timovi održavaju poslužitelj vaše instance Umamija ažurnim, nadziru ga danju i noću i interveniraju bez čekanja vašeg poziva; uz to proaktivno prate vašu instancu i preporučuju vam korisne ispravke, koje primjenjujete vi ili vaš AI asistent. Sigurnosne kopije svake se noći šifriraju i čuvaju izvan stroja, njihovo vraćanje je uključeno, a migracija vašeg trenutačnog poslužitelja je besplatna.

Otkrijte Managed VPS

Česta pitanja

Je li Umami besplatan za tvrtke?

Da. Umami je pod licencom MIT: možete ga koristiti, mijenjati i dalje distribuirati u tvrtki bez kupnje licence, uz zadržavanje napomene o autorskim pravima. Ostaje trošak poslužitelja na kojem radi.

Koristi li Umami kolačiće?

Ne. FAQ projekta navodi da web-alat za praćenje Umami ne koristi kolačiće. Treba li vašem web-mjestu obavijest o kolačićima ovisi o drugim uslugama koje na njemu koristite i o zahtjevima koji se primjenjuju.

Radi li Umami s MySQL-om?

Ne od inačice 3: Umami podržava PostgreSQL, najmanje u inačici 12.14. Instanca inačice 2 na MySQL-u najprije premješta svoje podatke na PostgreSQL prema vodiču za migraciju projekta, a zatim se nadograđuje na inačicu 3.

Kako instalirati Umami s Docker Composeom?

Krenite od datoteke docker-compose.yml projekta, koja pokreće Umami i PostgreSQL, s nasumičnim tajnama u datoteci .env i portom objavljenim na 127.0.0.1. Pokrenite docker compose up -d, a zatim ispred postavite obrnuti proxy s HTTPS-om, na poddomeni.

Koji su zadani pristupni podaci Umamija?

Pri instalaciji Umami izrađuje račun admin s lozinkom umami. Promijenite je pri prvoj prijavi, u izborniku Settings, zatim Profile, i uključite dvofaktorsku autentifikaciju na kartici Security nakon što je postavljen TWO_FACTOR_ENCRYPTION_KEY.

Kako preimenovati skriptu za praćenje Umamija?

Na samostalno hostanoj instanci TRACKER_SCRIPT_NAME skripti daje drugi naziv umjesto script.js, a COLLECT_API_ENDPOINT preimenuje krajnju točku za prikupljanje /api/send. Zatim na svojim stranicama promijenite izvor koda za praćenje.

Kako sigurnosno kopirati Umami?

Svaki dan izvezite bazu PostgreSQL s pg_dump, iz kontejnera baze, a datoteku .env čuvajte zasebno, jer sadrži APP_SECRET i ključ dvofaktorske autentifikacije. Vraćajte s pg_restore i redovito testirajte vraćanje.

Pokriva li Managed VPS Umami?

Managed VPS pokriva poslužitelj: sustav, sigurnost, nadzor i sigurnosne kopije. Naši timovi proaktivno prate i vašu instancu te vam preporučuju korisne ispravke, koje primjenjujete vi. Intervencija u aplikaciji naplaćuje se po satu ili paušalno.

Izvori i službena dokumentacija

Kontaktirajte nas