Hostovanie Umami na Managed VPS: vaša webová analytika na vašom serveri

Hostovanie Umami na Managed VPS znamená, že analytika vašich webov zostáva na vlastnom stroji, ktorý naše tímy udržiavajú aktuálny a dohliadajú naň vo dne v noci. Umami je slobodný softvér pod licenciou MIT, ktorý meria návštevnosť bez cookies. Tento sprievodca postupuje podľa jeho oficiálnej dokumentácie: inštalácia cez Docker Compose a PostgreSQL, HTTPS, prvé prihlásenie, sledovací skript, čo projekt uvádza o osobných údajoch, užitočné nastavenia, zálohy a aktualizácie.

Simon Vasconcelos Lee Autor: Publikované 15. novembra 2026Čas čítania: 12 minút

Všetci sprievodcovia

To najdôležitejšie

  1. Licencia MIT umožňuje Umami voľne používať, upravovať a ďalej šíriť, vo firme aj inde, pokiaľ zachováte jeho upozornenie o autorských právach.
  2. Nainštalujte ho cez Docker Compose: súbor projektu spustí Umami a jeho databázu PostgreSQL, od verzie 3 jedinú podporovanú databázu.
  3. Vygenerujte náhodne APP_SECRET a TWO_FACTOR_ENCRYPTION_KEY, obsluhujte Umami cez HTTPS na vlastnej subdoméne a hneď zmeňte heslo účtu admin.
  4. Pridajte svoj web a potom vložte jeho sledovací skript do <head> svojich stránok: sledovač cookies nepoužíva.
  5. Databázu exportujte každý deň príkazom pg_dump, súbor .env uchovávajte na bezpečnom mieste a aktualizujte príkazom docker compose pull.

Čo Umami robí

Umami je otvorená platforma na webovú a produktovú analytiku. Jeho dokumentácia opisuje nástroj, ktorý spája návštevnosť, kampane, správanie návštevníkov, konverzie, udržanie a tržby, od prvej návštevy po výsledky, na ktorých vašej firme záleží. Je napísaný v TypeScripte na Next.js a jeho obraz Docker beží pod neprivilegovaným účtom.

Jedna inštancia sleduje viacero webov: každý dostane vlastné ID a sledovací skript a vaši kolegovia sa v nich orientujú pomocou účtov a tímov.

Čo umožňuje licencia MIT

Umami vychádza pod licenciou MIT, v mene spoločnosti Umami Software, Inc. Bezplatne udeľuje právo používať, kopírovať, upravovať, zlučovať, zverejňovať, šíriť, poskytovať sublicencie a predávať kópie softvéru. Môžete ho teda prevádzkovať pre svoju firmu aj pre weby svojich klientov bez licencie, ktorú by ste museli kupovať.

Jej jediná podmienka: upozornenie o autorských právach a oznámenie o povolení sprevádzajú všetky kópie alebo podstatné časti softvéru. Ako každá licencia MIT poskytuje softvér „tak, ako je“, bez záruky.

Cookies a osobné údaje: čo uvádza projekt

Dokumentácia predstavuje Umami ako analytiku bez cookies, bez sledovania naprieč webmi a bez automatického zberu osobných údajov. Pri vlastnej prevádzke zostáva vaša analytika na vašom serveri: rozhodujete, kde sa uchováva a ako dlho.

OtázkaČo uvádza projektZdroj
CookiesWebový sledovač cookies nepoužíva; či váš web potrebuje oznámenie o cookies, závisí od ostatných služieb, ktoré používate, a od požiadaviek, ktoré sa na vás vzťahujúFAQ
Zbierané údajeZobrazenia stránok, adresy odkazujúcich stránok, prehliadače, operačné systémy, typy zariadení a približná polohaFAQ
IP adresaTabuľka relácií nemá stĺpec pre IP adresu; ID relácie je haš webu, adresy, prehliadača a soli, ktorá sa predvolene mení každý mesiacSchéma a kód, verzia 3.4.1
UchovávaniePri vlastnej prevádzke sa údaje uchovávajú, kým ich neodstrániteFAQ
GDPRUmami je navrhnutý s ohľadom na súkromie a súlad závisí od toho, ako ho nastavíte a používateFAQ
Údaje, ktoré posielateZa ID návštevníka alebo vlastnosti udalostí, ktoré sa rozhodnete posielať, zodpovedáte vyÚvod

