Blog

Open Analytics with Umami

I added analytics to this site. The dashboard is public - anyone can see the same stats I see.

View the live public dashboard

Why Open Analytics?

Most analytics are private by default. You track visitors, analyze behavior, and keep it all behind a login. But for a personal site like this, why hide it?

Open analytics align with the philosophy behind this blog - transparency and accessibility. If I’m writing in public, why not share the numbers too?

Plus, now my 3 friends who read this out of a sense of duty can finally see the impact of their loyalty

Choosing Umami

I looked at several open source options. All privacy-focused, all with public dashboard support:

ToolLicenseSelf-HostedNotes
Umami ✓MITYesMost active community, 35k+ stars
PlausibleAGPLYesEU-focused, great UI
GoatCounterEUPLYesFree hosted tier, minimal
FathomProprietaryNoNot open source

I went with Umami. The MIT license means no restrictions, the community is active, and the UI is clean - matches the site’s aesthetic. Most importantly: no cookies, no consent banners, GDPR compliant out of the box.

Deploying on Coolify

I self-host on Coolify, which has Umami as a one-click service. The setup took about 5 minutes:

  1. Create new Service → search “Umami”
  2. Set domain to analytics.publicker.dev
  3. Deploy

Coolify handles the PostgreSQL database, SSL certificates, and networking automatically. First login is admin / umami - change it immediately.

Adding the Tracking Script

After creating a website in Umami’s dashboard, I got a tracking script. Added it to my Astro layout’s <head>:

<script
  defer
  src="https://analytics.publicker.dev/script.js"
  data-website-id="your-website-id"
></script>

No npm packages, no build configuration. Just a script tag.

Making It Public

In Umami’s settings, there’s a “Share URL” toggle for each website. Enable it, copy the link, done. Now anyone can see pageviews, referrers, browsers, countries - everything I see, without logging in.

What Gets Tracked

Umami is privacy-focused by design. No cookies, no IP addresses stored, no fingerprinting. Just aggregate metrics: pageviews, referrers, device types, countries. Useful data without the surveillance baggage.

The script is ~2KB. It won’t slow down the site.

The Setup

This whole thing - researching options, deploying Umami, adding the script to the site - was a single conversation with an AI agent. Asked what open source analytics support public dashboards, got a comparison, picked Umami, deployed it on Coolify, added the tracking code. Done.


Self-hosted, open source analytics with a public dashboard. Done in a few minutes with the help of AI. Total cost: whatever I’m already paying for the server.


Back to all posts