Skip to main content

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​