2024-09-19 10:28:09 -05:00

2022-11-30 13:18:17 -05:00
# bootc
2022-11-30 17:08:22 -05:00
Transactional, in-place operating system updates using OCI/Docker container images.
2024-06-06 11:38:43 -04:00
## Motivation
2022-11-30 17:08:22 -05:00
The original Docker container model of using "layers" to model
applications has been extremely successful. This project
aims to apply the same technique for bootable host systems - using
standard OCI/Docker containers as a transport and delivery format
for base operating system updates.
The container image includes a Linux kernel (in e.g. `/usr/lib/modules` ),
which is used to boot. At runtime on a target system, the base userspace is
2024-06-16 09:06:23 +00:00
*not* itself running in a "container" by default. For example, assuming
2022-11-30 17:08:22 -05:00
systemd is in use, systemd acts as pid1 as usual - there's no "outer" process.
2024-06-16 09:06:23 +00:00
More about this in the docs; see below.
2022-11-30 13:18:17 -05:00
2024-06-06 11:38:43 -04:00
## Status
2024-05-09 13:18:27 -06:00
2024-10-19 13:02:50 +00:00
The CLI and API are considered stable. We will ensure that every existing system
can be upgraded in place seamlessly across any future changes.
2024-05-09 13:18:27 -06:00
2024-06-06 11:38:43 -04:00
## Documentation
2025-03-10 09:40:26 -04:00
See the [project documentation ](https://bootc-dev.github.io/bootc/ ).
2024-06-06 11:38:43 -04:00
2025-05-22 10:54:37 -04:00
## Versioning
Although bootc is not released to crates.io as a library, version
numbers are expected to follow [semantic
versioning](https://semver.org/) standards. This practice began with
the release of version 1.2.0; versions prior may not adhere strictly
to semver standards.
2024-10-22 15:05:38 -04:00
## Adopters (base and end-user images)
The bootc CLI is just a client system; it is not tied to any particular
operating system or Linux distribution. You very likely want to actually
start by looking at [ADOPTERS.md ](ADOPTERS.md ).
2024-06-06 11:38:43 -04:00
2024-10-18 09:22:05 -04:00
## Community discussion
2025-05-27 11:20:22 -04:00
- [Github discussion forum ](https://github.com/containers/bootc/discussions ) for async discussion
- [#bootc-dev on CNCF Slack ](https://cloud-native.slack.com/archives/C08SKSQKG1L ) for live chat
2025-06-13 11:50:55 -04:00
- Recurring live meeting hosted on [CNCF Zoom ](https://zoom-lfx.platform.linuxfoundation.org/meeting/96540875093?password=7889708d-c520-4565-90d3-ce9e253a1f65 ) each Friday at 15:30 UTC.
2024-10-18 09:22:05 -04:00
This project is also tightly related to the previously mentioned Fedora/CentOS bootc project,
and many developers monitor the relevant discussion forums there. In particular there's a
Matrix channel and a weekly video call meeting for example: <https://docs.fedoraproject.org/en-US/bootc/community/>.
2024-06-06 11:38:43 -04:00
## Developing bootc
2024-07-01 18:42:32 -04:00
Are you interested in working on bootc? Great! See our [CONTRIBUTING.md ](CONTRIBUTING.md ) guide.
2024-10-22 15:05:38 -04:00
There is also a list of [MAINTAINERS.md ](MAINTAINERS.md ).
2022-11-30 17:08:22 -05:00
2025-03-10 11:36:22 -04:00
## Governance
2025-05-16 20:46:48 -04:00
See [GOVERNANCE.md ](GOVERNANCE.md ) for project governance details.
2025-03-10 11:36:22 -04:00
2025-03-31 12:50:19 -07:00
## Badges
[](https://www.bestpractices.dev/projects/10113)
2025-03-10 11:36:22 -04:00
### Code of Conduct
The bootc project is a [Cloud Native Computing Foundation (CNCF) Sandbox project ](https://www.cncf.io/sandbox-projects/ )
and adheres to the [CNCF Community Code of Conduct ](https://github.com/cncf/foundation/blob/main/code-of-conduct.md ).
2025-03-10 14:30:18 -04:00
---
The Linux Foundation® (TLF) has registered trademarks and uses trademarks. For a list of TLF trademarks, see [Trademark Usage ](https://www.linuxfoundation.org/trademark-usage/ ).