Umami hosztolása Managed VPS-en: webanalitikája a saját szerverén

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.

Simon Vasconcelos Lee Szerző: Közzétéve 2026. november 15-énOlvasási idő: 12 perc

Minden útmutató

A lényeg röviden

  1. Az MIT licenc szabadon engedi az Umami használatát, módosítását és továbbterjesztését, vállalkozásban és máshol is, feltéve, hogy megtartja a szerzői jogi megjegyzését.
  2. Telepítse Docker Compose-zal: a projekt fájlja elindítja az Umamit és a PostgreSQL-adatbázisát, amely a 3-as verzió óta az egyetlen támogatott adatbázis.
  3. Állítsa elő véletlenszerűen az 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.
  4. Adja hozzá a weboldalát, majd illessze be a követőkódját az oldalai <head> részébe: a követő nem használ sütiket.
  5. Exportálja az adatbázist naponta a pg_dump paranccsal, őrizze biztonságos helyen az .env fájlt, és frissítsen a docker compose pull paranccsal.

Mit tud az Umami

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.

Mit enged meg az MIT licenc

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.

Sütik és személyes adatok: amit a projekt mond

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ésAmit a projekt mondForrás
SütikA 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üggGYIK
Gyűjtött adatokOldalmegtekintések, hivatkozó URL-ek, böngészők, operációs rendszerek, eszköztípusok és hozzávetőleges helyadatGYIK
IP-címA 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ődikSéma és kód, 3.4.1-es verzió
MegőrzésSaját üzemeltetésben az adatok addig maradnak meg, amíg Ön nem törli őketGYIK
GDPRAz Umami az adatvédelmet szem előtt tartva készült, a megfelelés pedig attól függ, hogyan konfigurálja és használjaGYIK
Az Ön által küldött adatokEgy 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 tartoznakBevezeté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.

Telepítés Docker Compose-zal és PostgreSQL-lel

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ő:

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

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.

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

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.

HTTPS: a fordított proxy

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.

Caddyvel

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.

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

Nginxszel és Certbottal

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:

Nginx-blokk
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:

Terminál
sudo certbot --nginx

Az első bejelentkezés: az adminisztrátori fiók és a kétlépcsős hitelesítés

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.

  1. Nyissa meg a HTTPS-címét, és jelentkezzen be az admin és az umami adatokkal.
  2. Nyissa meg a Settings (Beállítások) oldalt az oldalsáv profilgombjáról, majd a Profile (Profil) részt, és kattintson a Change password (Jelszó módosítása) gombra.
  3. A Security (Biztonság) lapon kapcsolja be a kétlépcsős hitelesítést: olvassa be a QR-kódot a hitelesítő alkalmazásával, adja meg a hatjegyű kódot, majd őrizze biztonságos helyen a tíz tartalékkódot, mert csak egyszer jelennek meg.

Ő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.

Weboldal és követőkód hozzáadása

  1. A Websites (Weboldalak) részben kattintson az Add website (Weboldal hozzáadása) gombra.
  2. Adjon nevet a weboldalnak, majd adja meg a domainjét: az Umami ennek alapján szűri ki a saját oldalait a hivatkozó oldalak listájából.
  3. Nyissa meg az Edit (Szerkesztés) lehetőséget ennél a weboldalnál, és másolja ki a kódot a Tracking code (Követőkód) részből.
  4. Illessze be az oldalai <head> részébe, majd látogasson el a weboldalára: az adatok azonnal megjelennek az irányítópulton.
A követőkód, a head részben
<script defer src="https://stats.example.com/script.js" data-website-id="your-website-id"></script>

Saját szkriptnév

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.

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

Hasznos beállítások

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_TELEMETRYKikapcsolja azt a névtelen telemetriát, amelyet az Umami az alkalmazás fejlesztése érdekében a projektnek küld1
PRIVATE_MODEKikapcsol minden külső hálózati hívást, a weboldalak ikonjait is, amelyeket alapértelmezésként a DuckDuckGo szolgál ki1
DISABLE_UPDATESKikapcsolja az új verziók keresését1
IGNORE_IPKizárja az adatgyűjtésből az IP-címeket és a CIDR-tartományokat, például az irodáiétVesszővel elválasztott lista
SALT_ROTATIONBeállítja, milyen gyakran cserélődik a munkamenet-azonosítók alapjául szolgáló sóAlapértelmezésként month
REDIS_URLRedis-gyorsítótárat ad hozzá, amelyet a dokumentáció nagy forgalmú weboldalakhoz vagy több példányhoz ajánlA Redis-szervere címe
MCP_ENABLEDMegnyitja a /mcp végpontot: az MI-asszisztense csak olvasási joggal olvassa a statisztikáit, a Settings, API keys alatt létrehozott API-kulccsal1

