Az Umami hosztolása Managed VPS-en azt jelenti, hogy weboldalai statisztikái egy saját gépen maradnak, amelyet csapataink naprakészen tartanak, és éjjel-nappal felügyelnek. Az Umami MIT licenc alatt álló szabad szoftver, amely sütik nélkül méri a forgalmat. Ez az útmutató a hivatalos dokumentációját követi: a telepítést Docker Compose-zal és PostgreSQL-lel, a HTTPS-t, az első bejelentkezést, a követőkódot, azt, amit a projekt a személyes adatokról mond, a hasznos beállításokat, a mentéseket és a frissítéseket.
Szerző: Simon Vasconcelos Lee
Közzétéve 2026. november 15-énOlvasási idő: 12 perc
APP_SECRET és a TWO_FACTOR_ENCRYPTION_KEY értékét, szolgálja ki az Umamit HTTPS-en, saját aldomainen, majd azonnal módosítsa az admin fiók jelszavát.<head> részébe: a követő nem használ sütiket.pg_dump paranccsal, őrizze biztonságos helyen az .env fájlt, és frissítsen a docker compose pull paranccsal.Az Umami nyílt forráskódú web- és termékanalitikai platform. A dokumentációja olyan eszközt ír le, amely egy helyen gyűjti össze a forgalmat, a kampányokat, a látogatói viselkedést, a konverziókat, a megtartást és a bevételeket, az első látogatástól a vállalkozása számára fontos eredményekig. TypeScriptben, Next.js-re épülve készült, a Docker image-e pedig jogosultságok nélküli fiókkal fut.
Egy példány több weboldalt követ: mindegyik saját azonosítót és saját követőkódot kap, a kollégái pedig a fiókoknak és a csapatoknak köszönhetően igazodnak el.
Az Umami az MIT licenc alatt jelenik meg, az Umami Software, Inc. nevében. Ez ingyenesen biztosítja a szoftver használatának, másolásának, módosításának, egyesítésének, közzétételének, terjesztésének, allicencbe adásának és másolatai értékesítésének jogát. Futtathatja tehát a vállalkozásához és az ügyfelei weboldalaihoz, licenc vásárlása nélkül.
Egyetlen feltétele: a szerzői jogi megjegyzés és az engedélyről szóló megjegyzés kíséri a szoftver minden másolatát vagy lényeges részét. Mint minden MIT licenc, a szoftvert „ahogy van” állapotban, garancia nélkül adja.
A dokumentáció az Umamit sütik nélküli analitikaként mutatja be, webhelyek közötti követés és a személyes adatok automatikus gyűjtése nélkül. Saját üzemeltetésben a statisztikái a saját szerverén maradnak: Ön dönti el, hol vannak, és mennyi ideig maradnak meg.
| Kérdés | Amit a projekt mond | Forrás |
|---|---|---|
| Sütik | A webes követő nem használ sütiket; az, hogy a weboldalának kell-e sütikre vonatkozó tájékoztató, a többi használt szolgáltatástól és az alkalmazandó követelményektől függ | GYIK |
| Gyűjtött adatok | Oldalmegtekintések, hivatkozó URL-ek, böngészők, operációs rendszerek, eszköztípusok és hozzávetőleges helyadat | GYIK |
| IP-cím | A munkamenetek táblájában nincs oszlop az IP-cím számára; a munkamenet-azonosító a weboldal, a cím, a böngésző és egy olyan só hash-értéke, amely alapértelmezésként havonta cserélődik | Séma és kód, 3.4.1-es verzió |
| Megőrzés | Saját üzemeltetésben az adatok addig maradnak meg, amíg Ön nem törli őket | GYIK |
| GDPR | Az Umami az adatvédelmet szem előtt tartva készült, a megfelelés pedig attól függ, hogyan konfigurálja és használja | GYIK |
| Az Ön által küldött adatok | Egy látogatóazonosító vagy olyan eseménytulajdonságok, amelyeket Ön választ ki a küldésre, az Ön felelősségi körébe tartoznak | Bevezetés |
Ha szeretné, a követőkód három beállításával tovább mehet: a data-exclude-search eltávolítja a keresési paramétereket a rögzített URL-ekből, a data-exclude-hash eltávolítja a hash-részt, a data-do-not-track pedig kikapcsolja a követést azokban a böngészőkben, amelyek jelzik a Do Not Track beállítást. A dokumentáció megjegyzi, hogy ez utóbbi beállítás önmagában nem teljes hozzájáruláskezelési megoldás.
Ha a bejelentkezett látogatókat a data-distinct-id vagy az umami.identify() segítségével azonosítja, a dokumentáció e-mail-cím helyett belső felhasználói azonosítót vagy hash-értéket ajánl: az érték kiolvasható az oldal HTML-kódjából.
A tároló egy docker-compose.yml fájlt ad, amely elindítja az Umamit és a PostgreSQL-adatbázisát. A 3-as verzió óta a PostgreSQL az egyetlen támogatott adatbázis, legalább a 12.14-es verzióban, és a dokumentáció UTC időzónára állítását ajánlja. Egy olyan szerveren, ahol a Docker telepítve van, hozzon létre egy mappát, és kezdje a titkos kulcsaival, amelyeket a dokumentáció javaslatára az openssl segítségével véletlenszerűen állít elő:
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
Ezután helyezze mellé ezt a compose.yaml fájlt. A projekt 3.4.1-es verziójú fájlját követi, két módosítással: a titkos kulcsok az .env fájlból érkeznek, a port pedig csak a 127.0.0.1 címen van közzétéve.
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: az egyetlen kötelező változó, az adatbázis kapcsolati karakterlánca. A hexadecimális jelszó változtatás nélkül kerül bele; a speciális karaktereket tartalmazó jelszót százalékkódolással kellene írni.APP_SECRET: véletlenszerű karakterlánc, amely a hitelesítési tokeneket védi, és minden telepítésnél egyedi. A 3.4.1-es verzió kódjában a munkamenet-azonosítók kiszámításában is részt vesz: tartsa állandóan.TWO_FACTOR_ENCRYPTION_KEY: 64 hexadecimális karakter, amely a kétlépcsős hitelesítés titkait titkosítja. Nélküle senki sem kapcsolhatja be a kétlépcsős hitelesítést.admin fiókot. A /api/heartbeat végpont {"ok":true} választ ad, amint az Umami készen áll.latest címke a legutóbb közzétett kiadást követi. A projekt image-tárhelye verziócímkéket is közzétesz, például 3.4.1, hogy rögzíthesse a futtatott verziót.A telepítési dokumentáció nem ad meg memória- és processzorigényt. A méret a követett weboldalak forgalmától és a megőrzött adatok mennyiségétől függ. Egy Managed VPS esetén írja le nekünk a használatát, és mi azt a méretet javasoljuk, amely megfelel.
Az Umami HTTP-n, a 3000-es porton figyel, és a dokumentáció azt javasolja, hogy a webszervere mögött, fordított proxyn keresztül szolgálja ki. Adjon neki saját aldomaint, például stats.example.com, amely A és AAAA rekordokkal a szerverre mutat. Az Umami egy útvonal alatti kiszolgálása a BASE_PATH változón keresztül történik, amelyet az alkalmazás felépítésekor olvas be: a közzétett image-gel az aldomain a közvetlen út.
A proxynak a látogató címét is tovább kell adnia. Az Umami a kapott fejlécekből olvassa ki, köztük az X-Real-IP és az X-Forwarded-For fejlécből: ennek segítségével különbözteti meg a látogatókat, és határozza meg az országukat. Ha a proxyja más fejlécet használ, a CLIENT_IP_HEADER nevezi meg.
A Caddy magától megszerzi a Let's Encrypt-tanúsítványt és bekapcsolja a HTTPS-t. A reverse_proxy direktívája alapértelmezésként beállítja az X-Forwarded-For fejlécet: ez a három sor minden, amire szüksége van.
stats.example.com {
reverse_proxy 127.0.0.1:3000
}
Ez a blokk az Umami dokumentációjának Nginx-példáját követi, a 80-as porton figyelve, hogy a Certbot beállíthassa a HTTPS-t:
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;
}
}
A Certbot ezután telepíti a tanúsítványt, és gondoskodik a megújításáról:
sudo certbot --nginx
Az adatbázis létrehozásakor az Umami adminisztrátori fiókot nyit: a felhasználónév admin, a jelszó umami. A dokumentáció azt kéri, hogy ezt a jelszót az első bejelentkezéskor módosítsa.
admin és az umami adatokkal.Őrizze a TWO_FACTOR_ENCRYPTION_KEY kulcsot a mentései mellett: a dokumentáció figyelmeztet, hogy ennek a kulcsnak az elvesztése vagy cseréje olvashatatlanná teszi a tárolt titkokat, és ekkor minden felhasználónak újra be kell állítania a kétlépcsős hitelesítést.
<head> részébe, majd látogasson el a weboldalára: az adatok azonnal megjelennek az irányítópulton.<script defer src="https://stats.example.com/script.js" data-website-id="your-website-id"></script>
next/script komponenssel adja hozzá, ne egy egyszerű <script> címkével.data-domains az éles domainjeire korlátozza a követést, így a tesztkörnyezetei kimaradnak a statisztikákból.localStorage.setItem('umami.disabled', 1) paranccsal.Egyes reklámblokkolók mindent blokkolnak, ami analitikának tűnik. Saját üzemeltetésben az Umamit már a saját domainjéről szolgálja ki, és két változóval tovább mehet: a TRACKER_SCRIPT_NAME a script.js helyett más nevet ad a szkriptnek, a COLLECT_API_ENDPOINT pedig a /api/send helyett más nevet ad az adatgyűjtő végpontnak. A szkript ezután magától az új végpontot hívja; az oldalain csak a követőkód forrása változik.
TRACKER_SCRIPT_NAME: "stats.js"
COLLECT_API_ENDPOINT: "/api/collect"
Ezek a környezeti változók a compose.yaml fájl umami szolgáltatásába kerülnek, majd a docker compose up -d újra létrehozza a konténert, hogy érvénybe lépjenek:
| Változó | Mit csinál | Érték |
|---|---|---|
DISABLE_TELEMETRY | Kikapcsolja azt a névtelen telemetriát, amelyet az Umami az alkalmazás fejlesztése érdekében a projektnek küld | 1 |
PRIVATE_MODE | Kikapcsol minden külső hálózati hívást, a weboldalak ikonjait is, amelyeket alapértelmezésként a DuckDuckGo szolgál ki | 1 |
DISABLE_UPDATES | Kikapcsolja az új verziók keresését | 1 |
IGNORE_IP | Kizárja az adatgyűjtésből az IP-címeket és a CIDR-tartományokat, például az irodáiét | Vesszővel elválasztott lista |
SALT_ROTATION | Beállítja, milyen gyakran cserélődik a munkamenet-azonosítók alapjául szolgáló só | Alapértelmezésként month |
REDIS_URL | Redis-gyorsítótárat ad hozzá, amelyet a dokumentáció nagy forgalmú weboldalakhoz vagy több példányhoz ajánl | A Redis-szervere címe |
MCP_ENABLED | Megnyitja a /mcp végpontot: az MI-asszisztense csak olvasási joggal olvassa a statisztikáit, a Settings, API keys alatt létrehozott API-kulccsal | 1 |
Mindaz, amit az Umami megőriz, a PostgreSQL-adatbázisában él: fiókok, weboldalak, csapatok és statisztikák. Exportálja naponta és közvetlenül minden frissítés előtt: saját üzemeltetésben ezek az adatok időkorlát nélkül megmaradnak. Az adatbázis mellett az .env fájl tartalmazza azokat a titkos kulcsokat, amelyek használhatóvá teszik:
| Elem | Mit őriz | Mentendő |
|---|---|---|
| A PostgreSQL-adatbázis | Fiókok, weboldalak, csapatok, jelentések és az összes statisztika | Kötelező, a pg_dump paranccsal |
.env | Az adatbázis jelszava, az APP_SECRET és a kétlépcsős hitelesítés kulcsa | Kötelező, titkosítva |
compose.yaml | A példánya konfigurációja | Ajánlott |
A pg_dump konzisztens exportot készít, miközben az adatbázis használatban van. Az egyéni formátum, a -Fc, tömörített, és a pg_restore paranccsal állítható vissza:
docker compose exec -T db pg_dump -U umami -d umami -Fc > umami-$(date +%F).dump
Ütemezze ezt a parancsot a szerveren legalább naponta egyszer, válogassa ki az exportokat, mert felhalmozódnak, és küldjön egy másolatot máshová. A szerver lemezén tartva ezek az exportok a szerver éjszakai mentéseibe is bekerülnek.
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
Ismételje meg ezt a gyakorlatot időnként, egy másolaton: így győződhet meg róla, hogy egy mentés működik.
A dokumentáció két parancsot ad meg, a compose.yaml mappájából. Az adatbázis a kötetében marad:
docker compose pull
docker compose up --force-recreate -d
Újraindításkor a konténer maga alkalmazza a sémamigrációkat. A 2026. szeptember 17-i 3.4.0-s verzió kettőt hozott, a megjegyzésekhez és az API-kulcsokhoz; a 2026. október 23-i 3.4.1-es verzió egyet sem. Egy nagyobb frissítés után, mint a 3-as verzióra való átállás, a dokumentáció azt javasolja, hogy futtassa az ANALYZE parancsot a PostgreSQL-ben, hogy az irányítópultok visszanyerjék a sebességüket:
docker compose exec db psql -U umami -d umami -c "ANALYZE;"
postgres:15-alpine címkéjét. A PostgreSQL új főverziójára való áttéréshez export és visszaállítás, vagy a pg_upgrade szükséges.A saját üzemeltetés az alkalmazás mellett a szerver gondozását is megköveteli. Egy Managed VPS esetén csapataink átveszik a szervert, és proaktívan követik a példányát; az Umami továbbra is az Ön szoftvere marad, a beállításaival és az adataival.
| Téma | Csapataink | Ön |
|---|---|---|
| A szerver | Rendszer- és biztonsági frissítések, a szerveren végzett beavatkozásokkal együtt | A tevékenységének megfelelő időpont |
| A felügyelet | Éjjel-nappal, a hét minden napján követett szerver, beavatkozás a hívására való várakozás nélkül | A példánya naplóinak olvasása |
| Umami | Proaktív követés: a hibák, lassulások és a lemezterület észlelése, javítás ajánlása | A telepítése, a frissítései és a beállításai, amelyeket Ön vagy MI-asszisztense alkalmaz |
| A weboldalak és a statisztikák | A szerver, amely hordozza őket, felügyelve és mentve | A fiókok, a követett weboldalak, a követőkód és az adatok megőrzési ideje |
| A mentések | Minden éjjel, titkosítva és a gépen kívül őrizve; a visszaállítással együtt | Az Umami saját exportjai, és a visszaállítási kérés, amikor szüksége van rá |
| Az átköltöztetés | A jelenlegi szervere átköltöztetve, ingyenesen | Az átállás időpontja |
Ha inkább azt szeretné, hogy csapataink magában az alkalmazásban avatkozzanak be, ez a szolgáltatás óradíjban vagy átalánydíjban számlázódik, a beavatkozás előtt közölt árajánlattal.
Egy Simafri Managed VPS esetében csapataink naprakészen tartják Umami-példánya szerverét, éjjel-nappal felügyelik, és beavatkoznak anélkül, hogy a hívására várnának; proaktívan a példányát is követik, és javasolják a hasznos javításokat, amelyeket Ön vagy MI-asszisztense alkalmaz. A mentések minden éjjel titkosítva, a gépen kívül készülnek, a visszaállításuk a díj része, jelenlegi szervere átköltöztetése pedig ingyenes.
Igen. Az Umami MIT licenc alatt áll: licenc vásárlása nélkül használhatja, módosíthatja és terjesztheti tovább vállalkozásban, feltéve, hogy megtartja a szerzői jogi megjegyzését. Marad a költsége annak a szervernek, amelyen fut.
Nem. A projekt GYIK-je kimondja, hogy az Umami webes követője nem használ sütiket. Az, hogy a weboldalának kell-e sütikre vonatkozó tájékoztató, a rajta használt többi szolgáltatástól és az alkalmazandó követelményektől függ.
A 3-as verzió óta nem: az Umami a PostgreSQL-t támogatja, legalább a 12.14-es verzióban. Egy MySQL-en futó 2-es verziójú példány előbb a projekt áttérési útmutatójával viszi át az adatait PostgreSQL-re, majd frissít a 3-as verzióra.
Induljon ki a projekt docker-compose.yml fájljából, amely az Umamit és a PostgreSQL-t futtatja, egy .env fájlban tárolt véletlenszerű titkos kulcsokkal és a 127.0.0.1 címen közzétett porttal. Futtassa a docker compose up -d parancsot, majd helyezzen elé egy HTTPS-t használó fordított proxyt, egy aldomainen.
Telepítéskor az Umami egy admin fiókot hoz létre umami jelszóval. Módosítsa az első bejelentkezéskor a Settings, majd a Profile alatt, és kapcsolja be a kétlépcsős hitelesítést a Security lapon, miután a TWO_FACTOR_ENCRYPTION_KEY be van állítva.
Saját üzemeltetésű példányon a TRACKER_SCRIPT_NAME a script.js helyett más nevet ad a szkriptnek, a COLLECT_API_ENDPOINT pedig átnevezi a /api/send adatgyűjtő végpontot. Ezután módosítsa a követőkód forrását az oldalain.
Exportálja naponta a PostgreSQL-adatbázist a pg_dump paranccsal, az adatbázis konténeréből, és őrizze külön az .env fájlt, mert az tartalmazza az APP_SECRET értékét és a kétlépcsős hitelesítés kulcsát. A visszaállítás a pg_restore paranccsal történik; rendszeresen próbálja ki.
A Managed VPS a szervert fedi le: a rendszert, a biztonságot, a felügyeletet és a mentéseket. Csapataink proaktívan a példányát is követik, és javasolják a hasznos javításokat, amelyeket Ön alkalmaz. Az alkalmazásban végzett beavatkozás óradíjban vagy átalánydíjban számlázódik.
Simafri
Beszéljünk a weboldaláról
Meséljen néhány szóban a projektjéről: hamarosan jelentkezünk.
Köszönjük! Kérését elküldtük. Hamarosan válaszolunk.
Inkább e-mailben? Írjon nekünk ide: support@simafri.com.