Celistra vs PM2: Multi-Machine Process Manager Comparison
PM2: best for production Node services on a single host. Mature, free, well-understood. Celistra: multi-machine fleet, sandbox-by-default, mobile approvals, AI-agent supervision. Different scopes — many setups run both.
PM2 has been the default process manager for Node apps for almost a decade. If you've ever pm2 start app.js behind nginx, you know it works. So when someone asks "how does Celistra compare to PM2 for managing background processes," the honest answer starts with: they solve overlapping but distinct problems.
Feature matrix
| Capability | PM2 | Celistra |
|---|---|---|
| Single-host process supervision | ✓ Excellent | ✓ |
| Multi-machine fleet (one dashboard) | ✗ (one host per UI) | ✓ |
| Auto-restart with backoff | ✓ | ✓ (5/60s ceiling) |
| Cluster mode (Node only) | ✓ | ✗ |
| Log rotation | ✓ (pm2-logrotate) | 30-day SQLite history |
| Mobile push approvals | ✗ | ✓ (haptic) |
| Sandbox per process (Seatbelt / bwrap) | ✗ | ✓ |
| Tamper-evident audit log | ✗ | ✓ Hash-chained |
| Browser PTY (xterm.js) | ✗ | ✓ Multi-client fanout |
| Capability tokens per process | ✗ | ✓ |
| Web UI | PM2 Plus (paid SaaS) | Free dashboard, self-hostable |
| Languages supported | Node-first; raw binaries via --interpreter none | Any PTY-spawnable process |
| Free? | ✓ Open source | ✓ 1 node free; $2/mo for 5 |
Where PM2 wins
Cluster mode for Node. PM2's cluster mode forks a single Node process across all your CPU cores and round-robins requests. Celistra doesn't have this — if your workload is "scale a Node app across 16 cores on one host," PM2 is the right tool.
Maturity. PM2 has been around since 2015. Edge cases are documented. Bugs are mostly fixed. Stack Overflow has answers.
Ecosystem. PM2 has plugins (pm2-logrotate, pm2-server-monit, pm2-slack, etc.). Celistra has a smaller ecosystem.
Where Celistra wins
Multi-machine fleet view. PM2 manages one host. If you have three machines, you have three PM2s and you SSH between them. Celistra has one daemon per host but one dashboard for all of them — fleet view, sort by host, attach to any PTY from one tab.
Sandbox by default. Celistra wraps every spawn in macOS Seatbelt (or Linux bwrap) using a capability token bundle. PM2 spawns processes with the same permissions as the user.
Mobile approvals with haptics. When a managed agent asks for permission, your phone buzzes — long-press to approve. PM2 has no equivalent; permission requests in PM2 are a non-concept.
Browser PTY for any process. Attach to node app.js from a browser tab and watch its stdout in real time, with multi-client fanout (your laptop, your phone, your colleague's tab — all live). PM2's pm2 logs is terminal-only.
Built for AI agents. Capability tokens, audit log, restart-on-crash with model-500 awareness — these design choices come from supervising Claude Code / Codex / training jobs. PM2 doesn't have this lineage.
The "celistra vs pm2 for managing background processes on homelab" question
For a homelab running Plex + Jellyfin + Vaultwarden + Pi-hole? PM2 is the right answer if you containerize them or run them as Node services. For homelab running Plex + a long-running scraper + a Claude Code agent + a Playwright run? Celistra is the better fit — heterogeneous workloads, the AI-agent supervision is the differentiator.
Migration: PM2 → Celistra
# PM2 ecosystem.config.js
module.exports = {
apps: [{ name: 'scraper', script: 'scraper.py', interpreter: 'python3' }]
};
# Celistra (via celistrad ctl)
celistrad ctl spawn --name scraper --auto-restart \
--workspace /home/me/scraper \
'python3 scraper.py'
The mental model is the same — long-running supervised process. The Celistra version adds workspace boundary, audit log, restart ceiling.
Use both
You can. PM2 for the Node apps PM2 is excellent at; Celistra for the AI-agent / heterogeneous workloads + multi-machine view. Different problems, different tools.
FAQ
Is PM2 still maintained?
Yes — active development, regular releases. Mature enough that 'no surprises' is a reasonable expectation.
Does Celistra cluster a Node app like PM2 does?
No. If you need cluster mode for Node, use PM2. Celistra doesn't fork a process across cores.
Can I use PM2 on a host paired with Celistra?
Yes. PM2 manages PM2 processes; Celistra manages Celistra-spawned processes. They don't fight.
Does Celistra cost more than PM2?
PM2 is free; PM2 Plus (their managed monitoring SaaS) is paid. Celistra is free for 1 node, $2/mo for 5 nodes. At small scale, both are effectively free.