A full-featured uptime monitoring application similar to UptimeRobot, built with Streamlit and MongoDB. Monitor your websites, APIs, and services with enterprise-level features.
-
Multiple Monitor Types
- HTTP/HTTPS - Website and API endpoint monitoring
- Keyword - Check for presence/absence of text in response
- Ping - ICMP ping monitoring for hosts
- Port - TCP port availability monitoring
- SSL Certificate - SSL certificate expiry monitoring
- Domain Expiry - Domain registration expiry monitoring
-
Flexible Check Intervals - From 30 seconds to 1 hour
-
Real-time Dashboard - Overview of all monitors with uptime statistics
-
Incident Management - Automatic incident creation and resolution tracking
-
Public Status Pages - Create shareable status pages for your services
-
Multi-Channel Notifications
- Email (SMTP)
- Webhook
- Slack
- Telegram
-
User Authentication - Secure login with bcrypt password hashing
-
Unlimited Monitors - No restrictions on the number of monitors
- Frontend: Streamlit
- Database: MongoDB
- Scheduler: APScheduler
- Authentication: bcrypt
- Python 3.11+
- MongoDB database
Set the following environment variable:
MONGODB_URI=your_mongodb_connection_string
- Clone the repository
- Install dependencies:
pip install -r requirements.txt
- Run the application:
streamlit run main.py --server.port 5000
- Register - Create an account with your email and password
- Add Monitors - Set up monitoring for your websites and services
- Configure Notifications - Set up alerts for when services go down
- Create Status Pages - Share your service status publicly
- Track Incidents - Monitor and resolve downtime events
The application features a clean, dark-themed interface with:
- Dashboard with monitor statistics
- Monitor management interface
- Incident tracking
- Status page builder
- Notification configuration
MIT License
.
Developed by Hashyz