{"id":15038715,"url":"https://github.com/f1bonacc1/process-compose","last_synced_at":"2025-05-13T23:08:16.110Z","repository":{"id":37249780,"uuid":"478293508","full_name":"F1bonacc1/process-compose","owner":"F1bonacc1","description":"Process Compose is a simple and flexible scheduler and orchestrator to manage non-containerized applications.","archived":false,"fork":false,"pushed_at":"2025-05-05T21:06:27.000Z","size":3255,"stargazers_count":1575,"open_issues_count":28,"forks_count":63,"subscribers_count":12,"default_branch":"main","last_synced_at":"2025-05-05T22:21:15.148Z","etag":null,"topics":["docker","go","golang","open-source","orchestration","orchestrator","processes","tui","workflows"],"latest_commit_sha":null,"homepage":"https://f1bonacc1.github.io/process-compose/","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/F1bonacc1.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["F1bonacc1"]}},"created_at":"2022-04-05T20:40:27.000Z","updated_at":"2025-05-05T21:06:30.000Z","dependencies_parsed_at":"2023-11-15T00:26:36.312Z","dependency_job_id":"5b6c289c-bc03-4604-9607-2a0d01f7c1ce","html_url":"https://github.com/F1bonacc1/process-compose","commit_stats":null,"previous_names":[],"tags_count":60,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/F1bonacc1%2Fprocess-compose","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/F1bonacc1%2Fprocess-compose/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/F1bonacc1%2Fprocess-compose/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/F1bonacc1%2Fprocess-compose/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/F1bonacc1","download_url":"https://codeload.github.com/F1bonacc1/process-compose/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254041571,"owners_count":22004744,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","go","golang","open-source","orchestration","orchestrator","processes","tui","workflows"],"created_at":"2024-09-24T20:39:51.131Z","updated_at":"2025-05-13T23:08:11.083Z","avatar_url":"https://github.com/F1bonacc1.png","language":"Go","readme":"## Process Compose\n\n[![made-with-Go](https://img.shields.io/badge/Made%20with-Go-1f425f.svg)](https://go.dev/) [![Maintenance](https://img.shields.io/badge/Maintained%3F-yes-green.svg)](https://GitHub.com/F1bonacc1/process-compose/graphs/commit-activity) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](http://makeapullrequest.com) ![Go Report](https://goreportcard.com/badge/github.com/F1bonacc1/process-compose) [![Releases](https://img.shields.io/github/downloads/F1bonacc1/process-compose/total.svg)]() ![X (formerly Twitter) URL](https://img.shields.io/twitter/url?url=https%3A%2F%2Ftwitter.com%2FProcessCompose\u0026style=flat\u0026logo=x\u0026label=Process%20Compose)\n\n\n\nProcess Compose is a simple and flexible scheduler and orchestrator to manage non-containerized applications.\n\n**Why?** Because sometimes you just don't want to deal with docker files, volume definitions, networks and docker registries.\nSince it's written in Go, Process Compose is a single binary file and has no other dependencies.\n\nOnce [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`:\n\n```yaml\nversion: \"0.5\"\n\nprocesses:\n  hello:\n    command: echo 'Hello World'\n  pc:\n    command: echo 'From Process Compose'\n    depends_on:\n      hello:\n        condition: process_completed\n```\n\nAnd start it by running `process-compose` from your terminal.\n\nCheck the [Documentation](https://f1bonacc1.github.io/process-compose/launcher/) for more advanced use cases.\n\n#### Features:\n\n- Processes execution (in parallel or/and serially)\n- Processes dependencies and startup order\n- Process recovery policies\n- Manual process [re]start\n- Processes arguments `bash` or `zsh` style (or define your own shell)\n- Per process and global environment variables\n- Per process or global (single file) logs\n- Health checks (liveness and readiness)\n- Terminal User Interface (TUI) or CLI modes\n- Forking (services or daemons) processes\n- REST API (OpenAPI a.k.a Swagger)\n- Logs caching\n- Functions as both server and client\n- Configurable shortcuts\n- Merge Configuration Files\n- Namespaces\n- Run Multiple Replicas of a Process\n- Run a Foreground Process \n- Themes Support\n\nIt 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.\n\n\u003cimg src=\"./imgs/tui.png\" alt=\"TUI\" style=\"zoom:67%;\" /\u003e\n\n## Get Process Compose\n\n[Installation Instructions](https://f1bonacc1.github.io/process-compose/installation/)\n\n## Documentation\n\n[Quick Start](https://f1bonacc1.github.io/process-compose/intro/)\n\n[Documentation](https://f1bonacc1.github.io/process-compose/launcher/)\n\n## How to Contribute\n\n1. Fork it\n2. Create your feature branch (git checkout -b my-new-feature)\n3. Commit your changes (git commit -am 'Add some feature')\n4. Push to the branch (git push origin my-new-feature)\n5. Create new Pull Request\n\nEnglish is not my native language, so PRs correcting grammar or spelling are welcome and appreciated.\n\n### Consider supporting the project ❤️\n\n##### Github (preferred)\n\nhttps://github.com/sponsors/F1bonacc1\n\n##### Bitcoin\n\n\u003cimg src=\"./imgs/btc.wallet.qr.png\" style=\"zoom:50%;\"  alt=\"3QjRfBzwQASQfypATTwa6gxwUB65CX1jfX\"/\u003e\n\n3QjRfBzwQASQfypATTwa6gxwUB65CX1jfX\n\nThank **You**!\n","funding_links":["https://github.com/sponsors/F1bonacc1"],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff1bonacc1%2Fprocess-compose","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ff1bonacc1%2Fprocess-compose","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ff1bonacc1%2Fprocess-compose/lists"}