Skip to content

0.1.2

Choose a tag to compare

@eas4ai eas4ai released this 28 May 03:00
· 14 commits to main since this release

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


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