74 lines
No EOL
1.7 KiB
Docker
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"] |