Talpinkite Umami Managed VPS serveryje: jūsų svetainių analitika jūsų serveryje

Umami talpinimas Managed VPS serveryje reiškia, kad jūsų svetainių analitika lieka jūsų mašinoje, kurią mūsų komandos prižiūri atnaujintą ir stebi dieną bei naktį. Umami yra laisva programinė įranga su MIT licencija, matuojanti lankomumą be slapukų. Šis gidas seka oficialią jos dokumentaciją: diegimą su Docker Compose ir PostgreSQL, HTTPS, pirmąjį prisijungimą, sekimo scenarijų, ką projektas sako apie asmens duomenis, naudingus nustatymus, atsargines kopijas ir atnaujinimus.

Simon Vasconcelos Lee Autorius: Paskelbta 2026 m. lapkričio 15 d.Skaitymo trukmė: 12 min.

Visi gidai

Svarbiausia

  1. MIT licencija leidžia laisvai naudoti, keisti ir platinti Umami, tiek įmonėje, tiek kitur, jei išlaikote jos autorių teisių pranešimą.
  2. Įdiekite ją su Docker Compose: projekto failas paleidžia Umami ir jos PostgreSQL duomenų bazę, vienintelę palaikomą nuo 3 versijos.
  3. Atsitiktinai sugeneruokite APP_SECRET ir TWO_FACTOR_ENCRYPTION_KEY, teikite Umami per HTTPS atskirame subdomene, tada iškart pakeiskite paskyros admin slaptažodį.
  4. Pridėkite savo svetainę, tada įklijuokite jos sekimo scenarijų į savo puslapių <head>: sekimo scenarijus nenaudoja slapukų.
  5. Kasdien eksportuokite duomenų bazę su pg_dump, laikykite failą .env saugioje vietoje, o atnaujinkite su docker compose pull.

Ką daro Umami

Umami yra atvirojo kodo svetainių ir produktų analitikos platforma. Jos dokumentacija aprašo įrankį, kuris sujungia lankomumą, kampanijas, lankytojų elgseną, konversijas, išlaikymą ir pajamas, nuo pirmojo apsilankymo iki jūsų verslui svarbių rezultatų. Ji parašyta TypeScript kalba su Next.js, o jos Docker atvaizdas veikia neprivilegijuota paskyra.

Vienas egzempliorius seka kelias svetaines: kiekviena gauna savo ID ir sekimo scenarijų, o jūsų kolegos orientuojasi per paskyras ir komandas.

Ką leidžia MIT licencija

Umami platinama pagal MIT licenciją, Umami Software, Inc. vardu. Ji nemokamai suteikia teisę naudoti, kopijuoti, keisti, sujungti, skelbti, platinti, sublicencijuoti ir parduoti programinės įrangos kopijas. Todėl ją galite paleisti savo verslui ir savo klientų svetainėms, nieko nepirkdami dėl licencijos.

Vienintelė jos sąlyga: autorių teisių pranešimas ir leidimo pranešimas pridedami prie visų programinės įrangos kopijų ar esminių jos dalių. Kaip ir bet kuri MIT licencija, ji programinę įrangą teikia „tokią, kokia yra“, be garantijos.

Slapukai ir asmens duomenys: ką sako projektas

Dokumentacija Umami pristato kaip analitiką be slapukų, be sekimo tarp svetainių ir be automatinio asmens duomenų rinkimo. Talpinama savo serveryje, ji laiko jūsų analitiką jūsų serveryje: jūs sprendžiate, kur ji laikoma ir kiek laiko išlieka.

