| .tekton | ||
| ci | ||
| debian-includes | ||
| fedora-includes | ||
| finalize.d | ||
| iot | ||
| minimal | ||
| minimal-plus | ||
| standard | ||
| tests | ||
| .gitlab-ci.yml | ||
| .mdl_style.rb | ||
| .mdlrc | ||
| .pre-commit-config.yaml | ||
| apt-ostree | ||
| bootc-base-imagectl | ||
| bootc-base-imagectl.md | ||
| build-enhanced.sh | ||
| build-remote.sh | ||
| build.sh | ||
| Containerfile | ||
| Containerfile.enhanced | ||
| Containerfile.enhanced-final | ||
| Containerfile.labels | ||
| COPYING | ||
| debian-00.yaml | ||
| debian-13.yaml | ||
| debian-14.yaml | ||
| debian-bootc-base-imagectl | ||
| debian-bootc-config.json | ||
| debian-iot.yaml | ||
| debian-minimal-plus.yaml | ||
| debian-minimal.yaml | ||
| debian-standard.yaml | ||
| debian.repo | ||
| debian.sources.list | ||
| fedora-41.yaml | ||
| fedora-42.yaml | ||
| fedora-43.yaml | ||
| fedora-bootc-config.json | ||
| fedora-bootc.yaml | ||
| fedora-iot.yaml | ||
| fedora-minimal-plus.yaml | ||
| fedora-minimal.yaml | ||
| fedora-rawhide.yaml | ||
| fedora-standard.yaml | ||
| fedora.repo | ||
| install-manifests | ||
| iot.yaml | ||
| LICENSE | ||
| minimal-plus.hidden.yaml | ||
| minimal.yaml | ||
| README.md | ||
| renovate.json | ||
| standard.yaml | ||
| test-manifest.yaml | ||
Debian bootc base images
This repository contains the configuration and tooling to create minimal Debian base images for the bootc ecosystem. These images serve as templates that bootc-image-builder can use to create bootable disk images.
Overview
Debian bootc base images are minimal container images that contain only the essential packages and configuration needed for a bootable Debian system. They are designed to work with the bootc ecosystem tools like bootc-image-builder and osbuild.
Architecture
The repository follows the same architecture as Fedora's bootc-base-images:
- Minimal templates: These are minimal base images, not complete populated systems
- Component-based: Each image type (minimal, standard, iot) is composed of reusable components
- OSTree-ready: Images are designed to work with OSTree for atomic updates
Image Types
Minimal (debian-minimal)
- Essential boot infrastructure
- Basic system tools
- OSTree support
- GRUB bootloader
Standard (debian-standard)
- Everything from minimal
- Additional system utilities
- Network tools
- Development tools
IoT (debian-iot)
- Everything from minimal
- IoT-specific packages
- Container runtime support
- Monitoring tools
Building Images
Prerequisites
- Podman with fuse support
- Build tools (apt-ostree, selinux-policy-default, python3)
Basic Build
# Build with default apt-cache-ng proxy
./build.sh
# Build without proxy (direct to Debian repositories)
./build.sh ""
# Build with custom proxy
./build.sh "http://your-proxy:3142"
Manual Build
# Build with proxy
podman build \
--security-opt=label=disable \
--cap-add=all \
--device /dev/fuse \
--build-arg APT_CACHER_NG_PROXY="http://192.168.1.101:3142" \
-t localhost/debian-bootc:minimal \
.
# Build without proxy
podman build \
--security-opt=label=disable \
--cap-add=all \
--device /dev/fuse \
--build-arg APT_CACHER_NG_PROXY="" \
-t localhost/debian-bootc:minimal \
.
Apt-Cache-NG Proxy Configuration
The build system supports apt-cache-ng proxy configuration for faster builds and offline development:
With Proxy (Default)
./build.sh "http://192.168.1.101:3142"
Without Proxy
./build.sh ""
Custom Proxy
./build.sh "http://your-cache-server:3142"
When no proxy is specified, the build system automatically falls back to direct Debian repository URLs.
Debian Versions
- 13 (Trixie): Stable release (default)
- 14 (Forky): Testing release
- 00 (Sid): Unstable/rolling release
Repository Structure
debian-base-images/
├── debian-includes/ # Common package definitions
├── minimal/ # Minimal image components
├── standard/ # Standard image components
├── iot/ # IoT image components
├── debian-bootc-base-imagectl # Build tool
├── install-manifests # Manifest installation script
├── debian.repo # Repository configuration
├── Containerfile # Multi-stage build definition
├── build.sh # Build script
├── debian-13.yaml # Debian 13 (Trixie) manifest
├── debian-14.yaml # Debian 14 (Forky) manifest
├── debian-00.yaml # Debian 00 (Sid) manifest
└── debian-bootc-config.json # Bootc configuration (single file)
Integration with bootc-image-builder
These base images are designed to work with bootc-image-builder:
- Build a minimal base image using this repository
- Push the image to a container registry
- Use
bootc-image-builderwith the image to create bootable disk images
Contributing
- Fork the repository
- Create a feature branch
- Make your changes
- Test with the build script
- Submit a pull request
License
This project follows the same license as the Debian project.