https://github.com/F1bonacc1/process-compose
Process Compose is a simple and flexible scheduler and orchestrator to manage non-containerized applications.
https://github.com/F1bonacc1/process-compose
docker go golang open-source orchestration orchestrator processes tui workflows
Last synced: 14 days ago
JSON representation
Process Compose is a simple and flexible scheduler and orchestrator to manage non-containerized applications.
- Host: GitHub
- URL: https://github.com/F1bonacc1/process-compose
- Owner: F1bonacc1
- License: apache-2.0
- Created: 2022-04-05T20:40:27.000Z (about 3 years ago)
- Default Branch: main
- Last Pushed: 2025-03-18T17:27:36.000Z (27 days ago)
- Last Synced: 2025-03-27T15:01:42.310Z (18 days ago)
- Topics: docker, go, golang, open-source, orchestration, orchestrator, processes, tui, workflows
- Language: Go
- Homepage: https://f1bonacc1.github.io/process-compose/
- Size: 3.13 MB
- Stars: 1,515
- Watchers: 13
- Forks: 60
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-tuis - process-compose
- awesome-cli-tui-software - F1bonacc1/process-compose - Process Compose is like docker-compose, but for orchestrating a suite of processes, not containers. (<a name="infra"></a>infra)
README
## Process Compose
[](https://go.dev/) [](https://GitHub.com/F1bonacc1/process-compose/graphs/commit-activity) [](http://makeapullrequest.com)  []() 
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](https://f1bonacc1.github.io/process-compose/installation/), you just need to describe your workflow using a simple [YAML](http://yaml.org/) schema in a file called `process-compose.yaml`:
```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](https://f1bonacc1.github.io/process-compose/launcher/) 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
- 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 SupportIt is heavily inspired by [docker-compose](https://github.com/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.
## Get Process Compose
[Installation Instructions](https://f1bonacc1.github.io/process-compose/installation/)
## Documentation
[Quick Start](https://f1bonacc1.github.io/process-compose/intro/)
[Documentation](https://f1bonacc1.github.io/process-compose/launcher/)
## 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 RequestEnglish 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
Thank **You**!