-
-
Notifications
You must be signed in to change notification settings - Fork 58
Home
Take full control of your MediaMTX server – a modern, web‑based dashboard with live monitoring, configuration tools, and an integrated Prometheus+Grafana stack.

- ✨ Features
- ⚙️ Tech Stack
- 🚀 Getting Started
- 🔧 Configuration
- 🖥️ Usage
- 📡 API Reference
- 📊 Monitoring Stack
- 🤝 Contributing
- 📄 License
- 💬 Support
| Feature | Description |
|---|---|
| 🟢 Real‑time stream monitoring | View active streams, bitrates, and client connections. |
| 🧩 Centralized management | Control paths, users, and global config from one UI. |
| 📈 Built‑in observability | Pre‑configured Prometheus + Grafana dashboards. |
| 🧱 Extensible architecture | Built on Next.js + TypeScript – easy to hack. |
| 🐳 Multiple deployments | Run with pnpm, Docker, or Docker Compose. |
Tip
The dashboard works with MediaMTX v1.0.0+ (formerly rtsp‑simple‑server).
- TypeScript (79%) – type‑safe core logic
- Next.js – React framework (SSR/SSG)
- pnpm – fast, disk‑efficient monorepo manager
- Docker – development & production containers
- PostCSS – advanced CSS processing
- Node.js (LTS recommended)
- pnpm (
npm install -g pnpm) - Docker (optional, for containerized workflows)
git clone https://github.com/PsymoNiko/mediamtx-dashboard.git
cd mediamtx-dashboard
pnpm installRunning locally (dev)
pnpm devRunning with Docker Compose (local)
- Create .env.local:
NEXT_PUBLIC_MEDIAMTX_API_URL=http://localhost:9997
NEXT_PUBLIC_MEDIAMTX_HLS_URL=http://localhost:8888
MTX_WEBRTCADDITIONALHOSTS="localhost"- Start MediaMTX publisher:
docker-compose up publisher -d- Build & run the dashboard:
pnpm run build
pnpm run devProduction deployment
docker-compose -f docker-compose.prod.yml up --buildAlternative Dockerfiles: Dockerfile, Dockerfile.dev, Dockerfile.simple, Dockerfile.debian.
Using the Makefile
make🔧 Configuration
Environment variables (.env.local):
Variable Description Default NEXT_PUBLIC_MEDIAMTX_API_URL MediaMTX API endpoint http://localhost:9997 NEXT_PUBLIC_MEDIAMTX_HLS_URL HLS playback URL http://localhost:8888 MTX_WEBRTCADDITIONALHOSTS Additional WebRTC hosts localhost
For deeper tuning, check DOCKER.md and MONITORING.md in the repo.
🖥️ Usage
Open your browser at http://localhost:3000 (by default). The dashboard offers:
· Streams Overview – all active/configured paths with live stats (bitrate, clients, protocol). · Configuration Editor – modify global settings, paths, and user access. · Grafana Integration – one‑click access to detailed metrics (port 3001).
[!NOTE] The dashboard communicates with MediaMTX via its REST API (port 9997). Make sure the API is enabled in your MediaMTX configuration.
📡 API Reference
The dashboard uses the MediaMTX REST API (OpenAPI 3.0). Key endpoints:
Method Endpoint Description GET /v3/paths/list List all paths and their statuses GET /v3/paths/{name} Get details of a specific path POST /v3/config/global/set Update global configuration POST /v3/config/paths/add Add a new path configuration
For full API specs, refer to the official MediaMTX documentation.
📊 Monitoring Stack
The project ships with a full observability suite using:
· Prometheus – metrics collector (http://localhost:9090) · Grafana – dashboards (http://localhost:3001, default admin/admin) · Node Exporter – system metrics · cAdvisor – container resource usage
Pre‑built dashboards for MediaMTX metrics and system health are included. See MONITORING.md for setup details.
https://via.placeholder.com/800x400?text=Grafana+Preview (Add your own screenshot if available)
🤝 Contributing
We welcome contributions! The project currently has 3 contributors.
- Fork the repository.
- Create a feature branch: git checkout -b feature/amazing-feature
- Commit your changes: git commit -m 'Add some amazing feature'
- Push: git push origin feature/amazing-feature
- Open a Pull Request.
[!IMPORTANT] Please follow the existing code style and include tests where applicable.
📄 License
As of the latest commit, no explicit license is provided. Contact the repository owner Ali Mohammadnia for permissions.
💬 Support
· 🐛 Issues & bugs: GitHub Issues · 🌐 Project page: psymoniko.github.io/mediamtx-dashboard · 💰 Sponsor: Open Collective
Made with ❤️ by the MediaMTX Dashboard community
Not officially affiliated with the MediaMTX project.