KlausimasKą sako projektasŠaltinis
SlapukaiŽiniatinklio sekimo scenarijus nenaudoja slapukų; ar jūsų svetainei reikia pranešimo apie slapukus, priklauso nuo kitų jūsų naudojamų paslaugų ir taikomų reikalavimųDUK
Renkami duomenysPuslapių peržiūros, nukreipiančių šaltinių URL, naršyklės, operacinės sistemos, įrenginių tipai ir apytikrė vietaDUK
IP adresasSesijų lentelėje nėra IP adreso stulpelio; sesijos ID yra svetainės, adreso, naršyklės ir druskos, numatytai keičiamos kas mėnesį, maišaSchema ir kodas, 3.4.1 versija
Saugojimo trukmėTalpinant savo serveryje, duomenys saugomi, kol juos ištrinateDUK
BDARUmami sukurta atsižvelgiant į privatumą, o atitiktis priklauso nuo to, kaip ją konfigūruojate ir naudojateDUK
Jūsų siunčiami duomenysLankytojo ID ar įvykių savybės, kurias nusprendžiate siųsti, yra jūsų atsakomybėĮvadas

Trys sekimo scenarijaus nustatymai, jei norite, eina toliau: data-exclude-search pašalina paieškos parametrus iš įrašomų URL, data-exclude-hash pašalina maišos dalį, o data-do-not-track išjungia sekimą naršyklėms, kurios atskleidžia Do Not Track nuostatą. Dokumentacija pažymi, kad pastarasis nustatymas savaime nėra išsamus sutikimų valdymo sprendimas.

Jei prisijungusius lankytojus identifikuojate su data-distinct-id ar umami.identify(), dokumentacija rekomenduoja vidinį naudotojo ID ar maišą, o ne el. pašto adresą: reikšmę galima perskaityti puslapio HTML kode.

Diegimas su Docker Compose ir PostgreSQL

Saugykloje pateikiamas docker-compose.yml, kuris paleidžia Umami ir jos PostgreSQL duomenų bazę. Nuo 3 versijos PostgreSQL yra vienintelė palaikoma duomenų bazė, ne senesnė nei 12.14, o dokumentacija rekomenduoja nustatyti jai UTC laiko juostą. Serveryje, kuriame įdiegtas Docker, sukurkite katalogą ir pradėkite nuo jos slaptų reikšmių, atsitiktinai sugeneruotų su openssl, kaip siūlo 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

Tada šalia padėkite šį compose.yaml. Jis seka projekto failą 3.4.1 versijoje su dviem pakeitimais: slaptos reikšmės imamos iš failo .env, o prievadas skelbiamas tik adresu 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

Diegimo dokumentacija nenurodo nei atminties, nei procesoriaus dydžio. Dydis priklauso nuo sekamų svetainių lankomumo ir saugomų duomenų apimties. Naudojant Managed VPS, papasakokite mums, kaip ketinate naudotis, ir mes rekomenduosime tinkamą dydį.

HTTPS: atvirkštinis tarpinis serveris

Umami klausosi per HTTP 3000 prievadu, o dokumentacija siūlo ją teikti už jūsų žiniatinklio serverio, per atvirkštinį tarpinį serverį. Suteikite jai atskirą subdomeną, pavyzdžiui, stats.example.com, nukreiptą į serverį A ir AAAA įrašais. Umami teikimas po keliu vyksta per BASE_PATH, kintamąjį, nuskaitomą programos kūrimo metu: su paskelbtu atvaizdu subdomenas yra tiesiausias kelias.

Tarpinis serveris taip pat turi perduoti lankytojo adresą. Umami jį nuskaito iš gaunamų antraščių, įskaitant X-Real-IP ir X-Forwarded-For: juo ji atskiria lankytojus ir nustato jų šalį. Jei jūsų tarpinis serveris naudoja kitą antraštę, ją nurodo CLIENT_IP_HEADER.

Su Caddy

Caddy pati gauna Let’s Encrypt sertifikatą ir įjungia HTTPS. Jos direktyva reverse_proxy numatytai nustato X-Forwarded-For: užtenka šių trijų eilučių.

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

Su Nginx ir Certbot

Šis blokas seka Umami dokumentacijos Nginx pavyzdį ir klausosi 80 prievado, kad HTTPS įdiegtų Certbot:

