Self-hosted Piqo

One container, one SQLite file, every feature of the cloud dashboard. This manual covers deploying, licensing and running it.

What you get

The self-hosted build is the same product as piqo.app, packaged as a single Docker image. Realtime visitors, sources, pages, countries, devices, custom events, goals, funnels and journeys. Revenue attribution for Stripe, Paddle, Polar, Lemon Squeezy, Dodo and Creem. Signup attribution from Firebase, Supabase and Clerk. Google Search Console and Bing data. Shareable dashboards, a read-only JSON API, an MCP server and Ask AI with your own Anthropic key.

  • No external services. Everything lives in one SQLite file. No Postgres, ClickHouse or Redis.
  • Unlimited sites per install. The license never meters sites, events or team members.
  • Your own domain serves the tracker. Ad blockers don't see a first-party script.

Requirements

  • Docker, or a platform that runs Docker images (Railway, Render, Fly, Coolify).
  • About 512 MB of RAM. 1 GB is comfortable to roughly 1M events a month; 10M a month is workable on a bigger box.
  • A public hostname with HTTPS. The license registers that hostname as your install, and the tracker is served from it.
  • A license key from piqo.app/self-hosted. One-time purchase, updates included.

How a deploy works

Every platform guide is the same four moves. The image is:

ghcr.io/mddanishyusuf/piqo-selfhost:0
  1. Run the image with a persistent volume mounted at /app/data. That's the database, backups and geo data.
  2. Set AUTH_SECRET (32+ random characters) and APP_URL (your public URL). Nothing else is required.
  3. Open the URL, create the owner account on /setup, paste the license key on /activate. Setting PIQO_LICENSE_KEY skips that screen.
  4. Add a site and put the script tag on your pages.
<script defer data-site="YOUR_SITE_KEY" src="https://analytics.example.com/piqo.js"></script>
The :0 tag follows every 0.x release automatically and never crosses a breaking major. See Updates & backups for how to move between versions.