
sm2
1Open Source2026Author & Maintainer
sm2 is an open-source application operations agent and service manager written in Go. It runs your applications — Go, Node, Python, Rust, shell scripts or any executable — watches them, and brings them back when they die. It ships as a single binary: a small CLI paired with a background agent that talks over a local Unix socket, with no daemon to configure and no runtime to install.
Beyond keeping processes alive, sm2 watches the system around them. It sends rich, color-coded Discord notifications when an app starts, stops, crashes or restarts, warns you before the disk runs out of space, and reports when the agent itself shuts down — with rate-limit-aware retries so important alerts aren't silently dropped. Apps can be declared in an `sm2.yaml` file and survive reboots through launchd and systemd.
Highlights
- Runs and supervises any app — Go, Node, Python, Rust, shell or any executable
- Auto-restart on crash with always / on-failure / never policies and backoff
- Discord alerts on start, stop, crash and restart, plus low disk space
- Live per-process CPU, memory, uptime and restart counts
- Declarative sm2.yaml config, log rotation, and reboot survival via launchd / systemd
- Restart triggers on memory limit, file changes or a cron schedule
Tech stack
Screenshots
