Skip to main content

PMDaemon v0.1.2 - Ecosystem Configuration Files & Cross-Platform Support

Shawn McAllister
Lead Developer

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:

FeaturePMDaemon v0.1.2PM2
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


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