Nginx blokas
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;
  }
}

Tada Certbot įdiegia sertifikatą ir pasirūpina jo atnaujinimu:

Terminal
sudo certbot --nginx

Pirmasis prisijungimas: administratoriaus paskyra ir dviejų veiksnių autentifikavimas

Kurdama savo duomenų bazę, Umami atveria administratoriaus paskyrą: naudotojo vardas admin, slaptažodis umami. Dokumentacija prašo šį slaptažodį pakeisti pirmą kartą prisijungus.

  1. Atverkite savo HTTPS adresą ir prisijunkite su admin ir umami.
  2. Šoninės juostos profilio mygtuku atverkite Settings, tada Profile, ir spustelėkite Change password.
  3. Skirtuke Security įjunkite dviejų veiksnių autentifikavimą: nuskaitykite QR kodą autentifikavimo programa, įveskite šešių skaitmenų kodą, tada saugiai išsaugokite dešimt atsarginių kodų, nes jie rodomi tik vieną kartą.

Laikykite TWO_FACTOR_ENCRYPTION_KEY kartu su atsarginėmis kopijomis: dokumentacija įspėja, kad praradus ar pakeitus šį raktą saugomos paslaptys tampa neperskaitomos, ir tada kiekvienas naudotojas turi iš naujo užsiregistruoti dviejų veiksnių autentifikavimui.

Svetainės ir jos sekimo scenarijaus pridėjimas

  1. Skiltyje Websites spustelėkite Add website.
  2. Suteikite svetainei pavadinimą, tada nurodykite jos domeną: Umami jį naudoja, kad jūsų pačių puslapius išfiltruotų iš nukreipiančių šaltinių sąrašo.
  3. Atverkite tos svetainės Edit ir nukopijuokite kodą iš skilties Tracking code.
  4. Įklijuokite jį į savo puslapių <head>, tada apsilankykite savo svetainėje: duomenys iškart pasirodo skydelyje.
Sekimo kodas, head skiltyje
<script defer src="https://stats.example.com/script.js" data-website-id="your-website-id"></script>

Savas scenarijaus pavadinimas

Kai kurie reklamų blokatoriai blokuoja viską, kas panašu į analitiką. Talpinama savo serveryje, Umami jau teikiama iš jūsų domeno, o du kintamieji eina toliau: TRACKER_SCRIPT_NAME scenarijui suteikia kitą pavadinimą nei script.js, o COLLECT_API_ENDPOINT pervadina duomenų rinkimo galinį tašką vietoj /api/send. Tada scenarijus pats kreipiasi į naują galinį tašką; jūsų puslapiuose keičiasi tik sekimo kodo šaltinis.

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

Naudingi nustatymai

Šie aplinkos kintamieji dedami į compose.yaml paslaugą umami, tada docker compose up -d sukuria konteinerį iš naujo, kad juos pritaikytų:

KintamasisKą jis daroReikšmė
DISABLE_TELEMETRYIšjungia anoniminę telemetriją, kurią Umami siunčia projektui programai tobulinti1
PRIVATE_MODEIšjungia visas išorines tinklo užklausas, įskaitant svetainių piktogramas, numatytai teikiamas iš DuckDuckGo1
DISABLE_UPDATESIšjungia naujų versijų tikrinimą1
IGNORE_IPPašalina IP adresus ir CIDR diapazonus iš duomenų rinkimo, pavyzdžiui, jūsų biurųKableliais atskirtas sąrašas
SALT_ROTATIONNustato, kaip dažnai keičiama sesijų ID druskaNumatytai month
REDIS_URLPrideda Redis podėlį, kurį dokumentacija rekomenduoja didelio lankomumo svetainėms ar keliems egzemplioriamsJūsų Redis adresas
MCP_ENABLEDAtveria galinį tašką /mcp: jūsų DI asistentas skaito jūsų analitiką tik skaitymo režimu, su API raktu, sukurtu skiltyje Settings, API keys1

