Skip to content

pm2.web - Easily monitor your processes, control them with various actions, view logs and set up access controls for users using the dashboard

License

Notifications You must be signed in to change notification settings

oxdev03/pm2.web

Repository files navigation

pm2.web - Process Monitoring and Management

pm2.web is a web-based application designed to monitor and manage processes running on your server using the PM2 process manager. With pm2.web, you can easily monitor your processes, control them with various actions, view logs, manage server functions, and even set up access controls for users.Easily install, deploy to Vercel, and utilize MongoDB Atlas to maintain a server with 0 open ports or host everything on-premise.

Pages - Features

  1. Monitoring Index
  2. Process Management Process
  3. Server Management (Planned)
  4. Access Control Access Control
  5. Settings Settings
  6. Alert Setup (Planned)

Installation

To get started with pm2.web, follow these steps:

  1. Setup Backend
  2. Setup Dashboard

Usage

Once pm2.web is installed and running, you can perform the following actions:

  • Monitoring:

    • Monitor the status, resource usage, and health of your processes from the main dashboard.
  • Process:

    • Stop, restart, or delete processes from the process list page.
    • Access the logs generated by your processes.
    • View key metrics, git versioning info and graphs to assess the performance of your applications.
    • Pm2 Settings & Git Feature
  • Server Management (Planned/On Demand):

    • Control server-level functions such as shutdown or restart using the dedicated server management page.
    • Execute these actions securely without the need for direct server access.
    • View key metrics and graphs
    • Configure specific server settings (db log rotation , polling/update interval)
  • Access Control:

    • Manage user access and permissions through the access control settings.
    • Create user accounts, assign roles, and specify the level of access each user has to servers, processes, and application functions.
  • Settings:

    • Configure settings such as the update interval, log rotation, and more.
  • Alert Setup (Planned/On Demand):

    • Configure alerts to receive notifications for specific actions.
    • Define alert rules based on events like shutdown, restart, or kill actions.
  • User Registration:

    • User can register at the /login page
    • If a registration code is configured, the user needs to enter the code
    • The 1st user which registers is automatically assigned the owner permission
    • The owner can assign permissions to registered users through the access control page
    • registered user without any permissions can't access the dashboard nor login
    • accounts linked with oauth2 can't login with credentials (can be unlinked in the settings page)
      • Setup Github OAuth
        • https://github.com/settings/developers -> New OAuth App
        • Configure the callback url to http://<domain|ip:port>/api/auth/callback/github
        • Add NEXT_PUBLIC_GITHUB_CLIENT_ID and NEXT_GITHUB_SECRET to the .env file with the values from the OAuth App
        • Usage: Only registered users (per credentials) can login with auth2, which links the oauth2 with the existing user account in the database
      • Setup Registration Code
        • Go to the settings page and add/generate the registration code
      • Setup Google OAuth (Planned/On Demand)
        • TBD

Up Next

  • E2E Tests for current functionality
  • Performance Improvements for Charts & Logs

Contributing

Contributions to pm2.web are welcome! If you would like to contribute to the project, please follow these guidelines:

  1. Fork the repository on GitHub.

  2. Create a new branch from the master branch to work on your changes.

  3. Make your modifications and ensure they adhere to the project's coding standards.

  4. Commit your changes with clear and descriptive commit messages.

  5. Push your branch to your forked repository.

  6. Submit a pull request to the master branch of the main pm2.web repository.

License

pm2.web is released under the GNU General Public License v3.0. For more information, please refer to the LICENSE file.

Support

For any questions, issues, or feature requests, please refer to the project's GitHub repository: github.com/oxdev03/pm2.web.

Open an issue and provide details about your inquiry, and the community or maintainers will assist you as soon as possible.

Credits

pm2.web is built on the foundation of the PM2 process manager (BUS Api) (pm2.keymetrics.io). We acknowledge and appreciate the PM2 team's efforts.

The pm2.web project is currently maintained and supported by a single developer.

Disclaimer

pm2.web is not affiliated with or endorsed by PM2 or (pm2.keymetrics.io). pm2.web is an independent project created by a third-party developer.