Skip to content

F1bonacc1/process-compose

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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)
  • Logs caching
  • Functions as both server and client
  • Configurable shortcuts
  • Merge Configuration Files
  • Namespaces
  • Run Multiple Replicas of a Process
  • Run a Foreground Process
  • Themes Support
  • On the fly Process configuration edit
  • On the fly Project update
  • Recipes Management

It is heavily inspired by docker-compose, but without the need for containers. The configuration syntax tries to follow the docker-compose specifications, with a few minor additions and lots of subtractions.

TUI

Get Process Compose

Installation Instructions

Documentation

Quick Start

Documentation

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)

https://github.com/sponsors/F1bonacc1

Bitcoin

3QjRfBzwQASQfypATTwa6gxwUB65CX1jfX

3QjRfBzwQASQfypATTwa6gxwUB65CX1jfX

Thank You!

About

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

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

 

Contributors 40