All templates
Web analytics, self-hosted

Web analytics you own, on EU servers

See which pages people read, where they came from and what they use, without cookies and without handing your visitors' data to a US cloud. One click gives you your own Umami and its own Postgres, running in EU data centres.

One click creates the app and connects what it needs

  • A managed Postgres, bound as DATABASE_URL (Starter, €4.95/month)

The first deploy waits until it is ready, so the app starts connected. You can untick it before creating the app.

Deploy Umami You will sign in first. We keep your pick.

From €8.44 a month for the app and its database, not per page view. Start on free credit, no card needed.

velixir.net's own analytics run on this template.

0
cookies on your visitors
EU
data centres in Germany and Finland
€8.44
a month, app and database
2 KB
script, loaded after the page

Why teams move their analytics to their own Umami

No cookie banner for your analytics

Umami sets no cookies and stores nothing on your visitors' devices, so it adds nothing to your consent banner. And because nobody has to click Accept first, your numbers include everyone, not just the visitors who agreed.

Your data stays in the EU

Page views are collected, processed and stored on servers in EU data centres, run by Hetzner, a German hosting company. No US cloud provider sits between your visitors and your numbers.

The database is yours

Every page view lands in a managed Postgres that belongs to you, with backups kept for seven days. Query it with SQL, export it, or take it with you: Umami is open source under the MIT licence, so nothing ties you to us.

A flat price, not per page view

€8.44 a month covers the app and the database, billed by the hour, however many sites you add. A post that takes off doesn't raise your bill, and if you ever outgrow the plan, you choose when to move up.

Light on your pages

The tracking script is about 2 KB and loads after the page, so it never gets in the way of what your visitors came for.

Everything you actually check

Page views, visitors, referrers, UTM campaigns, countries, devices and browsers, live. Custom events, funnels and goals when you need more, and share links for a read-only dashboard.

Where a page view goes

  1. 01 Your visitor's browser sends the page view to your Umami, on EU servers.
  2. 02 Umami writes it to your own Postgres, in the same EU region.
  3. 03 The database is backed up to object storage in the EU.

That's the whole trip. It never passes through a US provider, and it never leaves your database for anyone else's.

Live in three steps

01

Deploy

velixir creates the app and a managed Postgres, connects them, and waits for the database before the first start, so Umami boots connected. The build takes about three minutes.

02

Sign in

The first start sets up the database and prints a one-time admin password to your app's logs. The default login never works on your public URL.

03

Add your site

Add your site in Umami and paste its one-line script into your pages. Visits show up within seconds.

How it compares

Umami on velixir Google Analytics Hosted privacy analytics
Cookies on your visitors None Yes, so EU visitors must consent Usually none
Where page views are stored Your own Postgres, in the EU Google's data centres The vendor's servers
Who holds the raw data You, with full SQL access Google The vendor
How the price works €8.44 a month, flat Free, on Google's terms Monthly tiers by page views
If you leave Take the database with you Export what its tools allow Depends on the vendor

Umami hosting FAQ

Do I still need a cookie banner?

Not for Umami. It sets no cookies, stores nothing on your visitors' devices and doesn't keep IP addresses. If other tools on your site set cookies, those still need consent.

Where is my data, exactly?

In your own managed Postgres in velixir's EU Central region, on servers in EU data centres run by Hetzner, with backups in EU object storage. Turn on external access for the database and you can query it from any Postgres client.

Is velixir an EU company?

No. velixir Ltd is registered in England and Wales. Your analytics are stored and processed in EU data centres, and our data processing agreement, at velixir.net/legal/dpa, covers how we handle them.

What does it cost?

€3.49 a month for the app on the Hobby plan and €4.95 for its Starter Postgres, €8.44 in all, billed by the hour from your balance. New accounts get €3.49 of credit with no card, and €14.99 when you add one, which covers the first month.

How much traffic can it take?

The Hobby plan suits most sites: in our tests Umami handled a sustained 85 requests a second in 512 MB of memory. For a busy site, or a dashboard many people use at once, move the app to a bigger plan. Your data stays where it is.

Can I serve it from my own domain?

Yes. Add a domain such as stats.yoursite.com to the app and load the script from there. A first-party address is less likely to be caught by ad blockers. On velixir.run addresses Cloudflare only answers DNS lookups and never sees page views; on your own domain, your DNS provider does that job instead.

Is Umami really open source?

Yes, under the MIT licence. The template is a public repository too, and the database is standard Postgres, so you can move your Umami and its data anywhere.

How do I upgrade Umami?

The template pins Umami's version in one line of package.json. Clone the template repository, change the version and run velixir deploy. The first start on the new version applies Umami's database migrations.

How is this different from Plausible or Fathom?

They are good hosted products, priced in tiers by monthly page views. Here you run your own Umami: a flat price, the raw data in your own Postgres, and no vendor between you and your numbers.

Own your analytics by this afternoon

One click, about three minutes to build, €8.44 a month. Your analytics, your database, EU servers.

Deploy Umami

You will sign in first. We keep your pick.

The source

This template is an ordinary public repository. Read it, fork it, or open a pull request against it. Deploying pulls its default branch and builds it the same way velixir builds your own code.

velixirnet/template-umami

Once it is live

The template is just a starting point. Clone it, edit it, then ship over the top with the CLI:

velixir deploy

Or add the GitHub Actions workflow from the app's Deploys tab to your repo, and every push to your deploy branch ships a release. Both run the same pipeline this template just went through.