Tri nastavenia sledovacieho skriptu idú, ak chcete, ďalej: data-exclude-search odstraňuje parametre vyhľadávania zo zaznamenaných adries, data-exclude-hash odstraňuje časť za znakom mriežky a data-do-not-track vypína sledovanie pre prehliadače, ktoré zverejňujú preferenciu Do Not Track. Dokumentácia poznamenáva, že toto posledné nastavenie samo osebe nie je úplným riešením správy súhlasu.

Ak identifikujete prihlásených návštevníkov pomocou data-distinct-id alebo umami.identify(), dokumentácia odporúča interné ID používateľa alebo haš namiesto e-mailovej adresy: hodnotu možno prečítať v HTML stránky.

Inštalácia pomocou Docker Compose a PostgreSQL

Repozitár obsahuje súbor docker-compose.yml, ktorý spustí Umami a jeho databázu PostgreSQL. Od verzie 3 je PostgreSQL jedinou podporovanou databázou, minimálne vo verzii 12.14, a dokumentácia odporúča nastaviť ju na časové pásmo UTC. Na serveri s nainštalovaným Dockerom vytvorte priečinok a začnite jeho tajnými údajmi, náhodne vygenerovanými cez openssl, ako navrhuje dokumentácia:

Terminál
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

Potom vedľa neho umiestnite tento súbor compose.yaml. Vychádza zo súboru projektu vo verzii 3.4.1 s dvoma zmenami: tajné údaje pochádzajú zo súboru .env a port je publikovaný len 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:
Terminál
docker compose up -d
curl -s http://127.0.0.1:3000/api/heartbeat

Inštalačná dokumentácia neuvádza nároky na pamäť ani procesor. Veľkosť závisí od návštevnosti sledovaných webov a od objemu údajov, ktoré uchovávate. Na spravovanom VPS (Managed VPS) nám opíšte svoje použitie a odporučíme vám vhodnú veľkosť.

HTTPS: reverzná proxy

Umami počúva cez HTTP na porte 3000 a dokumentácia navrhuje obsluhovať ho za vaším webovým serverom, cez reverznú proxy. Dajte mu vlastnú subdoménu, napríklad stats.example.com, nasmerovanú na server záznamami A a AAAA. Obsluha Umami pod cestou prechádza cez BASE_PATH, premennú načítanú pri zostavení aplikácie: so zverejneným obrazom je subdoména priamou cestou.

Proxy musí odovzdať aj adresu návštevníka. Umami ju číta z hlavičiek, ktoré dostáva, vrátane X-Real-IP a X-Forwarded-For: používa ju na rozlíšenie návštevníkov a určenie ich krajiny. Ak vaša proxy používa inú hlavičku, pomenuje ju CLIENT_IP_HEADER.

S Caddy

Caddy získa certifikát Let’s Encrypt a zapne HTTPS sám. Jeho direktíva reverse_proxy predvolene nastavuje X-Forwarded-For: tieto tri riadky sú všetko, čo potrebujete.

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

S Nginx a Certbotom

Tento blok preberá príklad Nginx z dokumentácie Umami, s počúvaním na porte 80, aby HTTPS mohol zapnúť Certbot:

Blok 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 potom nainštaluje certifikát a postará sa o jeho obnovu:

Terminál
sudo certbot --nginx

Prvé prihlásenie: účet admin a dvojfaktorové overenie

Pri vytvorení svojej databázy otvorí Umami účet správcu: používateľské meno admin, heslo umami. Dokumentácia žiada toto heslo zmeniť pri prvom prihlásení.

  1. Otvorte svoju adresu HTTPS a prihláste sa pomocou admin a umami.
  2. Tlačidlom profilu v bočnom paneli otvorte Settings, potom Profile, a kliknite na Change password.
  3. Na karte Security zapnite dvojfaktorové overenie: naskenujte QR kód svojou autentifikačnou aplikáciou, zadajte šesťmiestny kód a potom uložte desať záložných kódov na bezpečné miesto, pretože sa zobrazia len raz.

Uchovávajte TWO_FACTOR_ENCRYPTION_KEY spolu so svojimi zálohami: dokumentácia upozorňuje, že strata alebo zmena tohto kľúča spôsobí, že uložené tajné údaje budú nečitateľné, a každý používateľ si potom musí dvojfaktorové overenie nastaviť znova.

Pridanie webu a jeho sledovacieho skriptu

  1. V časti Websites kliknite na Add website.
  2. Zadajte názov webu a potom jeho doménu: Umami ju používa na vyradenie vašich vlastných stránok zo zoznamu odkazujúcich webov.
  3. Pri tomto webe otvorte Edit a skopírujte kód z časti Tracking code.
  4. Vložte ho do <head> svojich stránok a potom navštívte svoj web: údaje sa v prehľade objavia okamžite.
