{"id":39191981,"url":"https://github.com/oakestra/oakestra","last_synced_at":"2026-01-17T22:43:42.247Z","repository":{"id":45670265,"uuid":"360961699","full_name":"oakestra/oakestra","owner":"oakestra","description":"A Lightweight Hierarchical Orchestration Framework for Edge Computing","archived":false,"fork":false,"pushed_at":"2026-01-16T12:28:36.000Z","size":962915,"stargazers_count":72,"open_issues_count":32,"forks_count":31,"subscribers_count":2,"default_branch":"develop","last_synced_at":"2026-01-17T02:46:59.054Z","etag":null,"topics":["docker","edge-computing","orchestration"],"latest_commit_sha":null,"homepage":"https://oakestra.io","language":"Python","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/oakestra.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"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,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2021-04-23T17:39:24.000Z","updated_at":"2026-01-14T15:07:18.000Z","dependencies_parsed_at":"2023-02-19T02:45:40.768Z","dependency_job_id":"1b66c9fb-3412-4e75-9b66-d82e64f70c35","html_url":"https://github.com/oakestra/oakestra","commit_stats":null,"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/oakestra/oakestra","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakestra%2Foakestra","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakestra%2Foakestra/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakestra%2Foakestra/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakestra%2Foakestra/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/oakestra","download_url":"https://codeload.github.com/oakestra/oakestra/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/oakestra%2Foakestra/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28521165,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-17T22:11:28.393Z","status":"ssl_error","status_checked_at":"2026-01-17T22:11:27.841Z","response_time":85,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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","edge-computing","orchestration"],"created_at":"2026-01-17T22:43:42.173Z","updated_at":"2026-01-17T22:43:42.239Z","avatar_url":"https://github.com/oakestra.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"![workflow code style](https://github.com/oakestra/oakestra/actions/workflows/super-linter.yml/badge.svg)\n![node artifacts](https://github.com/oakestra/oakestra/actions/workflows/node_engine_artifacts.yml/badge.svg)\n![system artifacts](https://github.com/oakestra/oakestra/actions/workflows/root_system_manager_tests.yml/badge.svg)\n[![Stable](https://img.shields.io/badge/Latest%20Stable-🎸Bass%20v0.4.400-green.svg)](https://github.com/oakestra/oakestra/tree/v0.4.400)\n[![Github Downloads](https://img.shields.io/github/downloads/oakestra/oakestra/total.svg)]()\n![Oakestra](res/oakestra-white.png)\n\n\n**Oakestra** is an orchestration platform designed for Edge Computing.\nPopular orchestration platforms such as Kubernetes or K3s struggle at maintaining workloads across heterogeneous and constrained devices. \nOakestra is build from the ground up to support computation in a flexible way at the edge. \n\n🌐 Read more about the project at: [oakestra.io](http://oakestra.io)\n\n📚 Check out the project wiki at: [oakestra.io/docs](https://www.oakestra.io/docs/getting-started/welcome-to-oakestra-docs/)\n\n---\n\n## 📕 Requirements \n\u003ca name=\"requirements\"\u003e\u003c/a\u003e\n\n### Minimum System Requirements\nRoot and Cluster orchestrator (combined):\n- Docker + Docker Compose v2\n- 5GB of Disk\n- 1GB of RAM\n- ARM64 or AMD64 architecture\n\nWorker Node:\n- Linux based distro with iptables compatbiliety \n- 50MB of space\n- 100MB RAM\n- ARM64 or AMD64 architecture\n\n### Network Configuration\nRoot: \n  - External APIs: port 10000\n  - Cluster APIs: ports 10099,10000\n\nCluster: \n  - Worker's Broker: port 10003\n  - Worker's APIs: port 10100\n\nWorker: \n  - P2P tunnel towards other workers: port 50103 \n\n# 🌳 Get Started\n\u003ca name=\"🌳-get-started\"\u003e\u003c/a\u003e\n\nBefore being able to deploy your first application, we must create a fully functional Oakestra Root 👑, to that we attach the clusters 🪵, and to each cluster we attach at least one worker node 🍃.\n\nCheck out the [GetStarted Guide](https://www.oakestra.io/docs/getting-started/oak-environment/create-your-first-oakestra-orchestrator/).\n\n\n# ⚒️ Build Instructions\n### Root Orchestrator \nBuild and run your own Root Orchestrator\n\nOn a Linux machine first, install Docker and Docker compose v2. \n\nConfigure the address used by the dashboard to reach your APIs by running:\n\n`export SYSTEM_MANAGER_URL=\u003cAddress of current machine\u003e`\n\n\nThen clone the repo and run:\n```bash\ncd root_orchestrator/\ndocker-compose up --build \n```\n\nThe following ports are exposed:\n\n- Port 80/TCP - Dashboard \n- Port 10000/TCP - System Manager (It also needs to be accessible from the Cluster Orchestrator)\n- Port 50052/TCP - System Manager (Needs to be exposed to the Clusters for cluster registration.)\n- Port 10099/TCP - Service Manager (This port can be exposed only to the Clusters)\n### Cluster Orchestrator\n\nFor each cluster, we need at least a machine running the clsuter orchestrator. \n\n- Log into the target machine/vm you intend to use\n- Install Docker and Docker compose v2.\n- Export the required parameters:\n\n```bash\n## Choose a unique name for your cluster\nexport CLUSTER_NAME=My_Awesome_Cluster\n\n## Optional: Give a name or geo coordinates to the current location. Default location set to coordinates of your IP\n#export CLUSTER_LOCATION=My_Awesome_Apartment\n\n## IP address where this root component can be reached to access the APIs\nexport SYSTEM_MANAGER_URL=\u003cIP address\u003e\n# Note: Use a non-loopback interface IP (e.g. any of your real interfaces that have internet access).\n# \"0.0.0.0\" leads to server issues\n```\n\nIf you wish yo build the cluster orchestrator yourself simply clone the repo and run:\n```bash\nexport CLUSTER_LOCATION=My_Awesome_Apartment #If building the code this is not optional anymore\ncd cluster_orchestrator/\ndocker-compose up --build \n```\n\nThe following ports must be exposed:\n\n- 10100 Cluster Manager (needs to be accessible by the Node Engine)\n\n### Worker nodes \n\n#### Worker nodes - Build your node engine\n*Requirements*\n- Linux OS with the following packages installed (Ubuntu and many other distributions natively supports them)\n  - iptable\n  - ip utils\n- port 50103 available to all worker nodes\n\nCompile and install the binary with:\n```\ncd go_node_engine/build\n./build.sh\n./install.sh $(dpkg --print-architecture)\n```\n\nThen configure and install the [NetManager](github.com/oakestra/oakestra-net) and perform the startup as usual. \n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foakestra%2Foakestra","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Foakestra%2Foakestra","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Foakestra%2Foakestra/lists"}