{"id":13588162,"url":"https://github.com/balena-io/open-balena","last_synced_at":"2026-05-21T23:11:05.622Z","repository":{"id":33262306,"uuid":"122176139","full_name":"balena-io/open-balena","owner":"balena-io","description":"Open source software to manage connected IoT devices at scale","archived":false,"fork":false,"pushed_at":"2026-03-05T23:47:25.000Z","size":4642,"stargazers_count":1222,"open_issues_count":23,"forks_count":194,"subscribers_count":45,"default_branch":"master","last_synced_at":"2026-03-06T03:38:27.525Z","etag":null,"topics":["balena","docker","iot","open-balena","raspberrypi","resin-io"],"latest_commit_sha":null,"homepage":"https://balena.io/open","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/balena-io.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"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":"2018-02-20T09:10:10.000Z","updated_at":"2026-03-05T23:47:28.000Z","dependencies_parsed_at":"2026-02-24T19:01:59.624Z","dependency_job_id":null,"html_url":"https://github.com/balena-io/open-balena","commit_stats":{"total_commits":864,"total_committers":32,"mean_commits":27.0,"dds":0.5949074074074074,"last_synced_commit":"ae04763e7da839b98fb8bbb3bf164938e7685fa8"},"previous_names":[],"tags_count":822,"template":false,"template_full_name":null,"purl":"pkg:github/balena-io/open-balena","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balena-io%2Fopen-balena","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balena-io%2Fopen-balena/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balena-io%2Fopen-balena/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balena-io%2Fopen-balena/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/balena-io","download_url":"https://codeload.github.com/balena-io/open-balena/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/balena-io%2Fopen-balena/sbom","scorecard":{"id":64311,"data":{"date":"2025-08-11","repo":{"name":"github.com/balena-io/open-balena","commit":"da0b2552df5fcee61c7334ed8b59310c932f26f8"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":6.1,"checks":[{"name":"Code-Review","score":0,"reason":"Found 1/19 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Maintained","score":10,"reason":"30 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: GNU Affero General Public License v3.0: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Token-Permissions","score":10,"reason":"GitHub workflow tokens follow principle of least privilege","details":["Info: topLevel 'contents' permission set to 'read': .github/workflows/flowzone.yml:12","Info: topLevel 'packages' permission set to 'read': .github/workflows/flowzone.yml:14","Info: topLevel 'contents' permission set to 'read': .github/workflows/tests.yml:10","Info: topLevel 'packages' permission set to 'read': .github/workflows/tests.yml:12","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: 'allow deletion' enabled on branch 'master'","Warn: 'force pushes' enabled on branch 'master'","Warn: 'branch protection settings apply to administrators' is disabled on branch 'master'","Warn: 'stale review dismissal' is disabled on branch 'master'","Warn: branch 'master' does not require approvers","Warn: codeowners review is not required on branch 'master'","Warn: 'last push approval' is disabled on branch 'master'","Info: 'up-to-date branches' is required to merge on branch 'master'","Info: status check found to merge onto on branch 'master'","Info: PRs are required in order to make changes on branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"Pinned-Dependencies","score":3,"reason":"dependency not pinned by hash detected -- score normalized to 3","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/flowzone.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/balena-io/open-balena/flowzone.yml/master?enable=pin","Warn: containerImage not pinned by hash: src/balena-tests/Dockerfile:1: pin your Docker image by updating ubuntu:24.04 to ubuntu:24.04@sha256:7c06e91f61fa88c08cc74f7e1b7c69ae24910d745357e0dfe1d2c0322aaf20f9","Warn: containerImage not pinned by hash: src/cert-manager/Dockerfile:2: pin your Docker image by updating balena/cert-manager:0.3.3 to balena/cert-manager:0.3.3@sha256:b23cbdb82944e6699ed2d0d4752457e1776b076e4af207d25566770dc755e48b","Warn: containerImage not pinned by hash: src/haproxy-sidecar/Dockerfile:1: pin your Docker image by updating docker to docker@sha256:c0872aae4791ff427e6eda52769afa04f17b5cf756f8267e0d52774c99d5c9de","Warn: containerImage not pinned by hash: src/haproxy/Dockerfile:2: pin your Docker image by updating balena/open-balena-haproxy:v4.3.2 to balena/open-balena-haproxy:v4.3.2@sha256:e906d86ffed8528beafba0e4d4aaf32654da163d72335a41ca8a6dc5209cb217","Warn: containerImage not pinned by hash: src/tag-sidecar/Dockerfile:1: pin your Docker image by updating bash:alpine3.19 to bash:alpine3.19@sha256:890897682a8025c1e178b5ec6126b3b532ad8535f1e81dbf60bc2b7300b1bcf8","Warn: containerImage not pinned by hash: src/test-device/Dockerfile:3: pin your Docker image by updating ghcr.io/qemus/qemu:7.12 to ghcr.io/qemus/qemu:7.12@sha256:ab767a6b9c8cf527d521eee9686dce09933bc35599ee58be364eb8f3a03001ea","Warn: downloadThenRun not pinned by hash: src/balena-tests/Dockerfile:19","Info:   1 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   4 out of   5 third-party GitHubAction dependencies pinned","Info:   0 out of   6 containerImage dependencies pinned","Info:   0 out of   1 downloadThenRun dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"SAST","score":10,"reason":"SAST tool is run on all commits","details":["Info: all commits (20) are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-15T02:17:45.087Z","repository_id":33262306,"created_at":"2025-08-15T02:17:45.087Z","updated_at":"2025-08-15T02:17:45.087Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30326878,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-10T05:25:20.737Z","status":"ssl_error","status_checked_at":"2026-03-10T05:25:17.430Z","response_time":106,"last_error":"SSL_read: 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":["balena","docker","iot","open-balena","raspberrypi","resin-io"],"created_at":"2024-08-01T15:06:32.663Z","updated_at":"2026-03-10T06:05:27.232Z","avatar_url":"https://github.com/balena-io.png","language":"Shell","funding_links":[],"categories":["Shell","docker"],"sub_categories":[],"readme":"[![Flowzone](https://github.com/balena-io/open-balena/actions/workflows/flowzone.yml/badge.svg)](https://github.com/balena-io/open-balena/actions/workflows/flowzone.yml)\n\n![](./docs/images/openbalena-logo.svg)\n\n[![deploy button](https://balena.io/deploy.svg)](https://dashboard.balena-cloud.com/deploy?repoUrl=https://github.com/balena-io/open-balena)\n\nOpenBalena is a platform to deploy and manage connected devices. Devices run\n[balenaOS][balena-os-website], a host operating system designed for running\ncontainers on IoT devices, and are managed via the [balena CLI][balena-cli],\nwhich you can use to configure your application containers, push updates, check\nstatus, view logs, and so forth. OpenBalena’s backend services, composed of\nbattle-tested components that we’ve run in production on [balenaCloud][balena-cloud-website]\nfor years, can store device information securely and reliably, allow remote\nmanagement via a built-in VPN service, and efficiently distribute container\nimages to your devices.\n\nTo learn more about openBalena, visit [balena.io/open][open-balena-website].\n\n- [Features](#features)\n- [Getting Started](#getting-started)\n- [Compatibility](#compatibility)\n- [Documentation](#documentation)\n- [Getting Help](#getting-help)\n- [Contributing](#contributing)\n- [Roadmap](#roadmap)\n- [Differences between openBalena and balenaCloud](#differences-between-openbalena-and-balenacloud)\n- [License](#license)\n- [FAQ](#faq)\n  - [How do you ensure continuity of openBalena? Are there security patches on openBalena?](#how-do-you-ensure-continuity-of-openbalena-are-there-security-patches-on-openbalena)\n  - [How do you ensure the \"Join\" command actually works between openBalena and](#how-do-you-ensure-the-join-command-actually-works-between-openbalena-and)\n  - [Is it \"production ready\"?](#is-it-production-ready)\n  - [Can a new device type be added to openBalena?](#can-a-new-device-type-be-added-to-openbalena)\n  - [Are there open-source UI dashboards from the community for openBalena?](#are-there-open-source-ui-dashboards-from-the-community-for-openbalena)\n\n\n\n## Features\n\n- **Simple provisioning**: Adding devices to your fleet is a breeze\n- **Easy updates**: Remotely update the software on your devices with a single command\n- **Container-based**: Benefit from the power of virtualization, optimized for the edge\n- **Scalable**: Deploy and manage one device, or one million\n- **Powerful API \u0026 SDK**: Extend openBalena to fit your needs\n- **Built-in VPN**: Access your devices regardless of their network environment\n\n\n## Getting Started\n\nOur [Getting Started guide][getting-started] is the most direct path to getting\nan openBalena installation up and running and successfully deploying your\napplication to your device(s).\n\n\n## Compatibility\n\nThe current release of openBalena has the following minimum version requirements:\n\n- balenaOS v5.2.8\n- balena CLI v18.2.2\n\nIf you are updating from previous openBalena versions, ensure you update the balena\nCLI and re-provision any devices to at least the minimum required versions in order\nfor them to be fully compatible with this release, as some features may not work.\n\nWhile in-place openBalena upgrades may succeed, when performing major updates, it is\nrecommended for a new instance to be deployed in parallel with the existing one, followed\nby copying state across and pointing a test device to the new instance.\n\n\n## Documentation\n\nWhile we're still working on the project documentation, please refer to the\n[balenaCloud documentation][documentation]. BalenaCloud is built on top of\nopenBalena, so the core concepts and functionality is identical. The following\nsections are of particular interest:\n\n- [Overview / A balena primer](https://balena.io/docs/learn/welcome/primer)\n- [Overview / Core Concepts](https://balena.io/docs/learn/welcome/concepts)\n- [Overview / Going to production](https://balena.io/docs/learn/welcome/production-plan)\n- [Develop / Define a container](https://balena.io/docs/learn/develop/dockerfile)\n- [Develop / Multiple containers](https://balena.io/docs/learn/develop/multicontainer)\n- [Develop / Runtime](https://balena.io/docs/learn/develop/runtime)\n- [Develop / Interact with hardware](https://balena.io/docs/learn/develop/hardware)\n- [Deploy / Optimize your builds](https://balena.io/docs/learn/deploy/build-optimization)\n- [Reference](https://balena.io/docs/reference)\n- [FAQ](https://balena.io/docs/faq/troubleshooting/faq)\n\n\n## Getting Help\n\nYou are welcome to submit any questions, participate in discussions and request\nhelp with any issue in [openBalena forums][forums]. The balena team frequents\nthese forums and will be happy to help. You can also ask other community members\nfor help, or contribute by answering questions posted by fellow openBalena users.\nPlease do not use the issue tracker for support-related questions.\n\n\n## Contributing\n\nEveryone is welcome to contribute to openBalena. There are many different ways\nto get involved apart from submitting pull requests, including helping other\nusers on the [forums][forums], reporting or triaging [issues][issue-tracker],\nreviewing and discussing [pull requests][pulls], or just spreading the word.\n\nAll of openBalena is hosted on GitHub. Apart from its constituent components,\nwhich are the [API][open-balena-api], [VPN][open-balena-vpn], [Registry][open-balena-registry],\n[S3 storage service][open-balena-s3], and [Database][open-balena-db], contributions\nare also welcome to its client-side software such as the [balena CLI][balena-cli],\nthe [balena SDK][balena-sdk], [balenaOS][balena-os] and [balenaEngine][balena-engine].\n\n\n## Roadmap\n\nOpenBalena is currently in beta. While fully functional, it lacks features we\nconsider important before we can comfortably call it production-ready. During\nthis phase, don’t be alarmed if things don’t work as expected just yet (and\nplease let us know about any bugs or errors you encounter!). The following\nimprovements and new functionality is planned:\n\n- Full documentation\n- Full test suite\n- Simplified deployment\n- Remote host OS updates\n- Support for custom device types\n\n\n## Differences between openBalena and balenaCloud\n\nWhilst openBalena and balenaCloud share the same core technology, there are some key\ndifferences. First, openBalena is self-hosted, whereas balenaCloud is hosted by balena and\ntherefore handles security, maintenance, scaling, and reliability of all the backend\nservices. OpenBalena is also single user, whereas balenaCloud supports multiple users and\norganizations. OpenBalena also lacks some of the commercial features that define\nbalenaCloud, such as the web-based dashboard and updates with binary container deltas.\n\nThe following table contains the main differences between both:\n\n| openBalena                                                                                 | balenaCloud                                                                                                                                                                                               |\n| ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |\n| Device updates using full Docker images                                                    | Device updates using [delta images](https://www.balena.io/docs/learn/deploy/delta/)                                                                                                                       |\n| Support for a single user                                                                  | Support for [multiple users](https://www.balena.io/docs/learn/manage/account/#application-members)                                                                                                        |\n| Self-hosted deployment and scaling                                                         | balena-managed scaling and deployment                                                                                                                                                                     |\n| Community support via [forums][forums]                                                     | Private support on [paid plans](https://www.balena.io/pricing/)                                                                                                                                           |\n| Build locally and deploy via `balena-cli`                                                  | Build remotely with native builders using [`balena push`](https://www.balena.io/docs/learn/deploy/deployment/#balena-push) or  [`git push`](https://www.balena.io/docs/learn/deploy/deployment/#git-push) |\n| No public device URL support                                                               | Serve websites directly from device with [public device URLs](https://www.balena.io/docs/learn/manage/actions/#enable-public-device-url)                                                                  |\n| Management via `balena-cli` only                                                           | Cloud-based device management dashboard                                                                                                                                                                   |\n| Download images from [balena.io][balena-os-website] and configure locally via `balena-cli` | Download configured images directly from the dashboard                                                                                                                                                    |\n| No remote device diagnostics                                                               | Remote device diagnostics                                                                                                                                                                                 |\n\nAdditionally, refer back to the [roadmap](#roadmap) above for planned but not yet\nimplemented features.\n\n\n## License\n\nOpenBalena is licensed under the terms of AGPL v3. See [LICENSE] for details.\n\n\n## FAQ\n\n### How do you ensure continuity of openBalena? Are there security patches on openBalena?\nopenBalena is an open source initiative which is mostly driven by us, but it also gets\ncontributions from the community. We work to keep openBalena as up to date as our\nbandwidth allows, especially with security patches. That said, we do not have a policy or\nguarantee of a software release schedule. However, it is in our best interest to keep\nopenBalena updated and patched since we also use it for balenaCloud.\n\n### How do you ensure the \"Join\" command actually works between openBalena and\nbalenaCloud?\nThe `balena join ..` command is frequently used for moving devices between openBalena,\nand balenaCloud environments. This command extends `balena os configure ..`, which is the\nbasic tool balena uses for configuring devices.\n\n### Is it \"production ready\"?\nWhile we actually have some rather large fleets using openBalena, we consider it to be\nperpetually in \"beta\". This means potentially introducing breaking changes between\nreleases.\n\n### Can a new device type be added to openBalena?\nopenBalena imports the following public [device-types] \"out of the box\". You can specify\nyour own contracts repository by overriding `CONTRACTS_PUBLIC_REPO_NAME`,\n`CONTRACTS_PUBLIC_REPO_OWNER` and `IMAGE_STORAGE_BUCKET` environment variables on the API\nservice/container.\n\n### Are there open-source UI dashboards from the community for openBalena?\nYes! Here are a few:\n- [open-balena-admin / open-balena-ui](https://github.com/dcaputo-harmoni/open-balena-admin) by [dcaputo-harmoni](https://github.com/dcaputo-harmoni) who first posted about [here](https://forums.balena.io/t/open-balena-admin-an-admin-interface-for-openbalena/355324) in our Forums :)\n- [open-balena-dashboard](https://github.com/Razikus/open-balena-dashboard) by [Razikus](https://github.com/Razikus)\n\n\n[balena-cli]: https://github.com/balena-io/balena-cli\n[balena-cloud-website]: https://balena.io/cloud\n[balena-engine]: https://github.com/balena-os/balena-engine\n[balena-os-website]: https://balena.io/os\n[balena-os]: https://github.com/balena-os/meta-balena\n[balena-sdk]: https://github.com/balena-io/balena-sdk\n[documentation]: https://balena.io/docs/learn/welcome/introduction/\n[forums]: https://forums.balena.io/c/open-balena\n[getting-started]: https://balena.io/open/docs/getting-started\n[issue-tracker]: https://github.com/balena-io/open-balena/issues\n[LICENSE]: https://github.com/balena-io/open-balena/blob/master/LICENSE\n[open-balena-admin / open-balena-ui]: https://github.com/dcaputo-harmoni/open-balena-admin\n[open-balena-api]: https://github.com/balena-io/open-balena-api\n[open-balena-dashboard]: https://github.com/Razikus/open-balena-dashboard\n[open-balena-db]: https://github.com/balena-io/open-balena-db\n[open-balena-registry]: https://github.com/balena-io/open-balena-registry\n[open-balena-s3]: https://github.com/balena-io/open-balena-s3\n[open-balena-vpn]: https://github.com/balena-io/open-balena-vpn\n[open-balena-website]: https://balena.io/open\n[pulls]: https://github.com/balena-io/open-balena/pulls\n[device-types]: https://github.com/balena-io/contracts/blob/master/contracts/hw.device-type\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbalena-io%2Fopen-balena","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbalena-io%2Fopen-balena","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbalena-io%2Fopen-balena/lists"}