From 37e99942f9373a886a2fc2506f92537fe5ecd418 Mon Sep 17 00:00:00 2001 From: Eshan Roy Date: Sat, 30 Nov 2024 18:14:58 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=9A=80=20feat(chaotic):=20this=20file=20i?= =?UTF-8?q?ncludes=20chaotic=20aur?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- chaotic-snigdhaos/dockerfile | 53 ++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 chaotic-snigdhaos/dockerfile diff --git a/chaotic-snigdhaos/dockerfile b/chaotic-snigdhaos/dockerfile new file mode 100644 index 0000000..b6116fe --- /dev/null +++ b/chaotic-snigdhaos/dockerfile @@ -0,0 +1,53 @@ +# Stage 1: Build the root filesystem +FROM archlinux:base-devel AS rootfs + +# Update system and install base packages +RUN pacman -Syu --noconfirm && \ + pacman -S --needed --noconfirm pacman-contrib git openssh sudo curl + +# Add custom pacman configuration +COPY pacman.conf /etc/pacman.conf + +# Download and configure the Snigdha OS mirrorlist +RUN curl -fsSL https://raw.githubusercontent.com/Snigdha-OS/snigdhaos-pkgbuilds/refs/heads/master/snigdhaos-mirrorlist/snigdhaos-mirrorlist \ + -o /etc/pacman.d/snigdhaos-mirrorlist + +# Initialize pacman keyring and trust Snigdha OS signing key +RUN pacman-key --init && \ + pacman-key --recv-keys E1415F19F21171F2 --keyserver keyserver.ubuntu.com && \ + pacman-key --lsign-key E1415F19F21171F2 + +# Install Snigdha OS-specific packages and keyring +RUN pacman -Sy && \ + pacman -S --needed --noconfirm snigdhaos-keyring snigdhaos-mirrorlist && \ + pacman -Syu --noconfirm + +# Add Chaotic AUR repository +RUN pacman-key --recv-keys 3056513887B78AEB --keyserver keyserver.ubuntu.com && \ + pacman-key --lsign-key 3056513887B78AEB && \ + curl -fsSL 'https://aur.chaotic.cx/chaotic-aur.gpg' | pacman-key --add - && \ + echo '[chaotic-aur]' >> /etc/pacman.conf && \ + echo 'Server = https://aur.chaotic.cx/$arch' >> /etc/pacman.conf && \ + pacman -Sy --noconfirm chaotic-keyring && \ + pacman -Syu --noconfirm + +# Clean up cache and temporary files to reduce image size +RUN rm -rf /var/lib/pacman/sync/* && \ + find /var/cache/pacman/ -type f -delete && \ + pacman -Sc --noconfirm + +# Stage 2: Create the final minimal container +FROM scratch + +# Metadata about the container +LABEL org.opencontainers.image.title="Snigdha OS Container" \ + org.opencontainers.image.description="Snigdha OS - Arch-based Linux distribution for Penetration Testing and Ethical Hacking, with Chaotic AUR preconfigured" \ + org.opencontainers.image.version="1.0" \ + org.opencontainers.image.authors="Snigdha OS Team" \ + org.opencontainers.image.licenses="GPL-3.0-or-later" + +# Copy the prepared root filesystem +COPY --from=rootfs / / + +# Default command +CMD ["/usr/bin/bash"]