Automated reports for Umami – via email or webhook, right from your dashboard.
UmamiSender is an open-source tool to automatically send scheduled reports from Umami Analytics via email or webhook (e.g. Slack, Discord). Perfect for hobby projects, small teams, client work, or personal dashboards.
Works with both Umami Cloud and Self-Hosted Umami.
Dashboard | Mailer | Webhook |
---|---|---|
![]() |
![]() |
![]() |
- I wanted my Umami stats without logging in every time.
- It's fun to automate stuff and learn new tech along the way.
- Maybe it’s useful for other people too – especially if you run multiple sites or share stats with a team. 🙂
- 📈 Automated reporting from Umami
- 📬 Delivery via email or webhook
- 🧰 Manage multiple Umami instances (Cloud & Self-Hosted)
- 🗓 Scheduling: daily, weekly, or monthly
- 👥 Multiple recipients per job
- 🌍 Multilingual interface (i18n-ready)
- 🖼 Built-in HTML email template & preview
After the first start, sign in with:
Username: admin
Password: sender
You will be prompted to change your password immediately (and can also change the username later).
- Docker & Docker Compose
- Optional: Node.js (for local frontend development)
For the easiest setup, download the docker-compose and nginx config directly:
mkdir -p nginx && \
curl -o docker-compose.yml https://raw.githubusercontent.com/ceviixx/umami-sender/main/docker-compose.ghcr.yml \
-o nginx/nginx.conf https://raw.githubusercontent.com/ceviixx/umami-sender/main/nginx/nginx.conf
# Start the stack
docker compose up -d
Then open:
- UI: http://localhost
- API: http://localhost/api
First, clone the repository:
git clone https://github.com/ceviixx/umami-sender.git
cd umami-sender
Then build and start the stack:
docker compose -f docker-compose.build.yml up --build -d
frontend/ # Next.js frontend (user interface)
backend/ # FastAPI REST API
worker/ # Celery worker for background jobs
nginx/ # Reverse proxy for unified access
UmamiSender supports optional audit logs (because I love logs) for API requests, workers, and the beat scheduler.
Variable | Applies to | Default | Description |
---|---|---|---|
AUDIT_API_ENABLED |
backend | true |
Enables API request logging. For the REST API this is enabled by default. |
AUDIT_WORKER_ENABLED |
worker, beat | false |
Enables worker/beat audit logging. Every run will be logged, which can quickly produce a large amount of data. Disabled by default – activate via Compose if needed. |
🗄️ Retention Policy:
• System logs are automatically deleted after 30 days.
• User audit logs are automatically deleted after 90 days.
A daily cleanup job removes entries older than the respective retention period.
-
Add an Umami instance
- Cloud: provide your Umami API key
- Self-Hosted: provide hostname + credentials (a bearer token is stored for reuse)
-
Add recipients
- Email sender(s) and/or webhooks (Slack, Discord, …)
-
Create a report job
- Choose website, frequency (daily/weekly/monthly), recipients
-
Done – UmamiSender will deliver reports on schedule.
- Use the provided Compose files to spin up the full stack.
- Most configuration is handled in the web UI (instances, senders, webhooks, jobs).
- SMTP settings and webhook URLs are entered when creating senders/webhooks.
Pull requests, suggestions, and bug reports are very welcome!
Nice starter ideas:
- 🎨 Customizable templates for emails and popular webhook platforms
- 🔔 More webhook destinations (Microsoft Teams, Mattermost, …)
- 🌐 Additional languages for the UI
MIT License – free to use in personal and commercial projects.
Note: UmamiSender is an independent open-source project and is not affiliated with Umami.