Skip to content

WebsiteServiceManagerOne is an open-source web-based utility for monitoring the uptime, SSL status, and performance of your websites and API endpoints.

License

One-FOSS/WebsiteServiceManagerOne

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WebsiteServiceManagerOne

WebsiteServiceManagerOne is an open-source web-based utility for monitoring the uptime, SSL status, and performance of your websites and API endpoints. It provides a modern dashboard, downtime reports, and configurable notifications (email, Slack, Discord, webhooks) to help you stay informed about incidents and recoveries.

Features

  • Monitor multiple websites and API endpoints for uptime and response time
  • SSL certificate expiry checks and HTTP-to-HTTPS suggestions
  • Customizable alert thresholds (response time, consecutive failures)
  • Email, Slack, Discord, and webhook notifications
  • Responsive dashboard with real-time status, incident history, and statistics
  • Detailed downtime reports with exportable CSV
  • Easy configuration via web UI or YAML file

Requirements

Installation

  1. Clone the repository:

    git clone https://github.com/Azio0/WebsiteServiceManagerOne.git
    cd WebsiteServiceManagerOne
  2. Install Python and pip (if not already installed):

    sudo apt-get install python3
    sudo apt-get install python3-pip
  3. Install required Python packages:

    pip install -r requirements.txt
  4. Configure your monitoring settings:

    • Edit src/utils/config/config.yml directly, or
    • Start the web app and use the Configuration page at /config for a user-friendly interface.
  5. Run the application:

    cd src
    python run.py

    The dashboard will be available at http://localhost:5000.

How It Works

WebsiteServiceManagerOne uses the following components:

  • Configuration: Reads settings from a YAML file or web UI.
  • Scheduler: Periodically checks all configured websites and APIs.
  • Website/API Checks: Uses HTTP requests to determine status, response time, and SSL validity.
  • Incident Tracking: Records downtime periods, incidents, and recoveries.
  • Notifications: Sends alerts via email, Slack, Discord, or custom webhooks.
  • Dashboard & Reports: Visualizes status, incidents, SSL info, and performance metrics.

Example Usage

  1. Add websites and APIs via the /config page or by editing config.yml.
  2. Start monitoring from the dashboard or let it run automatically.
  3. View real-time status and incident history on the dashboard.
  4. Check SSL certificate health and receive expiry warnings.
  5. Export downtime reports as CSV from the Reports page.

Configuration

All settings can be managed via the web UI or by editing src/utils/config/config.yml:

  • websites: List of websites to monitor.
  • api_endpoints: API endpoints with custom methods, expected status, and timeouts.
  • email: SMTP settings and notification recipients.
  • notifications: Enable/disable Slack, Discord, or webhook alerts.
  • alert_thresholds: Set response time and failure thresholds for alerts.
  • schedule: Set the monitoring interval (in minutes).

Running with Gunicorn

To run WebsiteServiceManagerOne in production, use Gunicorn with the provided configuration file:

  1. Install Gunicorn (if not already installed):

    pip install gunicorn
  2. Start the app with Gunicorn from the src directory:

    cd src
    gunicorn -c gunicorn.py wsmo:app
  3. Access the dashboard at http://localhost:5000 (or your configured bind address).

Tip: For development, you can still use:

python run.py

Contributing

This is an open-source project, and contributions are welcome. Please fork the repository and submit a pull request with your changes.

License

This project is licensed under the MIT License.

Contact

For any questions or suggestions, please open an issue or contact the project maintainers.

Donations

This project is intended to be open-source and free from cost to use. I love coding, setting a target and accomplishing it, sometimes by using pre-existing technology or creating an original approach to a problem. It excites me and gives me a sense of purpose, but it is not always easy to find the time or motivation to keep pushing forward. Donations are welcome if you wish to give something towards the work I do, but it is completely optional and is certainly not a requirement.

"Buy Me A Coffee"

About

WebsiteServiceManagerOne is an open-source web-based utility for monitoring the uptime, SSL status, and performance of your websites and API endpoints.

Topics

Resources

License

Stars

Watchers

Forks