Skip to main content

start

Start a managed process.

Usage​

runix start [flags] [-- <entrypoint-args>]

Description​

Starts one or more processes defined in the configuration file, or starts a single process specified by name or inline flags. All processes respect dependency ordering and runtime detection.

From Config File​

# Start all processes from runix.yaml
runix start --config runix.yaml

# Start a specific process by name
runix start api

Inline (No Config File)​

# 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 --verbose

# Start with multiple instances
runix start --name api --instances 3 -- ./cmd/api

# Start with environment variables
runix start --name api --env PORT=8080 --env LOG_LEVEL=info -- ./cmd/api

# Start with a working directory
runix start --name api --cwd /app -- ./cmd/api

# Start with watch mode
runix start --name api --watch -- ./cmd/api

Flags​

FlagShortTypeDefaultDescription
--config-cstringrunix.yamlConfig file path
--name-nstringProcess name (required for inline mode)
--runtimestringautoRuntime: go, python, node, bun
--instances-iint1Number of copies to run
--env-estring[]Environment variables (KEY=VALUE)
--cwdstringcurrentWorking directory
--watch-wfalseEnable file watching
--dry-runfalsePrint what would be started without starting
--format-fstringtextOutput format: text, json

Multi-Instance Naming​

When --instances > 1, processes are named with a numeric suffix:

api-1, api-2, api-3

Each instance gets a unique internal ID and its own log directory.

Dependency Ordering​

When starting from a config file, processes are started in dependency order:

  1. Processes with no dependencies start first
  2. Higher priority processes start before lower priority
  3. Processes with depends_on wait for their dependencies to be running

Exit Behavior​

  • Returns immediately after all processes are started (unless --watch is used)
  • When running in direct mode (no daemon), the command blocks until all processes exit
  • Use Ctrl+C to stop all processes in direct mode

Examples​

# Start all with daemon
runix daemon start
runix start --config runix.yaml

# Dry run to see what would start
runix start --config runix.yaml --dry-run

# Start single process with watch mode
runix start api --watch

# Start with JSON output
runix start api --format json