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