Umami Stats - own your trackings
Umami is a privacy-focused, open-source web analytics platform designed as a lightweight, cookie-free alternative to Google Analytics. It tracks essential website metrics—such as page views, visitor locations, and device types—in real-time without collecting personally identifiable information, making it fully GDPR compliant.
Key Features of Umami Tracking
Privacy-First: Does not use cookies or track users across websites, eliminating the need for annoying cookie banners. Lightweight & Fast: Uses a small script that does not slow down websites. Comprehensive Metrics: Tracks page views, unique visitors, bounce rates, visit duration, browsers, operating systems, and device types. Real-Time Data: Offers a live dashboard showing current visitor activity. Custom Event Tracking: Allows tracking of specific user interactions like button clicks. Self-Hosted or Cloud: Can be self-hosted via Docker or used as a managed cloud service.
Umami is designed to be simple, providing a clear, user-friendly interface for website owners who want to understand their traffic without the complexity or privacy concerns of traditional analytics tool.
Self-hosting Umami via Docker offers a lightweight, private, and cost-effective analytics solution with easy deployment, but has potential drawbacks regarding scalability for very high traffic and limited advanced features compared to alternatives.
Pros of Umami Self-Hosted via Docker
-
Easy Deployment: Umami provides official Docker images and a simple Docker Compose setup, making installation and consistent deployment straightforward, even for beginners in self-hosting.
-
Data Ownership and Privacy: You retain full control and ownership of all your data, which stays on your server. Umami is privacy-focused, cookie-free by default, and helps with GDPR compliance without requiring intrusive consent banners.
-
Lightweight and Fast: The application has low resource requirements (around 500 MB of RAM with a PostgreSQL database) and a tiny tracking script (~2KB), ensuring minimal impact on both your server's load and your website's page load times.
-
Cost-Effective: The software is free and open-source. Your only costs are associated with the server resources, which are generally much lower and more predictable than many SaaS analytics platforms.
-
Ad-Blocker Evasion: The self-hosted nature and ability to rename the tracking script and API endpoint can help evade some ad blockers, leading to more complete and accurate stats.
-
Clean and Simple UI: The dashboard is known for its clean, simple, and intuitive interface that focuses on essential metrics, making it easy to use for anyone.
Cons of Umami Self-Hosted via Docker
-
Limited Features: Umami focuses on core analytics and lacks some advanced features found in other tools (e.g., no built-in session replay, heatmaps, or A/B testing).
-
Scalability Challenges: While it handles typical small to medium website traffic well, very high-traffic sites might require specific server tweaks and careful setup to perform optimally.
-
Manual Maintenance and Updates: You are responsible for maintenance, updates, and troubleshooting your Docker instance. There is no official enterprise support, so you rely primarily on the GitHub community and forums for help.
-
Potential Performance Overhead: While generally efficient, running an analytics container will add some load to your server, which could be an issue on very low-end machines.
-
Cloud Version Has More Features: The official cloud version of Umami appears to have more advanced features and a slightly better interface than the self-hosted version, creating a feature gap between the two offering
My configuration runs inside a docker container with postgresql server outside
docker-compose.yml:
services:
umami:
image: ghcr.io/umami-software/umami:postgresql-latest
ports:
- "3054:3000"
environment:
DATABASE_URL: postgresql://user:password@192.168.1.7:5432/umami
APP_SECRET: redacted
restart: always
~/umami$ docker compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
umami-umami-1 ghcr.io/umami-software/umami:postgresql-latest "docker-entrypoint.s…" umami 4 days ago Up 4 days 0.0.0.0:3054->3000/tcp, [::]:3054->3000/tcp