A modern web interface for the MediaMTX media server.
MediaMTX Dashboard is a powerful, user-friendly web interface designed to simplify the management and monitoring of your MediaMTX streaming infrastructure. It provides an intuitive UI, real-time updates, and modular components for extensibility.
โจ Features
- ๐ฅ๏ธ Intuitive Dashboard: Get a clear overview of your streaming server's status and health.
- ๐ก Stream Management: Easily add, configure, and monitor RTSP, RTMP, HLS, and WebRTC streams.
- ๐ Real-time Metrics: Visualize key performance indicators like bitrate, connected clients, and protocol usage.
- โ๏ธ Configuration Management: Edit
mediamtx.ymlsettings directly from the web interface. - ๐ณ Easy Deployment: Run the dashboard locally with
pnpmor deploy it using the provided Docker configuration.
๐ Getting Started
Prerequisites
- Node.js (Latest LTS version recommended)
- pnpm: Install via
npm install -g pnpm - Docker (Optional, for containerized workflows)
Installation
- Clone the repository:
git clone https://github.com/PsymoNiko/mediamtx-dashboard.git cd mediamtx-dashboard
- Install dependencies:
pnpm install
Running the Project
Local Development
Start the development server with hot-reload:
pnpm dev
Using Docker Compose
For a containerized local environment:
-
Create a
.env.localfile with your MediaMTX configuration. -
Start the publisher service:
docker-compose up publisher -d
- Build and run the dashboard:
pnpm run build pnpm run dev
Production Deployment
Build and run with the production Docker Compose configuration:
docker-compose -f docker-compose.prod.yml up --build
Alternative Dockerfiles are available for different environments (Dockerfile, Dockerfile.dev, Dockerfile.simple, Dockerfile.debian).
๐ Documentation
For detailed information, please refer to the following resources:
- Wiki: Comprehensive guides on configuration, deployment, and troubleshooting.
- Discussions: Ask questions, share ideas, and get support from the community.
- Open Collective: Support the project and its ongoing development.
๐ ๏ธ Tech Stack
The dashboard is built with a modern, scalable set of technologies:
- TypeScript (79%): Provides strongly-typed, maintainable code for the core application logic.
- Next.js: A React-based framework for server-side rendering (SSR) and static site generation (SSG).
- pnpm: The package manager for efficient workspace and monorepo management.
- Docker: Multiple Dockerfiles and Compose files are provided for containerized development and production deployments.
- PostCSS: For advanced CSS processing.
๐ค Contributing
We welcome contributions from the community! To get started:
- Fork the repository.
- Create a feature branch:
git checkout -b feature/amazing-feature - Commit your changes:
git commit -m 'Add some amazing feature' - Push to the branch:
git push origin feature/amazing-feature - Open a Pull Request.
Please see CONTRIBUTING.md file.
Please ensure your code adheres to the existing style and includes appropriate tests.
๐ฌ Support and Community
ยท GitHub Issues: Report a bug or request a feature
ยท GitHub Discussions: Join the conversation
ยท Project Wiki: Browse the documentation
ยท Open Collective: Sponsor the project
๐ License
Distributed under the MIT License. See LICENSE for more information.
Made with โค๏ธ by Ali Mohammadnia and the community.
Not officially affiliated with the MediaMTX project.
