Skip to content

Repository files navigation

Project Super

The API-First, Lightweight Process Orchestrator for the Edge.

Super is a modern replacement for tools like Supervisor or PM2, built with Rust. It is designed for edge computing, cloud-edge collaboration, and high-performance servers.

Documentation: https://super.docs.sconts.com/docs/

Core Features

  • Single binary — Rust superd process manager; TOML or REST config; CLI, HTTP API, and an embedded Dashboard
  • Ordered orchestration — depends_on + health gates for startup; group/batch start·stop·restart follow dependency order (reverse on stop); declarative stacks
  • Migration import — super import supervisor <conf> turns an existing Supervisor INI into a Super stack (preview / dry-run / collision modes); see the Supervisor migration guide
  • Multi-process programs — numprocs starts N workers from one definition (process_name, SUPER_PROCESS_NUM / SUPER_PROCESS_TOTAL); not Node cluster / zero-downtime reload
  • Lifecycle hooks — pre_start, post_start, post_stop, and global event hooks
  • Observability — WebSocket logs, historical logs API, system metrics
  • Auto-recovery — Supervisor-compatible autorestart, exitcodes, startsecs

Licensed under the MIT License.

Quick Start

Deploy Super, create a program, and day-to-day CLI ops

OSS host CLI — deploy → create demo-web → list / info / logs / restart. Full walkthrough: Quick Start docs.

Install script (Linux / macOS / FreeBSD)

curl -fsSL https://github.com/schiplat/super/releases/latest/download/install.sh | sh

Installs superd and super, creates a minimal instance root (/opt/super or ~/.super), and enables an OS service (systemd on Linux, launchd on macOS, rc.d on FreeBSD) with boot start. Verifies the SHA-256 of the release archive.

Options: --version, --prefix, --root, --user / --system, --no-service, --no-start, --no-init, --no-sudo.

Bleeding-edge (may differ from the latest tagged binaries): curl -fsSL https://raw.githubusercontent.com/schiplat/super/master/install.sh | sh.

Docker

Docker image (linux/amd64, linux/arm64). This is the supported path on Windows (Docker Desktop or WSL2) — there is no native superd.exe release. The image binds 0.0.0.0 with placeholder auth_secret = "CHANGE-ME-BEFORE-EXPOSE" (replace before publishing beyond the host); publish only to loopback on the host unless you intentionally expose the API:

docker pull schiplat/super:latest
docker run --rm -p 127.0.0.1:9002:9002 schiplat/super:latest

With a custom config directory:

docker run --rm -p 127.0.0.1:9002:9002 -v ./packaging/docker/conf:/app/super/conf schiplat/super:latest

From source

Requires Rust 1.85+ (stable):

git clone https://github.com/schiplat/super.git && cd super
make build
./target/release/superd              # foreground (default; use under systemd/Docker)
# ./target/release/superd --daemon   # optional Unix self-daemonize without systemd

CLI

super add --name redis --autostart /usr/bin/redis-server
super list
super logs <id> --tail
# From Supervisor: preview then import
# super import supervisor /etc/supervisor/conf.d/app.conf --dry-run
super shutdown                       # stop superd (foreground or --daemon)

Diagnose a setup (config, daemon connectivity, license, daemon/pidfile hints) in one shot:

super doctor

See Installation for install.sh (systemd / launchd / rc.d), manual units (superd --foreground), and optional --daemon.

Production readiness

Super 1.x is production-ready. Every release is held to the same public contract:

  • Stability — no known panic paths in the daemon on malformed config or API input; graceful degradation when a plugin fails.
  • Upgrade safety — OTA updates are transactional (backup → verify → commit/rollback) and covered by integration tests.
  • Security defaults — fail-closed network binding, signed-plugin verification, and no secrets in API/CLI output; cargo audit clean on release branches.
  • Operability — super doctor diagnoses a deployment end-to-end; logs and metrics are sufficient to triage without a debugger.
  • API stability — the REST API and the plugin C ABI (PLUGIN_API_VERSION) are versioned; breaking changes ship only with a major bump and migration notes.

Notable changes land in the changelog.

Documentation

Topic Link
Getting started Docs
Configuration Config reference
API API reference
Changelog Changelog

AI skills

Want your AI assistant (Cursor, Claude, Copilot, …) to configure and troubleshoot Super correctly? Point it at docs/SKILL.md (e.g. from CLAUDE.md, .cursor/rules, or pasted into the prompt). It covers everyday commands, the super.toml / stack JSON schema, cron & health semantics, and common failure modes — and helps avoid the usual supervisor/PM2 semantic mix-ups.

Repository layout

Path Role
common/ core/ cli/ superd/ Cargo workspace crates (superd + super CLI)
packaging/docker/ Official image Dockerfile + baked-in conf (was dockerbuild/)
packaging/contrib/ Default super.toml + systemd / launchd / rc.d templates (copied into release tarballs as contrib/)
examples/demo/ Sample SUPER_ROOT-style conf and stack files
tools/benchmark/ Peer benchmark suite
tools/scripts/ Install smoke + OTA e2e helpers
docs/ Public Hugo documentation site
install.sh Release install script (kept at repo root for stable download URLs)

Contributing

See CONTRIBUTING.md. Security issues: SECURITY.md. Community standards: CODE_OF_CONDUCT.md.

About

The API-First, Lightweight Process Orchestrator for the Edge.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

10 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages