https://github.com/ceviixx/umamisender
Automated reports for Umami Analytics – via email or webhook. Supports Cloud & Self-Hosted. Built with FastAPI, Next.js & Docker.
https://github.com/ceviixx/umamisender
analytics automation celery dashboard discord docker email fastapi nextjs open-source reporting self-hosted slack tools umami webhook
Last synced: 3 months ago
JSON representation
Automated reports for Umami Analytics – via email or webhook. Supports Cloud & Self-Hosted. Built with FastAPI, Next.js & Docker.
- Host: GitHub
- URL: https://github.com/ceviixx/umamisender
- Owner: ceviixx
- Created: 2025-07-19T12:25:38.000Z (3 months ago)
- Default Branch: main
- Last Pushed: 2025-07-20T09:52:30.000Z (3 months ago)
- Last Synced: 2025-07-20T11:31:51.025Z (3 months ago)
- Topics: analytics, automation, celery, dashboard, discord, docker, email, fastapi, nextjs, open-source, reporting, self-hosted, slack, tools, umami, webhook
- Language: TypeScript
- Homepage:
- Size: 543 KB
- Stars: 0
- Watchers: 0
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
![]()
UmamiSender
Automated reports for Umami – via email or webhook, right from your dashboard.---
## ✨ What is UmamiSender?
**UmamiSender** is an open-source tool to automatically send scheduled reports from [Umami Analytics](https://umami.is) via email or webhook (e.g. Slack, Discord).
Perfect for teams, client projects, or personal dashboards.> Works with both **Umami Cloud** and **Self-Hosted Umami**.
---
## 🧩 Features
- 📈 Automated reporting from Umami
- 📬 Delivery via email or webhook
- 🌐 Supports multiple Umami instances
- 🔗 Webhook integrations (Slack, Discord, etc.)
- 🗓 Scheduling: daily, weekly, or monthly
- 🌍 Multilingual interface (i18n-ready)---
## 🖼 Screenshots
| Dashboard | Mailer | Webhook |
|----------|---------------|------------------------|
|  |  |  |---
## ⚙️ System Architecture
```txt
frontend/ # Next.js frontend (user interface)
backend/ # FastAPI REST API
worker/ # Celery worker for background jobs
nginx/ # Reverse proxy for unified access
```---
## 🚀 Getting Started
### Requirements
- [Docker](https://www.docker.com/) & [Docker Compose](https://docs.docker.com/compose/)
- Optional: Node.js (for local frontend development)### Start the app
```bash
docker-compose up --build
```### Available at:
- UI: http://localhost
- API: http://localhost/api---
## 🔁 API Routing
Thanks to the built-in NGINX reverse proxy, everything runs on port 80:
| Path | Destination |
|-----------|----------------------|
| `/` | Web UI (Next.js) |
| `/api/*` | Backend API (FastAPI)|👉 In the frontend, make sure to prefix API calls with `/api`:
```ts
// Example API call
const res = await fetch('/api/umami');
```---
## 🔐 Security
UmamiSender currently **does not include authentication**. All functionality is accessible without login.
### 🔒 Recommendation:
- Use it in **local/private networks** (e.g. home server, Raspberry Pi)
- If exposed publicly: secure via reverse proxy auth (NGINX), VPN, or firewall---
## 🤝 Contributing
Pull requests, suggestions, and bug reports are very welcome!
### Potential improvements for contributors:
- 🧩 Customizing templates for emails and webhook platforms (e.g. Discord, Microsoft Teams)
- 🔑 Add authentication (e.g. JWT or BasicAuth)
- 📊 Report history & dashboard stats---
## 💬 Community
Got questions or feedback?
Join the community on Discord: