Skip to main content

Usage

Systemg uses a simple YAML-based configuration and supports the following commands. Beyond lifecycle management, you can attach webhooks to service events or run cron-scheduled jobs alongside long-lived processes.

Every command accepts --log-level <LEVEL> (string names like info/debug or numbers 0-5) if you want to change tracing output for a single invocation. For example, sysg status --log-level debug.

Start

Start with the default configuration file:

sysg start

Start with a specific configuration file:

sysg start --config systemg.yaml

Start the long-lived supervisor with a specific configuration file:

sysg start --config systemg.yaml --daemonize

Adjust the logging verbosity for the current invocation (string or numeric levels 0-5):

sysg start --log-level info
sysg start --log-level 4

Once the supervisor is running it stays alive after you log out and subsequent commands (status, restart, logs, stop) communicate with the same background process rather than re-spawning services.

Stop

Stop the supervisor and all managed services:

sysg stop

Stop a specific service:

sysg stop --service myapp

Restart

Restart all services managed by the supervisor:

sysg restart

Restart with a different configuration file:

sysg restart --config new-config.yaml

Status

Show the status of all services:

sysg status

Show the status of a specific service:

sysg status --service webserver

Logs

View the last 50 lines of logs for all services:

sysg logs

View logs for a specific service:

sysg logs api-service

View a custom number of log lines for a service:

sysg logs database --lines 100