Oxmgr is a lightweight, cross-platform Rust process manager and PM2 alternative.
Use it to run, supervise, reload, and monitor long-running services on Linux, macOS, and Windows. Oxmgr is language-agnostic, so it works with Node.js, Python, Go, Rust binaries, and shell commands.
Latest published benchmark snapshots: BENCHMARK.md and benchmark.json
- Language-agnostic: manage any executable, not just Node.js apps
- Cross-platform: Linux, macOS, and Windows
- Low overhead: Rust daemon with persistent local state
- Practical operations: restart policies, health checks, logs, and CPU/RAM metrics
- Foreground runtime mode for containers:
oxmgr runtime(pm2-runtime style) - Config-first workflows with idempotent
oxmgr apply - PM2 ecosystem compatibility via
ecosystem.config.{js,cjs,mjs,json} - Interactive terminal UI with live search, filters, and sort controls
- Start, stop, restart, reload, and delete managed processes
- Foreground runtime command for Docker/Kubernetes (
oxmgr runtime) - Named services and namespaces
- Restart policies:
always,on-failure, andnever - Health checks with automatic restart on repeated failures
- Config-driven file watch with ignore patterns and restart debounce
- Log tailing, log rotation, and per-process stdout/stderr logs
- Readiness-aware reloads using health checks
- Git pull and webhook-driven update workflow
- Interactive terminal UI with live search, status filters, and CPU/RAM/restart sorting
- Import and export bundles with
.oxpkg - Service installation for
systemd,launchd, and Windows Task Scheduler
npm install -g oxmgrbrew tap empellio/homebrew-tap
brew install oxmgrscoop bucket add oxmgr https://github.com/empellio/scoop-bucket
scoop install oxmgr/oxmgrWindows package-manager channels are currently Scoop and npm.
yay -S oxmgr-binecho "deb [trusted=yes] https://vladimir-urik.github.io/OxMgr/apt stable main" | sudo tee /etc/apt/sources.list.d/oxmgr.list
sudo apt update
sudo apt install oxmgrgit clone https://github.com/Vladimir-Urik/OxMgr.git
cd OxMgr
cargo build --release
./target/release/oxmgr --helpFor signed APT setup, local installation, and platform-specific notes, see docs/install.md.
Start a service:
oxmgr start "node server.js" --name api --restart alwaysInspect and operate it:
oxmgr list
oxmgr status api
oxmgr logs api -f
oxmgr uiInside oxmgr ui, use / for live search, f to cycle status filters, and o to cycle sort order.
Use a config file for repeatable setups:
version = 1
[[apps]]
name = "api"
command = "node server.js"
restart_policy = "on_failure"
max_restarts = 10
stop_timeout_secs = 5oxmgr validate ./oxfile.toml
oxmgr apply ./oxfile.tomlContainer-style foreground mode:
oxmgr runtime ./oxfile.toml
oxmgr runtime ./ecosystem.config.jsOxmgr supports PM2-style ecosystem.config.{js,cjs,mjs,json}, including config-driven watch settings and readiness-aware reload fields, which makes it easier to move existing PM2 setups without rewriting everything on day one.
Useful links:
- Documentation Index
- AI Skill Reference (experimental) — drop this into your project so your AI assistant (Claude, Cursor, Codex, …) knows how to help you configure and use Oxmgr
- Latest Benchmark Results
- Latest Benchmark JSON
- Architecture Overview
- Installation Guide
- User Guide
- CLI Reference
- Terminal UI Guide
- Runtime Mode (pm2-runtime style)
- Pull, Webhook, and Metrics Guide
- Deployment Guide
- Service Bundles
- Benchmark Guide
- Examples
Issues, PRs, and documentation improvements are welcome. Start with CONTRIBUTING.md for local setup, checks, and testing expectations.
Oxmgr is created and maintained by Vladimír Urík.
The project is developed under the open-source patronage of Empellio.