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:
| Tool | License | Self-Hosted | Notes |
|---|---|---|---|
| Umami ✓ | MIT | Yes | Most active community, 35k+ stars |
| Plausible | AGPL | Yes | EU-focused, great UI |
| GoatCounter | EUPL | Yes | Free hosted tier, minimal |
| Fathom | Proprietary | No | Not 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:
- Create new Service → search “Umami”
- Set domain to
analytics.publicker.dev - 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.