Introduction
PMDaemon is a high-performance process manager built in Rust, inspired by PM2 with innovative features that exceed the original. It's designed for modern application deployment with advanced port management, real-time monitoring, and production-ready web APIs.
What is PMDaemon?β
PMDaemon is a general-purpose process manager that helps you:
- Start, stop, restart, and monitor applications
- Scale applications with clustering and load balancing
- Manage ports with advanced allocation and conflict detection
- Monitor health with HTTP and script-based checks
- Access remotely via REST API and WebSocket connections
- Persist configurations across system restarts
Key Advantages Over PM2β
PMDaemon isn't just a PM2 cloneβit's PM2 evolved with features that the original lacks:
π― Advanced Port Managementβ
- Port range distribution - Automatically assign consecutive ports to cluster instances
- Auto-assignment - Find first available port in specified ranges
- Conflict detection - Prevent port conflicts at the process manager level
- Runtime overrides - Change ports during restart without modifying saved config
π₯ Health Checks & Blocking Startβ
- HTTP health checks - Monitor endpoints with configurable timeouts
- Script-based checks - Custom validation logic for complex scenarios
- Blocking start - Wait for processes to be healthy before returning
- Auto-restart on failure - Automatic recovery when health checks fail
β‘ Rust Performanceβ
- Memory safety - No segfaults or memory leaks
- Blazing performance - Efficient async/await architecture
- Low resource usage - Minimal overhead compared to Node.js-based tools
π§ Enhanced Operationsβ
- Bulk deletion - Delete all processes or filter by status
- Configurable monitoring - Customize update intervals for different needs
- Professional display - Beautiful tables with color-coded status indicators
- Real-time log following -
tail -f
functionality built-in
Architecture Overviewβ
PMDaemon follows a modern, layered architecture designed for performance, security, and maintainability:
Key architectural features:
- π Security-first design with API key authentication
- β‘ High-performance async architecture built on Tokio
- ποΈ Layered design with clear separation of concerns
- π Real-time monitoring with WebSocket support
- π Cross-platform compatibility (Linux, Windows, macOS)
π For detailed architecture information, see Architecture Overview
Use Casesβ
PMDaemon is perfect for:
Developmentβ
- Running multiple microservices locally
- Hot-reloading applications during development
- Managing different environments (dev, staging, prod)
Productionβ
- Deploying Node.js, Python, Rust, or any executable
- Load balancing with automatic clustering
- Health monitoring and automatic recovery
- Remote monitoring and management
DevOps & CI/CDβ
- Deployment scripts that wait for services to be ready
- Automated testing with health check validation
- Container orchestration and service management
What's Next?β
Ready to get started? Here's your path:
- Installation - Install PMDaemon on your system
- Quick Start - Get up and running in 5 minutes
- Migration from PM2 - Transition from PM2 seamlessly
Or dive deeper into specific features:
- Process Management - Core lifecycle operations
- Port Management - Advanced port allocation
- Health Checks - Monitoring and validation
- CLI Reference - Complete command documentation
Community & Supportβ
- GitHub: entrepeneur4lyf/pmdaemon
- Issues: Report bugs or request features
- Discussions: Community discussions
- Crates.io: pmdaemon
PMDaemon - Process management, evolved. π