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.
Autor: Simon Vasconcelos Lee
Publikované 15. novembra 2026Čas čítania: 12 minút
APP_SECRET a TWO_FACTOR_ENCRYPTION_KEY, obsluhujte Umami cez HTTPS na vlastnej subdoméne a hneď zmeňte heslo účtu admin.<head> svojich stránok: sledovač cookies nepoužíva.pg_dump, súbor .env uchovávajte na bezpečnom mieste a aktualizujte príkazom docker compose pull.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.
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.
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 projekt | Zdroj |
|---|---|---|
| Cookies | Webový 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é údaje | Zobrazenia stránok, adresy odkazujúcich stránok, prehliadače, operačné systémy, typy zariadení a približná poloha | FAQ |
| IP adresa | Tabuľ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ý mesiac | Schéma a kód, verzia 3.4.1 |
| Uchovávanie | Pri vlastnej prevádzke sa údaje uchovávajú, kým ich neodstránite | FAQ |
| GDPR | Umami je navrhnutý s ohľadom na súkromie a súlad závisí od toho, ako ho nastavíte a používate | FAQ |
| Údaje, ktoré posielate | Za 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.
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:
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.
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: jediná povinná premenná, reťazec pripojenia k databáze. Hexadecimálne heslo sa vkladá tak, ako je; heslo so špeciálnymi znakmi by si vyžadovalo percentuálne kódovanie.APP_SECRET: náhodný reťazec, ktorý zabezpečuje overovacie tokeny, jedinečný pre každú inštaláciu. V kóde verzie 3.4.1 vstupuje aj do výpočtu ID relácií: udržujte ho nemenný.TWO_FACTOR_ENCRYPTION_KEY: 64 hexadecimálnych znakov, ktoré šifrujú tajné údaje dvojfaktorového overenia. Bez neho si dvojfaktorové overenie nemôže zapnúť nikto.admin. Sonda /api/heartbeat odpovie {"ok":true}, keď je Umami pripravený.latest sleduje posledné zverejnené vydanie. Register projektu zverejňuje aj značky verzií, napríklad 3.4.1, na pripnutie tej, ktorú prevádzkujete.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ť.
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.
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.
stats.example.com {
reverse_proxy 127.0.0.1:3000
}
Tento blok preberá príklad Nginx z dokumentácie Umami, s počúvaním na porte 80, aby HTTPS mohol zapnúť Certbot:
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:
sudo certbot --nginx
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í.
admin a umami.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.
<head> svojich stránok a potom navštívte svoj web: údaje sa v prehľade objavia okamžite.<script defer src="https://stats.example.com/script.js" data-website-id="your-website-id"></script>
next/script namiesto obyčajnej značky <script>.data-domains obmedzuje sledovanie na vaše produkčné domény, čím vaše testovacie prostredia zostanú mimo štatistík.localStorage.setItem('umami.disabled', 1).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.
TRACKER_SCRIPT_NAME: "stats.js"
COLLECT_API_ENDPOINT: "/api/collect"
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_TELEMETRY | Vypína anonymnú telemetriu, ktorú Umami posiela projektu na zlepšovanie aplikácie | 1 |
PRIVATE_MODE | Vypína všetky externé sieťové volania, vrátane ikon webov, predvolene obsluhovaných z DuckDuckGo | 1 |
DISABLE_UPDATES | Vypína kontrolu nových verzií | 1 |
IGNORE_IP | Vylučuje zo zberu údajov IP adresy a rozsahy CIDR, napríklad adresy vašich kancelárií | Zoznam oddelený čiarkami |
SALT_ROTATION | Nastavuje, ako často sa mení soľ, z ktorej vychádzajú ID relácií | Predvolene month |
REDIS_URL | Pridá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_ENABLED | Otvára koncový bod /mcp: váš AI asistent číta vašu analytiku len na čítanie, s kľúčom API vytvoreným v Settings, API keys | 1 |
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áva | Zálohovať |
|---|---|---|
| Databáza PostgreSQL | Účty, weby, tímy, prehľady a celá analytika | Povinne, pomocou pg_dump |
.env | Heslo databázy, APP_SECRET a kľúč dvojfaktorového overenia | Povinne, šifrovane |
compose.yaml | Konfigurácia vašej inštancie | Odporúčané |
pg_dump vytvorí konzistentný export, aj keď sa databáza používa. Vlastný formát, -Fc, je komprimovaný a obnovuje sa pomocou pg_restore:
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.
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
Toto cvičenie z času na čas zopakujte na kópii: takto overíte, že záloha funguje.
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:
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ť:
docker compose exec db psql -U umami -d umami -c "ANALYZE;"
postgres:15-alpine zo súboru. Prechod na novú hlavnú verziu PostgreSQL vyžaduje export a obnovu, alebo pg_upgrade.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éma | Naše tímy | Vy |
|---|---|---|
| Server | Aktualizácie systému a zabezpečenia, vrátane zásahov na serveri | Čas, ktorý vyhovuje vašej činnosti |
| Dohľad | Server 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 |
| Umami | Proaktívne sledovanie: chyby, spomalenia a miesto na disku, s odporúčanou opravou | Jeho inštalácia, aktualizácie a nastavenia, ktoré zapracujete vy alebo váš AI asistent |
| Weby a analytika | Server, ktorý ich nesie, sledovaný a zálohovaný | Účty, sledované weby, sledovací skript a doba uchovávania údajov |
| Zálohy | Každú noc, šifrované a uchovávané mimo stroja; obnova je v cene | Exporty špecifické pre Umami a žiadosť o obnovu, keď ju potrebujete |
| Migrácia | Váš 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.
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.
Á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ží.
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ú.
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.
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.
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.
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.
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.
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.
Simafri
Porozprávajme sa o vašom zámere
Povedzte nám v pár slovách, čo potrebujete: rýchlo sa vám ozveme.
Ďakujeme! Vaša žiadosť bola odoslaná. Čoskoro sa vám ozveme.
Máte radšej e-mail? Napíšte nám na support@simafri.com.