44c11d9d16
Change-type: minor |
||
---|---|---|
.versionbot | ||
compose | ||
docs/assets | ||
scripts | ||
src | ||
.gitignore | ||
.openbalenarc | ||
CHANGELOG.md | ||
LICENSE | ||
Makefile | ||
README.md | ||
repo.yml | ||
Vagrantfile | ||
VERSION |
openbalena is an open source platform that helps you deploy and manage connected devices. Devices run balenaOS, a host operating system designed for running containers on IoT devices, and are managed via the balena CLI, which you can use to configure your application containers, push updates, check status, view logs, and more.
Highlights
- Slim, container-based OS: Bring the benefits of balenaOS, our container-optimized OS, to your entire fleet of edge devices.
- Manage your fleet from the command line: Provision and deploy code quickly to devices from the command line, update your entire fleet with a single command.
- Extensible with powerful API & SDK: Customize openbalena to fit your operational needs at any scale.
Field-ready fleet management
openbalena’s backend services, composed of battle-tested components that we’ve run in production on balenaCloud for years, can store device information securely and reliably, allow remote management via a built-in VPN service, and efficiently distribute container images to your devices.
Features
- Simple provisioning: Adding devices to your fleet is a breeze
- Easy updates: Remotely update the software on your devices with a single command
- Container-based: Benefit from the power of virtualization, optimized for the edge
- Scalable: Deploy and manage one device, or one million
- Powerful API & SDK: Extend openBalena to fit your needs
- Built-in VPN: Access your devices regardless of their network environment
To learn more about openBalena, visit balena.io/open.
Getting Started
Our Getting Started guide is the most direct path to getting an openBalena installation up and running and successfully deploying your application to your device(s).
Compatibility
The current release of openBalena has the following minimum version requirements:
- balenaOS v2.58.3
- balena CLI v12.38.5
If you are updating from previous openBalena versions, ensure you update the balena CLI and reprovision any devices to at least the minimum required versions in order for them to be fully compatible with this release, as some features may not work.
Documentation
While we're still working on the project documentation, please refer to the balenaCloud documentation. BalenaCloud is built on top of openBalena, so the core concepts and functionality is identical. The following sections are of particular interest:
- Overview / A balena primer
- Overview / Core Concepts
- Overview / Going to production
- Develop / Define a container
- Develop / Multiple containers
- Develop / Runtime
- Develop / Interact with hardware
- Deploy / Optimize your builds
- Reference
- FAQ
Getting Help
You are welcome to submit any questions, participate in discussions and request help with any issue in openBalena forums. The balena team frequents these forums and will be happy to help. You can also ask other community members for help, or contribute by answering questions posted by fellow openBalena users. Please do not use the issue tracker for support-related questions.
Contributing
Everyone is welcome to contribute to openBalena. There are many different ways to get involved apart from submitting pull requests, including helping other users on the forums, reporting or triaging issues, reviewing and discussing pull requests, or just spreading the word.
All of openBalena is hosted on GitHub. Apart from its constituent components, which are the API, VPN, Registry, S3 storage service, and Database, contributions are also welcome to its client-side software such as the balena CLI, the balena SDK, balenaOS and balenaEngine.
Roadmap
OpenBalena is currently in beta. While fully functional, it lacks features we consider important before we can comfortably call it production-ready. During this phase, don’t be alarmed if things don’t work as expected just yet (and please let us know about any bugs or errors you encounter!). The following improvements and new functionality is planned:
- Full documentation
- Full test suite
- Simplified deployment
- Remote host OS updates
- Support for custom device types
Differences between openBalena and balenaCloud
openBalena | balenaCloud |
---|---|
Device updates using full images | Device updates using delta images |
Support for a single user | Support for multiple users |
Self-hosted deployment and scaling | balena-managed scaling and deployment |
Community support via forums | Private support on paid plans |
Deploy via balena deploy only |
Build remotely with native builders using balena push or git push |
No support for building via git push |
Use the same CI workflow with git push |
No public URL support | Serve websites directly from device with public device URLs |
Management via balena-cli only |
Cloud-based device management dashboard |
Download images from balena.io | Download preconfigured images directly from the dashboard |
No supported remote diagnostics | Remote device diagnostics |
Supported devices: Raspberry Pi family, the Intel NUC, the NVIDIA Jetson TX2, and the balenaFin | All the devices listed in balena's reference documentation |
Additionally, refer back to the roadmap above for planned but not yet implemented features.
License
OpenBalena is licensed under the terms of AGPL v3. See LICENSE for details.