systemg
A general-purpose program orchestrator.
Table of Contents
- Read the Docs
- Getting Started
- 2.1 Installation
- 2.2 Usage
- Why systemg
- 3.1 Features
- How systemg Compares
Getting Started
Installation

|
System deployments: scripts/install-systemg.sh sets up /usr/bin/sysg, /etc/systemg, /var/lib/systemg. See security guide.
Usage
| Command | Description |
|---|---|
sysg start |
Start the default systemg.yaml in the foreground. |
sysg start --config my.yaml |
Start a specific config file. |
sysg start --daemonize |
Launch the supervisor in the background. |
sysg status |
Check current service state. |
sysg logs --service api |
View logs for a specific service. |
sysg restart --service api |
Restart one service without restarting everything. |
Tip:
--stderrredirects stderr from supervised processes to stdout with a[service_name:stderr]prefix, which is useful for debugging and CI pipelines.
Why systemg
Compose programs into systems with explicit dependencies and health checks.
Features
- Dependencies - Topological startup order with health-aware cascading
- Rolling Deployments - Blue-green swaps with health validation
- Environment -
.envfile propagation - Webhooks - Event notifications (docs)
- Cron - Scheduled tasks with overlap detection
- Spawning - Dynamic child process tracking
- OS Integration - systemd/cgroups when available
- Single Binary - No runtime dependencies
How systemg Compares
| Feature | systemg | systemd | Supervisor | Docker Compose |
|---|---|---|---|---|
| Focus | Program composition | System management | Process supervision | Container orchestration |
| Configuration | Declarative YAML | Unit files | INI files | YAML |
| Dependencies | Topological with health checks | Complex unit chains | Manual ordering | Service links |
| Deployments | Built-in rolling workflows | External tooling | Manual restarts | Recreate/rolling |
| Runtime deps | None | DBus, journal | Python | Docker daemon |
| OS integration | Optional | Required | None | Container runtime |