Umami

Deploy Umami analytics avoiding data loss, tracking failures, and integration issues.

MIT-0 · Free to use, modify, and redistribute. No attribution required.
2 · 825 · 1 current installs · 1 all-time installs
byIván@ivangdavila
MIT-0
Security Scan
VirusTotalVirusTotal
Benign
View report →
OpenClawOpenClaw
Benign
high confidence
Purpose & Capability
Name/description (deploy Umami analytics) match the SKILL.md content: database requirements, HASH_SALT warning, SPA integration, and backup advice. The skill does not request unrelated binaries, env vars, or config paths.
Instruction Scope
SKILL.md contains deployment and troubleshooting guidance only. It does not instruct the agent to read arbitrary files, access unrelated environment variables, transmit data to external endpoints, or perform actions outside Umami hosting and integration concerns.
Install Mechanism
No install spec and no code files are present (instruction-only). Nothing will be written to disk or downloaded by the skill itself, which minimizes install-time risk.
Credentials
The skill declares no required environment variables or credentials. The instructions reference sensible production items (HASH_SALT, DB choice) that are proportional to deploying Umami.
Persistence & Privilege
The skill does not request persistent presence (always:false) or modify other skills/configs. It is user-invocable and may be invoked autonomously by the agent (platform default), which is appropriate for an instruction-only helper.
Assessment
This skill is essentially a how-to guide for deploying and troubleshooting Umami and appears internally consistent. However, note that the skill has no listed source/homepage—if you plan to act on its guidance, cross-check these instructions against official Umami docs or trusted sources (official repo, Docker image, or vendor documentation). Protect your HASH_SALT and database credentials in your usual secret store; the SKILL.md reminds you that changing HASH_SALT will invalidate data. Because the skill is instruction-only, it won't install code, but be cautious if you copy commands from elsewhere—prefer official images/releases and test in staging before production.

Like a lobster shell, security has layers — review code before you run it.

Current versionv1.0.0
Download zip
latestvk9702c4gzchf0mh8t885q21pqd80wh46

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Runtime requirements

📊 Clawdis
OSLinux · macOS · Windows

SKILL.md

Critical Configuration

  • HASH_SALT must never change — changing it invalidates all existing data, essentially a reset
  • SQLite is not supported — despite being Node.js, Umami requires PostgreSQL or MySQL
  • Database contains everything — all tracking data, config, users; backup only this

Tracking Script Traps

  • data-website-id must match Umami config exactly — wrong ID = zero data, no error shown
  • Script blocked by ad blockers — self-host on same domain as site to avoid blocking
  • Single Page Apps don't auto-track navigation — must call umami.track() on route changes
  • Script in <head> not <body> — late loading misses initial pageview

SPA Integration

  • React: call umami.track('pageview') in router effect or navigation handler
  • Next.js: use @umami/next package — handles app router and pages router
  • Vue/Nuxt: router afterEach hook with umami.track()
  • Check window.umami exists before calling — script may load after component mounts

Custom Events

  • Event names appear verbatim in dashboard — use consistent naming scheme
  • Properties only searchable via API — not visible in default dashboard
  • umami.track('event', { key: 'value' }) for properties

Self-Hosting Considerations

  • Low resources needed — 256MB RAM handles most sites
  • PostgreSQL needs more resources than Umami itself — plan accordingly
  • Reverse proxy required for HTTPS — Umami runs HTTP on port 3000
  • Backup strategy = database backup — no filesystem state to worry about

Multi-Site Setup

  • One Umami instance handles many sites — add in Dashboard > Settings > Websites
  • Each site needs unique tracking script — get from Websites settings
  • Share button available per site — generates public dashboard URL

Troubleshooting

  • Zero pageviews — check browser Network tab, verify script loads without error
  • Script 404 — verify CORS headers if cross-domain, or self-host on same domain
  • Events not appearing — check browser console for umami errors
  • Dashboard slow — check database performance, PostgreSQL query times

Common Mistakes

  • Using same website ID for dev and prod — pollutes analytics with test data
  • Not testing script after deploy — CDN caching or minification can break it
  • Expecting real-time updates — dashboard has slight delay, not instant

Files

1 total
Select a file
Select a file to preview.

Comments

Loading comments…