Quick Start
Get a process running with Runix in under 2 minutes.
1. Create a Config File
Create runix.yaml in your project directory:
processes:
web:
runtime: node
entrypoint: server.js
args: ["--port", "3000"]
restart_policy: always
env:
NODE_ENV: development
PORT: "3000"
2. Start the Process
runix start --config runix.yaml
Runix detects the Node.js runtime automatically (from the runtime field or the entrypoint file extension), starts server.js, and begins supervising it.
3. Check Status
runix list
Output:
ID NAME STATUS PID UPTIME RESTARTS
1 web running 48291 5s 0
4. View Logs
# Last 50 lines
runix logs web
# Stream live output
runix logs web --follow
# Stderr only
runix logs web --stderr
# Error lines only
runix logs web --error
5. Stop the Process
runix stop web
Daemon Mode
For persistent process management across terminal sessions, use the daemon:
# Start the daemon
runix daemon start
# Now all commands go through the daemon via IPC
runix start --config runix.yaml
runix list
runix stop web
# Stop the daemon
runix daemon stop
When the daemon is running, all CLI commands communicate with it via a Unix socket (~/.runix/runix.sock). If the daemon is not running, commands fall back to in-process mode.
Ad-Hoc Commands (No Config File)
You can start processes without a config file using inline flags:
# Start a Go binary
runix start --name api --runtime go -- ./cmd/api --port 8080
# Start a Python script
runix start --name worker --runtime python -- worker.py
# Multiple instances
runix start --name api --instances 3 -- ./cmd/api
What's Next
- Configuration Reference — Full YAML schema with all options
- CLI Reference — Every command with flags and examples
- Architecture — How Runix works under the hood
- Doctor — Diagnose your environment