Single binary. Zero dependencies. Health probes, AI crash diagnosis, Telegram alerts, Prometheus metrics, reverse proxy, cloud fleet management, TUI dashboard. All built in Rust.
id name status pid cpu mem uptime restarts ──────────────────────────────────────────────────────────────────────────── a1b2 api-server ● online 12345 12.3% 128MB 2d 14h 0 c3d4 worker ● online 12346 3.1% 64MB 2d 14h 0 e5f6 worker ● online 12347 2.8% 62MB 2d 14h 0 g7h8 frontend ● online 12348 1.0% 32MB 1d 08h 0
| Feature | PM2 | mhost |
|---|---|---|
| Runtime required | Node.js (150MB+) | None (14MB binary) |
| Health checks | Alive/dead only | HTTP, TCP, script probes |
| Log search | grep files manually | Built-in FTS5 full-text search |
| Notifications | Plugin required | 8 channels built-in |
| Metrics | Basic | Prometheus + alerts + auto-remediation |
| Reverse proxy | None | Built-in with auto-TLS |
| Deploy | Basic | Git + hooks + rollback + history |
| Dashboard | Web only | Terminal TUI with sparklines |
| Process groups | None | Dependency ordering (topological sort) |
| Restart strategy | Basic | Exponential backoff + circuit breaker |
| AI intelligence | None | Diagnose, optimize, ask, watch (OpenAI/Claude) |
| Cloud fleet | None | SSH fleet — AWS, Azure, DO, Railway auto-import |
| Remote control | None | Telegram/Discord bot with role-based permissions |
| Config format | JS only | TOML, YAML, JSON |
Every feature you need to manage processes in production. No plugins, no runtime dependencies.
HTTP, TCP, and script-based health checks. Processes only go online after probes pass. Failures trigger auto-restart.
Exponential backoff (100ms to 30s). Circuit breaker stops restart loops. Configurable per process.
Dependency ordering with topological sort. Start databases before APIs. Stop in reverse order.
Telegram, Slack, Discord, Email, PagerDuty, Teams, Ntfy, Webhook. Throttling, escalation, auto-resolve.
FTS5 full-text search. JSON auto-parse. GELF, Loki, Elasticsearch, Syslog sinks. Retention policies.
CPU, memory, uptime, restarts exported to /metrics. Alert rules with auto-remediation.
Host-based routing, load balancing (round-robin, least-conn, IP-hash), auto-TLS via Let's Encrypt, sticky sessions.
Git pull + pre/post hooks + graceful reload. Full deploy history. One-command rollback.
Split-pane terminal UI. Process table, CPU/memory sparklines, live log tail, vim keybindings.
Control processes from Telegram or Discord. Role-based permissions, confirmation for destructive actions, audit logging.
The first process manager with built-in LLM capabilities. Diagnose crashes, query logs in English, generate configs, get optimization suggestions.
database.js:42. Connection pool exhausted after 15 concurrent requests exceeded the pool limit of 10.max_connections: 25idle_timeout: 30000memory > 256MB for 5m128.4 MB across 1 instance. The workers are at 64 MB each.Connect to EC2, Azure, DigitalOcean, Railway, or any SSH server. Deploy, monitor, and scale across your entire infrastructure.
Server Status mhost Processes CPU ──────────────────────────────────────────────────── prod-api ● up yes 4/4 45% prod-worker ● up yes 3/3 72% prod-db ● up yes 1/1 12%
Auto-import servers from AWS EC2, Azure VMs, DigitalOcean, Railway. One command to discover your entire fleet.
Deploy configs, stream logs, restart processes, scale instances — all via SSH. No custom agents required.
AI provisions infrastructure, diagnoses remote servers, and plans migrations between environments.
brew install maqalaqil/tap/mhostnpm install -g @maqalaqil93/mhostcargo install mhostcurl -fsSL mhost.dev/install.sh | shirm mhost.dev/install.ps1 | iexgit clone && cargo build --releaseDefine processes, health checks, groups, notifications, metrics, deploy hooks, and AI config in a single TOML, YAML, or JSON file. Environment variable expansion with ${VAR} syntax.
Modular Rust workspace. Each crate has one responsibility. The CLI and daemon compile into two binaries with zero runtime dependencies.
One command to install. One file to configure. Zero dependencies.