A modern, open-source uptime and status monitoring platform inspired by Uptime Kuma. Mercury Monitoring provides real-time website, API, and service monitoring with beautiful dashboards, incident management, and notification integrations.
- Real-time Uptime Monitoring: Track the status and response time of your websites, APIs, and services.
- Customizable Monitors: HTTP(s), TCP, Ping, DNS, and keyword monitoring support.
- Beautiful Dashboard: Responsive UI with modern charts and statistics.
- Incident Management: Automatic incident creation and status updates when downtime is detected.
- Notification Integrations: Email, webhook, Slack, Discord, Telegram, and more (extensible).
- Pause/Resume Monitors: Temporarily disable or resume monitoring for any service.
- History & Analytics: View uptime history, response time trends, and incident logs.
- Authentication: Secure login and protected routes.
- Easy Setup: Runs locally with Node.js, Express, React, and SQLite.
- Frontend: React, TypeScript, Tailwind CSS, Recharts
- Backend: Node.js, Express, SQLite
-
Clone the repository:
git clone https://github.com/yourusername/mercury-monitoring.git cd mercury-monitoring
-
Install dependencies for both frontend and backend:
# Install backend dependencies cd backend npm install # Install frontend dependencies cd ../ npm install
-
Start the backend server:
cd backend node index.js # The backend will run on http://localhost:3001
-
Start the frontend app:
cd ../ npm run dev npm run start:all # The frontend will run on http://localhost:5173
-
Access Mercury Monitoring:
- Open http://localhost:5173 in your browser.
- Add a Monitor: Click "Add Monitor" and fill in the details for your website, API, or service.
- Pause/Resume: Use the pause/play button on any monitor card to temporarily disable or resume monitoring.
- View Incidents: Incidents are automatically created when a monitor goes down. View and manage them from the Incidents section.
- Dashboard: See real-time stats, uptime history, and response time analytics.
mercury-monitoring/
backend/ # Express + SQLite backend
index.js # Main backend server
mercury.db # SQLite database
...
src/ # React frontend source
components/ # UI components
hooks/ # Custom React hooks
types/ # TypeScript types
...
...
Contributions are welcome! Please open issues or pull requests for bug fixes, new features, or improvements.
- Fork the repository
- Create your feature branch (
git checkout -b feature/your-feature
) - Commit your changes (
git commit -am 'Add new feature'
) - Push to the branch (
git push origin feature/your-feature
) - Open a pull request
This project is licensed under the MIT License.