A mentések

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:

ElemMit őrizMentendő
A PostgreSQL-adatbázisFiókok, weboldalak, csapatok, jelentések és az összes statisztikaKötelező, a pg_dump paranccsal
.envAz adatbázis jelszava, az APP_SECRET és a kétlépcsős hitelesítés kulcsaKötelező, titkosítva
compose.yamlA példánya konfigurációjaAjánlott

Az adatbázis exportálása futás közben

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:

Terminál, a compose.yaml mappájában
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.

Visszaállítás

  1. Állítsa le az Umamit, az adatbázist futni hagyva: docker compose stop umami.
  2. Állítsa vissza az exportot az adatbázisba, a meglévő objektumokat lecserélve.
  3. Indítsa újra az Umamit, majd ellenőrizze, hogy a weboldalai és a statisztikáik megvannak-e.
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

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 frissítések

A dokumentáció két parancsot ad meg, a compose.yaml mappájából. Az adatbázis a kötetében marad:

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

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

Ki mit csinál egy Managed VPS-en

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émaCsapatainkÖn
A szerverRendszer- és biztonsági frissítések, a szerveren végzett beavatkozásokkal együttA 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ülA példánya naplóinak olvasása
UmamiProaktív követés: a hibák, lassulások és a lemezterület észlelése, javítás ajánlásaA telepítése, a frissítései és a beállításai, amelyeket Ön vagy MI-asszisztense alkalmaz
A weboldalak és a statisztikákA szerver, amely hordozza őket, felügyelve és mentveA fiókok, a követett weboldalak, a követőkód és az adatok megőrzési ideje
A mentésekMinden éjjel, titkosítva és a gépen kívül őrizve; a visszaállítással együttAz Umami saját exportjai, és a visszaállítási kérés, amikor szüksége van rá
Az átköltöztetésA jelenlegi szervere átköltöztetve, ingyenesenAz á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.

Az Umami egy Ön helyett karbantartott szerveren

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.

Tovább a Managed VPS oldalára

Gyakori kérdések

Ingyenes az Umami egy vállalkozásnak?

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.

Használ sütiket az Umami?

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.

Működik az Umami MySQL-lel?

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.

Hogyan telepítsem az Umamit Docker Compose-zal?

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.

Mik az Umami alapértelmezett bejelentkezési adatai?

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.

Hogyan nevezzem át az Umami követőszkriptjét?

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.

Hogyan mentsem az Umamit?

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.

Lefedi a Managed VPS az Umamit?

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.

Források és hivatalos dokumentáció

Kapcsolódó útmutatók

PostgreSQL VPS-en: a memória és a lemez méretezéseGyors az a PostgreSQL-adatbázis, amelynek gyakran lekérdezett adatai elférnek a memóriában. Az egész méretezés innen indul: az adatbázis mérete, a ténylegesen használt része, a kapcsolatok száma, majd a lemez és a tartaléka. Ez az útmutató megadja a módszert, a kiinduló beállításokat 4, 8 és 16 GB memóriához, valamint azokat a lekérdezéseket, amelyekkel egy meglévő adatbázis mérhető.Egy VPS biztonsági mentései: mit ellenőrizzen aláírás előttA VPS-ajánlatok szinte mindig ezt ígérik: „mentés a csomagban”. E néhány szó mögött lehet minden éjjel készülő, a gépen kívül őrzött és szakértők által visszaállított másolat, de lehet egy a szerverrel azonos lemezen tárolt pillanatkép is. Ez az útmutató megadja azokat a kérdéseket, amelyek különbséget tesznek, azt, mit jelent az egyes válasz, és azt, hogyan ellenőrizheti, hogy egy mentés visszaállítható.Menedzselt és nem menedzselt VPS közötti különbség: ki mit végezA menedzselt és a nem menedzselt VPS közötti különbség egyetlen kérdésen múlik: ki gondoskodik a szerverről, miután az már fut. A „menedzselt” szónak ugyanakkor nincs hivatalos meghatározása: szolgáltatónként a rendszer egyszerű telepítésétől a szerver teljes üzemeltetéséig terjedhet a jelentése. Ez az útmutató megmutatja, ki mit végez, feladatról feladatra, a támogatás köztes szintjével együtt, és megadja azokat a kérdéseket, amelyek aláírás előtt eloszlatják a kétértelműséget.
Kapcsolatfelvétel