Skip to content

Process Compose 🔥

Process Compose is a simple and flexible scheduler and orchestrator to manage non-containerized applications.

Demo

Why was it made?

Because sometimes you just don't want to deal with docker files, volume definitions, networks and docker registries. Since it's written in Go, Process Compose is a single binary file and has no other dependencies.

Once installed, you just need to describe your workflow using a simple YAML schema in a file called process-compose.yaml:

version: "0.5"

processes:
  hello:
    command: echo 'Hello World from Process Compose'

And start it by running process-compose up from your terminal.

Check the Documentation for more advanced use cases.

Prefer to watch? Process Compose Intro is a ten part video course, about 45 minutes in total, covering everything from a first config to CI pipelines. See the series overview for the episode list.

TUI

Features

  • Processes execution (in parallel or/and serially)
  • Processes dependencies and startup order
  • Process recovery policies
  • Manual process [re]start
  • Processes arguments bash or zsh style (or define your own shell)
  • Per process and global environment variables using envsubst
  • Per process or global (single file) logs
  • Health checks (liveness and readiness)
  • Terminal User Interface (TUI) or CLI modes
  • Forking (services or daemons) processes
  • REST API (OpenAPI a.k.a Swagger) with optional token authentication
  • Logs caching
  • Functions as both server and client
  • Configurable shortcuts
  • Merge Configuration Files
  • Namespaces
  • Namespace Operations (Start, Stop, Restart via CLI and TUI)
  • Run Multiple Replicas of a Process
  • Run a Foreground Process
  • Interactive Process
  • Themes Support
  • On the fly Process configuration edit
  • On the fly Project update
  • Recipes Management
  • Scheduled Processes (cron and interval-based)
  • File Watching - restart a process when its files change, optionally cascading to its dependents
  • Dependency Graph visualization (CLI, TUI, and API)
  • MCP Server integration for AI assistants — expose processes as tools/resources and (optionally) the project's own control plane (start/stop/scale/list/logs)
  • Processes Monitor (Push Notifications)