Sledovací kód, v head
<script defer src="https://stats.example.com/script.js" data-website-id="your-website-id"></script>

Vlastný názov skriptu

Niektoré blokovače reklám blokujú všetko, čo pripomína analytiku. Pri vlastnej prevádzke sa Umami už obsluhuje z vašej vlastnej domény a dve premenné idú ďalej: TRACKER_SCRIPT_NAME dáva skriptu iný názov než script.js a COLLECT_API_ENDPOINT premenuje koncový bod zberu namiesto /api/send. Skript potom volá nový koncový bod sám; na vašich stránkach sa mení len zdroj sledovacieho kódu.

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

Užitočné nastavenia

Tieto premenné prostredia patria do služby umami v súbore compose.yaml a docker compose up -d potom kontajner znova vytvorí, aby ich zohľadnil:

PremennáČo robíHodnota
DISABLE_TELEMETRYVypína anonymnú telemetriu, ktorú Umami posiela projektu na zlepšovanie aplikácie1
PRIVATE_MODEVypína všetky externé sieťové volania, vrátane ikon webov, predvolene obsluhovaných z DuckDuckGo1
DISABLE_UPDATESVypína kontrolu nových verzií1
IGNORE_IPVylučuje zo zberu údajov IP adresy a rozsahy CIDR, napríklad adresy vašich kanceláriíZoznam oddelený čiarkami
SALT_ROTATIONNastavuje, ako často sa mení soľ, z ktorej vychádzajú ID reláciíPredvolene month
REDIS_URLPridáva vyrovnávaciu pamäť Redis, ktorú dokumentácia odporúča pre weby s vysokou návštevnosťou alebo pre viacero inštanciíAdresa vášho Redisu
MCP_ENABLEDOtvára koncový bod /mcp: váš AI asistent číta vašu analytiku len na čítanie, s kľúčom API vytvoreným v Settings, API keys1

Zálohy

Všetko, čo Umami uchováva, je v jeho databáze PostgreSQL: účty, weby, tímy a analytika. Exportujte ju každý deň a tesne pred každou aktualizáciou: pri vlastnej prevádzke sa tieto údaje uchovávajú bez časového obmedzenia. Popri databáze obsahuje súbor .env tajné údaje, vďaka ktorým je použiteľná:

PrvokČo uchovávaZálohovať
Databáza PostgreSQLÚčty, weby, tímy, prehľady a celá analytikaPovinne, pomocou pg_dump
.envHeslo databázy, APP_SECRET a kľúč dvojfaktorového overeniaPovinne, šifrovane
compose.yamlKonfigurácia vašej inštancieOdporúčané

Export databázy počas prevádzky

pg_dump vytvorí konzistentný export, aj keď sa databáza používa. Vlastný formát, -Fc, je komprimovaný a obnovuje sa pomocou pg_restore:

Terminál, v priečinku so súborom compose.yaml
docker compose exec -T db pg_dump -U umami -d umami -Fc > umami-$(date +%F).dump

Tento príkaz naplánujte na serveri aspoň raz denne, exporty, ktoré sa hromadia, prebierajte a kópiu posielajte inam. Uložené na disku servera sa tieto exporty dostanú aj do jeho nočných záloh.

Obnova

  1. Zastavte Umami a databázu nechajte bežať: docker compose stop umami.
  2. Obnovte export do databázy s nahradením existujúcich objektov.
  3. Znova spustite Umami a overte, že vaše weby a ich analytika sú na mieste.
Terminál
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

Toto cvičenie z času na čas zopakujte na kópii: takto overíte, že záloha funguje.

Aktualizácie

Dokumentácia uvádza dva príkazy, spúšťané z priečinka so súborom compose.yaml. Databáza zostáva vo svojom zväzku:

Terminál
docker compose pull
docker compose up --force-recreate -d

Pri reštarte kontajner sám použije migrácie schémy. Verzia 3.4.0 zo 17. septembra 2026 ich priniesla dve, pre anotácie a kľúče API; verzia 3.4.1 z 23. októbra 2026 žiadnu. Po veľkej aktualizácii, napríklad pri prechode na verziu 3, dokumentácia navrhuje spustiť v PostgreSQL ANALYZE, aby prehľady znova získali svoju rýchlosť:

Terminál
docker compose exec db psql -U umami -d umami -c "ANALYZE;"

Kto čo robí na Managed VPS

Hostovanie na vlastnom serveri vyžaduje popri aplikácii starať sa aj o server. Na Managed VPS preberajú server naše tímy a vašu inštanciu proaktívne sledujú; Umami zostáva vaším softvérom, s vašimi nastaveniami a údajmi.

