3 releases (breaking)
new 0.3.0 | Mar 5, 2025 |
---|---|
0.2.0 | Mar 5, 2025 |
0.1.0 | Feb 28, 2025 |
#255 in Configuration
90 downloads per month
395KB
552 lines
systemg
β‘ Systemg - A Lightweight Process Manager
Systemg is a simple, fast, and dependency-free process manager written in Rust.
It aims to provide a minimal alternative to systemd and other heavyweight service managers, focusing on ease of use, clarity, and performance.
π Why Systemg?
Traditional process managers like systemd are complex, heavy, and introduce unnecessary dependencies.
Systemg offers a lightweight, configuration-driven solution thatβs easy to set up and maintain.
β¨ Features
- Declarative YAML Configuration - Define services, dependencies, and restart policies easily.
- Automatic Process Monitoring - Restart crashed services based on custom policies.
- Environment Variable Support - Load variables from
.env
files and per-service configurations. - Minimal & Fast - Built with Rust, designed for performance and low resource usage.
- No Root Required - Unlike systemd, it doesnβt take over PID 1.
π Comparison vs Alternatives
Feature | Systemg π | systemd π’ | Supervisor π οΈ | Docker Compose π³ |
---|---|---|---|---|
Lightweight | β Yes | β No (Heavy) | β No (Python) | β No (Containers) |
No Dependencies | β Yes | β No (DBus, etc.) | β No (Python) | β No (Docker) |
Simple Config | β YAML | β Complex Units | β INI | β YAML |
Process Monitoring | β Yes | β Yes | β Yes | β Yes |
PID 1 Required? | β No | β Yes | β No | β No |
Handles Dependencies? | β Yes | β Yes | β No | β Yes |
π Getting Started
1οΈβ£ Install Systemg
cargo install systemg
Dependencies
~10β20MB
~291K SLoC