PMDaemon v0.1.2 - Ecosystem Configuration Files & Cross-Platform Support
We're excited to announce PMDaemon v0.1.2, a major milestone release that introduces Ecosystem Configuration File Support and Full Cross-Platform Compatibility. PMDaemon now runs natively on Linux, Windows, and macOS while enabling seamless management of multiple applications through JSON, YAML, and TOML configuration files.
🎉 What's New in v0.1.2
This release represents two major milestones: ecosystem configuration support for enhanced developer productivity and full cross-platform compatibility for universal deployment. PMDaemon now runs natively on all major operating systems while allowing you to define and manage complex multi-application setups through simple configuration files, making it ideal for microservices, development environments, and production deployments across any platform.
✨ Key Features
📁 Ecosystem Configuration Files
- Multi-Format Support - JSON, YAML, and TOML configuration files
- Full Feature Parity - All CLI options available in config files
- App-Specific Targeting - Start specific applications from config files
🎯 Advanced Configuration Management
- Comprehensive Field Support - All process options configurable via files
- Environment-Specific Configs - Separate config files for different environments
- Validation & Error Handling - Detailed error messages for configuration issues
- Custom Configuration Directory -
PMDAEMON_HOME
environment variable support for configuration directory override - Multi-Instance Support - Better support for running multiple isolated PMDaemon instances
🌍 Cross-Platform Support
- Native Windows Support - Full functionality on Windows 10/11 with optimized process management
- Native macOS Support - Complete support for both Intel and Apple Silicon architectures
- Enhanced Linux Support - Continued optimization for server and development environments
- Unified API - Same commands and features work identically across all platforms
- Platform-Specific Optimizations - Tailored signal handling and process termination for each OS
🚀 Getting Started
Create Your Ecosystem File
ecosystem.json:
{
"apps": [
{
"name": "web-server",
"script": "node",
"args": ["server.js"],
"instances": 2,
"port": "3000-3001",
"env": {
"NODE_ENV": "production"
}
}
]
}
Start Your Applications
# Start all apps from config (works on Linux, Windows, macOS)
pmdaemon --config ecosystem.json start
# Start specific app
pmdaemon --config ecosystem.json start --name web-server
Environment Variable Configuration
Custom Configuration Directory:
# Use custom config directory
export PMDAEMON_HOME="/path/to/custom/config"
pmdaemon start "node server.js" --name web-app
# Multiple isolated instances
PMDAEMON_HOME="/tmp/instance1" pmdaemon start app1.js --name app1
PMDAEMON_HOME="/tmp/instance2" pmdaemon start app2.js --name app2
Cross-Platform Installation
Pre-built Binaries:
- Linux:
pmdaemon-linux-x86_64
- Windows:
pmdaemon-windows-x86_64.exe
- macOS Intel:
pmdaemon-macos-x86_64
- macOS Apple Silicon:
pmdaemon-macos-aarch64
From Source (All Platforms):
git clone https://github.com/entrepeneur4lyf/pmdaemon
cd pmdaemon
cargo build --release
📊 Technical Highlights
- 267 total tests with comprehensive ecosystem config coverage
- 9 completed development phases including ecosystem configuration
- Production-ready stability with comprehensive configuration support
- Backward compatible - existing CLI workflows unchanged
🆚 Beyond PM2
PMDaemon v0.1.2 now matches and exceeds PM2's capabilities across all platforms:
Feature | PMDaemon v0.1.2 | PM2 |
---|---|---|
Native Windows support | ✅ | ❌ |
Native macOS support | ✅ | ❌ |
Cross-platform compatibility | ✅ | ❌ |
Ecosystem config files | ✅ | ✅ |
Multiple config formats | ✅ (JSON/YAML/TOML) | ❌ (JS only) |
Port range distribution | ✅ | ❌ |
Auto port assignment | ✅ | ❌ |
Built-in health checks | ✅ | ❌ |
Configuration validation | ✅ | ❌ |
Custom config directory | ✅ (PMDAEMON_HOME) | ❌ |
Multi-instance isolation | ✅ | ❌ |
📚 Migration from PM2
Converting from PM2 is straightforward:
PM2 ecosystem.config.js:
module.exports = {
apps: [{
name: 'my-app',
script: 'server.js',
instances: 4
}]
};
PMDaemon ecosystem.json:
{
"apps": [{
"name": "my-app",
"script": "node",
"args": ["server.js"],
"instances": 4
}]
}
🔗 Resources
- Configuration Guide - Complete ecosystem config documentation
- GitHub Repository - Source code and examples
PMDaemon v0.1.2 represents a significant step forward in making process management more accessible and powerful for modern development workflows. Try it today!
Download: GitHub Releases Documentation: https://entrepeneur4lyf.github.io/pmdaemon