TémaNaše tímyVy
ServerAktualizácie systému a zabezpečenia, vrátane zásahov na serveriČas, ktorý vyhovuje vašej činnosti
DohľadServer sledovaný 24 hodín denne, 7 dní v týždni, so zásahom bez čakania na vaše zavolanieČítanie záznamov vašej inštancie
UmamiProaktívne sledovanie: chyby, spomalenia a miesto na disku, s odporúčanou opravouJeho inštalácia, aktualizácie a nastavenia, ktoré zapracujete vy alebo váš AI asistent
Weby a analytikaServer, ktorý ich nesie, sledovaný a zálohovanýÚčty, sledované weby, sledovací skript a doba uchovávania údajov
ZálohyKaždú noc, šifrované a uchovávané mimo stroja; obnova je v ceneExporty špecifické pre Umami a žiadosť o obnovu, keď ju potrebujete
MigráciaVáš súčasný server prenesený zdarmaČas prepnutia

Ak by ste uprednostnili, aby naše tímy zasiahli priamo v aplikácii, táto služba sa fakturuje hodinovo alebo paušálne, s cenovou ponukou oznámenou pred zásahom.

Umami na serveri, o ktorý sa staráme za vás

S Managed VPS od Simafri udržiavajú naše tímy server vašej inštancie Umami aktuálny, sledujú ho vo dne v noci a zasahujú bez čakania na vaše zavolanie; vašu inštanciu navyše proaktívne sledujú a odporúčajú vám užitočné opravy, ktoré zapracujete vy alebo váš AI asistent. Zálohy sa každú noc šifrujú a uchovávajú mimo stroja, ich obnova je v cene a migrácia vášho súčasného servera je zdarma.

Objaviť Managed VPS

Časté otázky

Je Umami pre firmu zadarmo?

Áno. Umami vychádza pod licenciou MIT: môžete ho vo firme používať, upravovať a ďalej šíriť bez licencie, ktorú by ste museli kupovať, pokiaľ zachováte jeho upozornenie o autorských právach. Zostáva náklad na server, na ktorom beží.

Používa Umami cookies?

Nie. FAQ projektu uvádza, že webový sledovač Umami cookies nepoužíva. Či váš web potrebuje oznámenie o cookies, závisí od ostatných služieb, ktoré na ňom používate, a od požiadaviek, ktoré sa na vás vzťahujú.

Funguje Umami s MySQL?

Od verzie 3 nie: Umami podporuje PostgreSQL, minimálne vo verzii 12.14. Inštancia vo verzii 2 na MySQL najprv presunie svoje údaje do PostgreSQL podľa migračnej príručky projektu a potom sa aktualizuje na verziu 3.

Ako nainštalovať Umami cez Docker Compose?

Vyjdite zo súboru docker-compose.yml projektu, ktorý spúšťa Umami a PostgreSQL, s náhodnými tajnými údajmi v súbore .env a portom publikovaným na 127.0.0.1. Spustite docker compose up -d a potom pred neho umiestnite reverznú proxy s HTTPS, na subdoméne.

Aké sú predvolené prihlasovacie údaje Umami?

Pri inštalácii vytvorí Umami účet admin s heslom umami. Zmeňte ho pri prvom prihlásení, v Settings a potom Profile, a keď je nastavený TWO_FACTOR_ENCRYPTION_KEY, zapnite na karte Security dvojfaktorové overenie.

Ako premenovať sledovací skript Umami?

Pri vlastnej inštancii dáva TRACKER_SCRIPT_NAME skriptu iný názov než script.js a COLLECT_API_ENDPOINT premenuje koncový bod zberu /api/send. Potom na svojich stránkach zmeňte zdroj sledovacieho kódu.

Ako zálohovať Umami?

Databázu PostgreSQL exportujte každý deň príkazom pg_dump z kontajnera databázy a súbor .env uchovávajte osobitne, pretože obsahuje APP_SECRET a kľúč dvojfaktorového overenia. Obnovujte pomocou pg_restore a obnovu pravidelne testujte.

Pokrýva Managed VPS aj Umami?

Managed VPS pokrýva server: systém, zabezpečenie, dohľad a zálohy. Naše tímy vašu inštanciu aj proaktívne sledujú a odporúčajú vám užitočné opravy, ktoré zapracujete vy. Zásah v samotnej aplikácii sa fakturuje hodinovo alebo paušálne.

Zdroje a oficiálna dokumentácia

Kontaktujte nás