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"]