Self-Host Dewiride Analytics on Ubuntu Server
Run Dewiride Analytics, an open-source web analytics engine that tells real visitors apart from bots, on your own Ubuntu Server. Six parts cover Docker Compose, closing the ports Docker opens behind your firewall, a custom domain with free HTTPS through Caddy, tracking your first website, reading the dashboard, and backups that are proven to restore.
Start with Part 1Run the Stack with Docker Compose
Step-by-step guide to running the self-hosted Dewiride Analytics stack on Ubuntu Server with Docker Compose. Turn on the firewall, clone the repository, generate the two passwords, start four containers, and confirm every one of them reports healthy.
Close the Ports Docker Opened Behind Your Firewall
Docker publishes container ports straight past UFW, so a database you thought was firewalled is answering the internet. See the port scan that proves it, understand the iptables chain order that causes it, and fix it properly with a Compose override file.
Custom Domain and Free HTTPS with Caddy
Give your self-hosted analytics dashboard a real domain and a free Let's Encrypt certificate using Caddy. One DNS record, six lines of configuration, automatic renewal, and the forwarded-header setting that decides whether you measure your visitors or your own proxy.
Claim the Install and Add Your First Website
Claim your self-hosted analytics installation with the one-time owner screen, add your first website, and get the tracking code onto a real site — including a Docusaurus example, the no-JavaScript fallback, and why the tracker is silently ignored on localhost.
Read the Dashboard — Humans, Bots and Engagement
Read every panel of a self-hosted Dewiride Analytics dashboard — page views, locations, devices, engagement, journeys and the classification that separates people from crawlers, with the written evidence behind each verdict.
Backups, Updates and Day-2 Operations
Back up PostgreSQL and ClickHouse properly with two different methods, prove the backups actually restore, automate them with a systemd timer, update the stack without losing data, and remove the whole thing cleanly when you are done.