particle-os/02-installer-bootc/Containerfile
2025-08-05 04:14:29 +00:00

74 lines
No EOL
1.7 KiB
Docker

FROM debian:trixie
# Install essential packages for a bootc installer
RUN apt-get update && apt-get install -y \
systemd \
dbus \
sudo \
systemd-sysv \
systemd-timesyncd \
network-manager \
openssh-server \
curl \
wget \
vim \
less \
htop \
# Calamares and its dependencies
calamares \
calamares-settings-debian \
# Bootc for atomic deployment (will install from source)
# bootc \
# Additional installer tools
parted \
gdisk \
fdisk \
e2fsprogs \
dosfstools \
&& rm -rf /var/lib/apt/lists/*
# Install bootc dependencies first
RUN apt-get update && apt-get install -y \
libarchive13t64 \
libavahi-client3 \
libavahi-common3 \
libavahi-glib1 \
libcurl3t64-gnutls \
libgpgme11t64 \
libglib2.0-0t64 \
libostree-1-1 \
podman \
skopeo \
&& rm -rf /var/lib/apt/lists/*
# Copy bootc from build context
COPY bootc /usr/local/bin/bootc
# Enable systemd services
RUN systemctl enable systemd-timesyncd
RUN systemctl enable NetworkManager
RUN systemctl enable ssh
# Create a default user for the installer environment
RUN useradd -m -s /bin/bash -G sudo installer
RUN echo "installer:installer" | chpasswd
# Set up basic system configuration
RUN echo "debian-atomic-installer" > /etc/hostname
# Copy Calamares configuration
COPY calamares-config/ /etc/calamares/
# Copy installation scripts
COPY scripts/ /usr/local/bin/
RUN chmod +x /usr/local/bin/*.sh
# Set up Calamares to autostart
RUN mkdir -p /etc/systemd/system/graphical.target.wants/
RUN ln -sf /usr/lib/systemd/system/calamares.service /etc/systemd/system/graphical.target.wants/
# Clean up
RUN apt-get clean
# Set the default command
CMD ["/bin/bash"]