process-compose is a free, open source orchestration & scheduling project written in Go and released under Apache-2.0. It has 2,779 GitHub stars, 149 forks and 26 open issues, and was last pushed 11 days ago. On this registry it ranks #46 of 110 tracked projects in Orchestration & Scheduling, with 5 head-to-head comparisons available.

Process Compose

made-with-Go Maintenance PRs Welcome Go Report Releases X (formerly Twitter) URL

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

Why? 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'
  pc:
    command: echo 'From Process Compose'
    depends_on:
      hello:
        condition: process_completed

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

Check the Documentation for more advanced use cases.

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 PC_API_TOKEN
  • 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)
  • Process Monitor (Push Notifications)

Get Process Compose

Installation Instructions

Documentation

Quick Start

Documentation

Video Series

Process Compose Intro is a ten part course, about 45 minutes in total. It goes from a first config through dependencies, health checks, restart policies, the TUI, templating, namespaces, the REST API and CI pipelines. Every episode has chapter markers.

How to Contribute

  1. Fork it
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create new Pull Request

See the Contributing page for more details.

English is not my native language, so PRs correcting grammar or spelling are welcome and appreciated.

Consider supporting the project ❤️

Github (preferred)

Huge thanks to my amazing GitHub sponsors:

Sponsors

Bitcoin

3QjRfBzwQASQfypATTwa6gxwUB65CX1jfX

Thank You!

Frequently asked questions

Is process-compose free to use?

process-compose is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does process-compose do?

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

What is process-compose written in?

process-compose is primarily written in Go. Its source is publicly available at https://github.com/F1bonacc1/process-compose, and it has 2,779 GitHub stars.