3 releases (breaking)
new 0.3.0 | Mar 5, 2025 |
---|---|
0.2.0 | Mar 5, 2025 |
0.1.0 | Feb 28, 2025 |
#179 in Configuration
356 downloads per month
400KB
755 lines
systemg
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 systdemd 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
<div display="flex" align-items="center">
<img src="https://img.shields.io/badge/Rust-000000?style=for-the-badge&logo=rust&logoColor=white" />
<img src="https://img.shields.io/badge/ts--node-3178C6?style=for-the-badge&logo=ts-node&logoColor=white" />
<img src="https://img.shields.io/badge/Vite-B73BFE?style=for-the-badge&logo=vite&logoColor=FFD62E" />
<img src="https://img.shields.io/badge/Python-FFD43B?style=for-the-badge&logo=python&logoColor=blue" />
<img src="https://img.shields.io/badge/PostgreSQL-green?style=for-the-badge" />
<img src="https://img.shields.io/badge/mac%20os-000000?style=for-the-badge&logo=apple&logoColor=white" />
<img src="https://img.shields.io/badge/Linux-FCC624?style=for-the-badge&logo=linux&logoColor=black" />
<img src="https://img.shields.io/badge/ChatGPT-74aa9c?style=for-the-badge&logo=openai&logoColor=white" />
</div>
# β‘ 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 systdemd** 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**
```sh
cargo install systemg
Dependencies
~10β21MB
~329K SLoC