Go to file
Colin Walters (Red Hat) 687fa7526a Merge branch 'custom-base' into 'wip-baseimage-rework'
Rework base image build

See merge request fedora/bootc/base-images!81
2025-01-27 20:52:08 +00:00
base base: Cleanup rpmdb 2025-01-24 15:45:03 -05:00
usr Merge tier-1 to the toplevel 2025-01-23 11:37:04 -05:00
.gitlab-ci.yml ci: Rework 2025-01-23 11:37:04 -05:00
.mdl_style.rb Update .mdl_style.rb 2023-11-09 16:14:45 +02:00
.mdlrc Update .mdlrc 2023-11-09 16:18:33 +02:00
.pre-commit-config.yaml chore(deps): update pre-commit hook pre-commit/pre-commit-hooks to v4.6.0 2024-06-03 00:05:58 +00:00
COPYING Enable pre-commit 2023-10-30 22:27:12 +02:00
Containerfile build-sys: Clean more directories 2025-01-23 11:37:04 -05:00
Containerfile.base base: Cleanup rpmdb 2025-01-24 15:45:03 -05:00
LICENSE Initial split from Fedora CoreOS 2022-12-09 15:32:25 -05:00
README.md Merge tier-1 to the toplevel 2025-01-23 11:37:04 -05:00
packages-aarch64.txt Split excluded and arch packages into "package text file" 2025-01-23 11:37:04 -05:00
packages-excluded.txt Split excluded and arch packages into "package text file" 2025-01-23 11:37:04 -05:00
packages-ppc64le.txt Split excluded and arch packages into "package text file" 2025-01-23 11:37:04 -05:00
packages-recommended-minimal.txt Merge tier-1 to the toplevel 2025-01-23 11:37:04 -05:00
packages-x86_64.txt Split excluded and arch packages into "package text file" 2025-01-23 11:37:04 -05:00
packages.txt Merge tier-1 to the toplevel 2025-01-23 11:37:04 -05:00
renovate.json Update renovate.json 2024-08-21 07:22:28 +00:00

README.md

Fedora bootc base images

Create and maintain base bootable container images from Fedora packages.

Motivation

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.

Building images

The current default user experience is to build layered images on top of the official binary base images produced and tested by this project. See the documentation5 for more info.

You can build custom base images by forking this repository; however, https://gitlab.com/fedora/bootc/tracker/-/issues/32 tracks a more supportable mechanism that is not simply forking. For more information see6.

Build process

Building the images in this repo can be done with podman build, but note the build process uses a special podman-ecosystem specific mechanism to create fully custom images while inside a Containerfile. You need to enable some privileges as nested containerization is required.

podman build --security-opt=label=disable --cap-add=all \
  --device /dev/fuse -t localhost/fedora-bootc .

See the Containerfile for more details. This builds the default tier-1 image.

Fedora versions

By default, the base images are built for Fedora rawhide. To build against a different Fedora version, you can override the FROM image used to obtain the Fedora repos and dnf variables. E.g.:

podman build --from quay.io/fedora/fedora:41 ...

Deriving

You are of course also free to fork, customize, and build base images yourself. See this page6 of the documentation for more information.

Images

At the current time, there is just one reference base image published to the registry. There is a Containerfile.base which produces a quite minimal base image, from which the default image derives.

More on the history from this tracker issue.

  • Containefile.base: A base image with the effective equivalent of installing bootc kernel systemd dnf with "recommends" off. Intended as a derivation starting point for minimal systems.
  • Containerfile: Produces the default much larger image; somewhat similar to CoreOS.

More information

Documentation: https://docs.fedoraproject.org/en-US/bootc/

Badges

Badge Description Service
Renovate Dependencies Renovate
Pre-commit Static quality gates pre-commit