{"data":{"slug":"f1bonacc1-process-compose","name":"process-compose","tagline":"A scheduler and orchestrator for non-containerized applications","github_url":"https://github.com/F1bonacc1/process-compose","owner":"F1bonacc1","repo":"process-compose","owner_avatar_url":"https://avatars.githubusercontent.com/u/806740?v=4","primary_language":"Go","stars":2779,"forks":149,"topics":["docker","go","golang","open-source","orchestration","orchestrator","processes","tui","workflows"],"archived":false,"github_pushed_at":"2026-09-07T11:03:52+00:00","maintenance_label":"Active","stars_delta_30d":116,"url":"https://www.graphcanon.com/tools/f1bonacc1-process-compose","markdown_url":"https://www.graphcanon.com/tools/f1bonacc1-process-compose.md","api_url":"https://www.graphcanon.com/api/graphcanon/tools/f1bonacc1-process-compose","graph_url":"https://www.graphcanon.com/api/graphcanon/graph?tool=f1bonacc1-process-compose","description":"Process Compose is a simple and flexible scheduler and orchestrator to manage non-containerized applications.","homepage_url":"https://f1bonacc1.github.io/process-compose/","license":"Apache-2.0","open_issues":26,"watchers":13,"ai_summary":"Process Compose is an open-source tool written in Go to manage the scheduling and orchestration of non-containerized processes using YAML for configuration.","readme_excerpt":"## Process Compose\n\n     \n\nProcess Compose is a simple and flexible scheduler and orchestrator to manage non-containerized applications.\n\n<img src=\"./imgs/demo.gif\" alt=\"Demo\" />\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 using [envsubst](https://github.com/drone/envsubst)\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) with optional token authentication `PC_API_TOKEN`\n- Logs caching\n- Functions as both server and client\n- Configurable shortcuts\n- Merge Configuration Files\n- Namespaces\n- Namespace Operations (Start, Stop, Restart via CLI and TUI)\n- Run Multiple Replicas of a Process\n- Run a Foreground Process\n- Interactive Process\n- Themes Support\n- On the fly Process configuration edit\n- On the fly Project update\n- [Recipes](https://github.com/F1bonacc1/process-compose-recipes) Management\n- Scheduled Processes (cron and interval-based)\n- [File Watching](https://f1bonacc1.github.io/process-compose/watch/) - restart a process when its files change, optionally cascading to its dependents\n- Dependency Graph visualization (CLI, TUI, and API)\n- [MCP Server](https://f1bonacc1.github.io/process-compose/mcp-server/) integration for AI assistants — expose processes as tools/resources and (optionally) the project's own control plane (start/stop/scale/list/logs)\n- Process Monitor (Push Notifications)\n\n<img src=\"./imgs/tui.png\" alt=\"TUI\" style=\"zoom:67%;\" />\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## Video Series\n\n[Process Compose Intro](https://www.youtube.com/playlist?list=PLY3UbHll3zOI) 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.\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\nSee the [Contributing](https://f1bonacc1.github.io/process-compose/contributing/) page for more details.\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\n<https://github.com/sponsors/F1bonacc1>\n\nHuge thanks to my **amazing** GitHub sponsors:\n\n\n\n##### Bitcoin\n\n<img src=\"./imgs/btc.wallet.qr.png\" style=\"zoom:50%;\"  alt=\"3QjRfBzwQASQfypATTwa6gxwUB65CX1jfX\"/>\n\n3QjRfBzwQASQfypATTwa6gxwUB65CX1jfX\n\nThank **You**!","github_created_at":"2022-04-05T20:40:27+00:00","created_at":"2026-07-15T10:51:29.467426+00:00","updated_at":"2026-09-20T04:34:00.851501+00:00","categories":[{"slug":"developer-tools","name":"Developer Tools","url":"https://www.graphcanon.com/categories/developer-tools","markdown_url":"https://www.graphcanon.com/categories/developer-tools.md","api_url":"https://www.graphcanon.com/api/graphcanon/categories/developer-tools"}],"tags":[{"slug":"docker","name":"docker"},{"slug":"go","name":"go"},{"slug":"golang","name":"golang"},{"slug":"open-source","name":"open-source"},{"slug":"orchestration","name":"orchestration"},{"slug":"processes","name":"processes"},{"slug":"tui","name":"tui"},{"slug":"workflows","name":"workflows"}],"trust":{"provenance":{"is_fork":false,"github_id":478293508,"owner_type":"User","methodology":"github_public_v1","parent_repo":null,"near_duplicate_slugs":[]},"computed_at":"2026-09-19T06:00:18.437Z","maintenance":{"label":"Active","score":82,"methodology":"github_public_v1","releases_90d":2,"days_since_push":11,"last_release_at":"2026-08-17T23:01:55Z","stars_delta_30d":116,"open_issues_delta_30d":9},"security_summary":{"status":"findings","scanner":"osv@v1","low_count":3,"high_count":0,"last_scan_at":"2026-07-15T10:51:30.829Z","medium_count":0,"scan_profile":"deps","critical_count":0}},"capability_facts":{"scan":{"source":"repo_scan","observed_at":"2026-09-19T06:00:18.919Z"},"languages":{"value":["go"],"source":"github.language","observed_at":"2026-09-19T06:00:18.919Z"},"license_spdx":{"value":"Apache-2.0","source":"github.license","observed_at":"2026-09-19T06:00:18.919Z"}},"decision_facts":{"hosting":null,"pricing":null,"requirements":{"notes":["This tool focuses on managing non-containerized applications.","Ensure the environment has Go installed for installation and use."],"min_ram_gb":null,"requires_docker":false},"constraints":{"min_ram_gb":null,"requires_docker":false},"when_to_use":["Use Process Compose when you need to schedule and orchestrate non-containerized processes without the complexity of Docker configuration.","Optimal in environments where setting up containers is cumbersome or not feasible, allowing streamlined process management via a single binary file."],"when_not_to_use":["Avoid using Process Compose if you require containerization for your applications, as it does not support Docker's features like isolation and resource allocation.","Not suitable when the preferred orchestration framework is one that supports containers natively, such as Kubernetes or Docker Swarm."],"source":"enrich:decision_facts","observed_at":"2026-07-17T09:12:54.896Z"},"constraint_facets":{"min_ram_gb":null,"requires_docker":false},"decision_summary":[{"label":"Requirements","value":"This tool focuses on managing non-containerized applications.; Ensure the environment has Go installed for installation and use."},{"label":"Adopt for","value":"Process Compose is an open-source Go tool for managing non-containerized applications using YAML config files."}]}}