Atsarginės kopijos

Viskas, ką saugo Umami, yra jos PostgreSQL duomenų bazėje: paskyros, svetainės, komandos ir analitika. Eksportuokite ją kasdien ir prieš pat kiekvieną atnaujinimą: talpinant savo serveryje, šie duomenys saugomi be laiko ribos. Šalia duomenų bazės failas .env laiko slaptas reikšmes, be kurių jos neįmanoma naudoti:

ElementasKą jis saugoAr kopijuoti
PostgreSQL duomenų bazėPaskyras, svetaines, komandas, ataskaitas ir visą analitikąPrivaloma, su pg_dump
.envDuomenų bazės slaptažodį, APP_SECRET ir dviejų veiksnių autentifikavimo raktąPrivaloma, šifruotą
compose.yamlJūsų egzemplioriaus konfigūracijąRekomenduojama

Duomenų bazės eksportas jai veikiant

pg_dump sukuria nuoseklų eksportą, kol duomenų bazė naudojama. Pasirinktinis formatas, -Fc, yra suspaustas ir atkuriamas su pg_restore:

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

Suplanuokite šią komandą serveryje bent kartą per dieną, retkarčiais išvalykite kaupiamus eksportus ir siųskite kopiją kitur. Padėti serverio diske, šie eksportai patenka ir į jo naktines atsargines kopijas.

Atkūrimas

  1. Sustabdykite Umami, palikdami veikti duomenų bazę: docker compose stop umami.
  2. Atkurkite eksportą į duomenų bazę, pakeisdami esamus objektus.
  3. Vėl paleiskite Umami, tada patikrinkite, ar jūsų svetainės ir jų analitika vietoje.
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

Retkarčiais pakartokite šį pratimą su kopija: taip įsitikinate, kad atsarginė kopija veikia.

Atnaujinimai

Dokumentacija pateikia dvi komandas, vykdomas kataloge su compose.yaml. Duomenų bazė lieka savo tome:

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

Paleistas iš naujo, konteineris pats pritaiko schemos perkėlimus. 3.4.0 versija, išleista 2026 m. rugsėjo 17 d., turėjo du perkėlimus, anotacijoms ir API raktams; 3.4.1 versija, išleista 2026 m. spalio 23 d., neturi nė vieno. Po didelio atnaujinimo, pavyzdžiui, perėjus prie 3 versijos, dokumentacija siūlo PostgreSQL paleisti ANALYZE, kad skydeliai atgautų greitį:

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

Kas ką daro Managed VPS serveryje

Talpinant savo serveryje, be programos reikia prižiūrėti ir patį serverį. Naudojant Managed VPS, mūsų komandos perima serverį ir proaktyviai stebi jūsų egzempliorių; Umami lieka jūsų programa su savo nustatymais ir duomenimis.

TemaMūsų komandosJūs
ServerisSistemos ir saugumo atnaujinimai, įskaitant įsikišimą serveryjeJūsų veiklai tinkamas momentas
StebėsenaServeris stebimas 24 val. per parą, 7 dienas per savaitę, įsikišant nelaukiant jūsų skambučioJūsų egzemplioriaus žurnalų skaitymas
UmamiProaktyvi stebėsena: klaidos, sulėtėjimai ir disko vieta pastebimi, rekomenduojamas pataisymasJos diegimas, atnaujinimai ir nustatymai, kuriuos pritaikote jūs arba jūsų DI asistentas
Svetainės ir analitikaJas laikantis serveris, stebimas ir saugomas atsarginėmis kopijomisPaskyros, sekamos svetainės, sekimo scenarijus ir duomenų saugojimo trukmė
Atsarginės kopijosKiekvieną naktį, šifruotos ir saugomos už mašinos ribų; atkūrimas įskaičiuotasUmami savi eksportai ir atkūrimo prašymas, kai jo prireikia
PerkėlimasJūsų dabartinis serveris perkeliamas nemokamaiPerjungimo momentas

