systemg 0.31.0

A simple process manager.
Documentation

systemg

A general-purpose program orchestrator.

CI GitHub branch status

docs.rs (with version) GitHub tag Crate size Crates.io Total Downloads

Deps.rs Crate Dependencies (specific version) License

Table of Contents

  1. Read the Docs
  2. Getting Started
  3. Why systemg
  4. How systemg Compares

Getting Started

Installation

Installation

$ curl --proto '=https' --tlsv1.2 -fsSL https://sh.sysg.dev/ | sh

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: --stderr redirects 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 - .env file 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