NodeShield is a robust and feature-rich process manager and load balancer for Node.js applications. It ensures your applications remain operational, scalable, and efficient in production environments. With powerful features like clustering, load balancing, error handling, and graceful shutdowns, NodeShield simplifies managing complex Node.js deployments.
- Comprehensive Process Management: Start, stop, restart, and monitor processes effortlessly.
- Cluster Mode Support: Leverage multi-core CPU architecture for efficient load balancing and scalability.
- Zero Downtime Reloading: Seamlessly reload applications without interrupting active users.
- Automatic Restarts: Recover crashed processes automatically to ensure high availability.
- Error Handling: Restarts processes when errors or specific conditions occur.
- Graceful Shutdown: Safeguard data and connections during process termination.
- Environment Configuration: Manage and switch between environments with ease.
- Detailed Logging: Track process activity, errors, and performance metrics.
- Process Insights: Retrieve real-time details of active processes.
- Extensible Commands: Easily extendable to fit custom workflows.
Install NodeShield globally using npm:
npm install -g @abhisheksuresh2/nodeshield
NodeShield provides simple commands to manage your applications:
Start a process with optional clustering and environment configuration:
nodeshield start <script.js> --name <process_name> --env <environment> [--cluster]
Stop a specific process:
nodeshield stop <process_name>
Restart a process to apply changes or recover from errors:
nodeshield restart <process_name>
Retrieve detailed information about a specific process:
nodeshield info <process_name>
List all active processes along with their statuses:
nodeshield list
Start a clustered application in production mode:
$ nodeshield start app.js --name MyApp --env production --cluster
NodeShield is ready to manage your application!.
- Cluster Mode: Use the
--cluster
flag to distribute the application across all CPU cores. - Environment Management: Configure
--env
to switch between environments likedevelopment
,staging
, orproduction
. - Error Threshold Handling: Automatically restart processes after detecting multiple errors.
We love contributions! Whether you're reporting bugs, suggesting features, or improving documentation, your input is welcome.
To get started:
- Fork the repository and create a feature branch.
- Submit a pull request with a detailed description of your changes.
Refer to our Contributing Guide for detailed guidelines.
By contributing, you agree to follow our Code of Conduct.
NodeShield is open-source software licensed under the MIT License. See the LICENSE file for details.
Stay updated with the latest changes and improvements in NodeShield by visiting our Changelog.
For support, feature requests, or feedback, please open an issue on our GitHub repository.