Jei norite, kad mūsų komandos įsikištų į pačią programą, ši paslauga apmokestinama valandomis arba fiksuota kaina, o skaičiavimas pateikiamas prieš įsikišimą.

Umami serveryje, kurį prižiūrime už jus

Su Simafri Managed VPS mūsų komandos palaiko jūsų Umami egzemplioriaus serverį atnaujintą, stebi jį dieną ir naktį ir įsikiša nelaukdamos jūsų skambučio; jos taip pat proaktyviai stebi jūsų egzempliorių ir rekomenduoja naudingus pataisymus, kuriuos pritaikote jūs arba jūsų DI asistentas. Atsarginės kopijos kiekvieną naktį šifruojamos ir saugomos už mašinos ribų, jų atkūrimas įskaičiuotas, o jūsų dabartinio serverio perkėlimas nemokamas.

Žiūrėti Managed VPS

Dažni klausimai

Ar Umami nemokama įmonei?

Taip. Umami platinama pagal MIT licenciją: įmonėje ją galite naudoti, keisti ir platinti nieko nepirkdami dėl licencijos, jei išlaikote jos autorių teisių pranešimą. Lieka tik ją vykdančio serverio kaina.

Ar Umami naudoja slapukus?

Ne. Projekto DUK nurodo, kad Umami žiniatinklio sekimo scenarijus nenaudoja slapukų. Ar jūsų svetainei reikia pranešimo apie slapukus, priklauso nuo kitų joje naudojamų paslaugų ir taikomų reikalavimų.

Ar Umami veikia su MySQL?

Nuo 3 versijos ne: Umami palaiko PostgreSQL, ne senesnę nei 12.14. 2 versijos egzempliorius su MySQL pirmiausia perkelia savo duomenis į PostgreSQL pagal projekto perkėlimo gidą, tada atnaujinamas į 3 versiją.

Kaip įdiegti Umami su Docker Compose?

Pradėkite nuo projekto docker-compose.yml, kuris paleidžia Umami ir PostgreSQL, su atsitiktinėmis slaptomis reikšmėmis faile .env ir prievadu, paskelbtu adresu 127.0.0.1. Paleiskite docker compose up -d, tada prieš ją pastatykite HTTPS atvirkštinį tarpinį serverį, subdomene.

Kokie yra numatytieji Umami prisijungimo duomenys?

Diegimo metu Umami sukuria paskyrą admin su slaptažodžiu umami. Pakeiskite jį pirmą kartą prisijungę, skiltyje Settings, tada Profile, ir įjunkite dviejų veiksnių autentifikavimą skirtuke Security, kai nustatytas TWO_FACTOR_ENCRYPTION_KEY.

Kaip pervadinti Umami sekimo scenarijų?

Savo serveryje talpinamame egzemplioriuje TRACKER_SCRIPT_NAME scenarijui suteikia kitą pavadinimą nei script.js, o COLLECT_API_ENDPOINT pervadina duomenų rinkimo galinį tašką /api/send. Tada savo puslapiuose pakeiskite sekimo kodo šaltinį.

Kaip sukurti Umami atsarginę kopiją?

Kasdien eksportuokite PostgreSQL duomenų bazę su pg_dump iš duomenų bazės konteinerio, o failą .env laikykite atskirai, nes jame yra APP_SECRET ir dviejų veiksnių autentifikavimo raktas. Atkurkite su pg_restore ir reguliariai išbandykite atkūrimą.

Ar Managed VPS apima Umami?

Managed VPS apima serverį: sistemą, saugumą, stebėseną ir atsargines kopijas. Mūsų komandos taip pat proaktyviai stebi jūsų egzempliorių ir rekomenduoja naudingus pataisymus, kuriuos pritaikote jūs. Įsikišimas į pačią programą apmokestinamas valandomis arba fiksuota kaina.

Šaltiniai ir oficiali dokumentacija

Susisiekite su mumis