mirror of
https://github.com/Snigdha-OS/snigdhaos-docker.git
synced 2025-09-20 07:14:56 +02:00
🚀 feat(rename): all dir => snigdha os
This commit is contained in:
@@ -0,0 +1,109 @@
|
|||||||
|
#
|
||||||
|
# /etc/pacman.conf
|
||||||
|
#
|
||||||
|
# See the pacman.conf(5) manpage for option and repository directives
|
||||||
|
|
||||||
|
#
|
||||||
|
# GENERAL OPTIONS
|
||||||
|
#
|
||||||
|
[options]
|
||||||
|
# The following paths are commented out with their default values listed.
|
||||||
|
# If you wish to use different paths, uncomment and update the paths.
|
||||||
|
#RootDir = /
|
||||||
|
#DBPath = /var/lib/pacman/
|
||||||
|
#CacheDir = /var/cache/pacman/pkg/
|
||||||
|
#LogFile = /var/log/pacman.log
|
||||||
|
#GPGDir = /etc/pacman.d/gnupg/
|
||||||
|
#HookDir = /etc/pacman.d/hooks/
|
||||||
|
HoldPkg = pacman glibc
|
||||||
|
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||||
|
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||||
|
#CleanMethod = KeepInstalled
|
||||||
|
#UseDelta = 0.7
|
||||||
|
Architecture = auto
|
||||||
|
|
||||||
|
#IgnorePkg =
|
||||||
|
#IgnorePkg =
|
||||||
|
#IgnoreGroup =
|
||||||
|
|
||||||
|
#NoUpgrade =
|
||||||
|
#NoExtract =
|
||||||
|
|
||||||
|
# Misc options
|
||||||
|
#UseSyslog
|
||||||
|
Color
|
||||||
|
ILoveCandy
|
||||||
|
#NoProgressBar
|
||||||
|
#CheckSpace
|
||||||
|
VerbosePkgLists
|
||||||
|
DisableDownloadTimeout
|
||||||
|
ParallelDownloads = 5
|
||||||
|
|
||||||
|
# By default, pacman accepts packages signed by keys that its local keyring
|
||||||
|
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||||
|
SigLevel = Required DatabaseOptional
|
||||||
|
LocalFileSigLevel = Optional
|
||||||
|
#RemoteFileSigLevel = Required
|
||||||
|
|
||||||
|
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||||||
|
# keyring can then be populated with the keys of all official Arch Linux
|
||||||
|
# packagers with `pacman-key --populate archlinux`.
|
||||||
|
|
||||||
|
#
|
||||||
|
# REPOSITORIES
|
||||||
|
# - can be defined here or included from another file
|
||||||
|
# - pacman will search repositories in the order defined here
|
||||||
|
# - local/custom mirrors can be added here or in separate files
|
||||||
|
# - repositories listed first will take precedence when packages
|
||||||
|
# have identical names, regardless of version number
|
||||||
|
# - URLs will have $repo replaced by the name of the current repo
|
||||||
|
# - URLs will have $arch replaced by the name of the architecture
|
||||||
|
#
|
||||||
|
# Repository entries are of the format:
|
||||||
|
# [repo-name]
|
||||||
|
# Server = ServerName
|
||||||
|
# Include = IncludePath
|
||||||
|
#
|
||||||
|
# The header [repo-name] is crucial - it must be present and
|
||||||
|
# uncommented to enable the repo.
|
||||||
|
#
|
||||||
|
|
||||||
|
# The testing repositories are disabled by default. To enable, uncomment the
|
||||||
|
# repo name header and Include lines. You can add preferred servers immediately
|
||||||
|
# after the header, and they will be used before the default mirrors.
|
||||||
|
|
||||||
|
#[testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[snigdhaos-core]
|
||||||
|
Include = /etc/pacman.d/snigdhaos-mirrorlist
|
||||||
|
|
||||||
|
[core]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[snigdhaos-extra]
|
||||||
|
Include = /etc/pacman.d/snigdhaos-mirrorlist
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
|
||||||
|
# If you want to run 32 bit applications on your x86_64 system,
|
||||||
|
# enable the multilib repositories as required here.
|
||||||
|
|
||||||
|
#[multilib-testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[multilib]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
# An example of a custom package repository. See the pacman manpage for
|
||||||
|
# tips on creating your own repositories.
|
||||||
|
#[custom]
|
||||||
|
#SigLevel = Optional TrustAll
|
||||||
|
#Server = file:///home/custompkgs
|
||||||
|
[chaotic-aur]
|
||||||
|
Include = /etc/pacman.d/chaotic-mirrorlist
|
||||||
|
|
||||||
|
[blackarch]
|
||||||
|
Include = /etc/pacman.d/blackarch-mirrorlist
|
50
snigdhaos+blackarch/dockerfile
Normal file
50
snigdhaos+blackarch/dockerfile
Normal file
@@ -0,0 +1,50 @@
|
|||||||
|
# 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 BlackArch repository
|
||||||
|
RUN curl -fsSL https://blackarch.org/strap.sh -o /tmp/strap.sh && \
|
||||||
|
chmod +x /tmp/strap.sh && \
|
||||||
|
/tmp/strap.sh && \
|
||||||
|
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 with BlackArch" \
|
||||||
|
org.opencontainers.image.description="Snigdha OS - Arch-based Linux distribution for Penetration Testing and Ethical Hacking, with BlackArch repository 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"]
|
106
snigdhaos+blackarch/pacman.conf
Normal file
106
snigdhaos+blackarch/pacman.conf
Normal file
@@ -0,0 +1,106 @@
|
|||||||
|
#
|
||||||
|
# /etc/pacman.conf
|
||||||
|
#
|
||||||
|
# See the pacman.conf(5) manpage for option and repository directives
|
||||||
|
|
||||||
|
#
|
||||||
|
# GENERAL OPTIONS
|
||||||
|
#
|
||||||
|
[options]
|
||||||
|
# The following paths are commented out with their default values listed.
|
||||||
|
# If you wish to use different paths, uncomment and update the paths.
|
||||||
|
#RootDir = /
|
||||||
|
#DBPath = /var/lib/pacman/
|
||||||
|
#CacheDir = /var/cache/pacman/pkg/
|
||||||
|
#LogFile = /var/log/pacman.log
|
||||||
|
#GPGDir = /etc/pacman.d/gnupg/
|
||||||
|
#HookDir = /etc/pacman.d/hooks/
|
||||||
|
HoldPkg = pacman glibc
|
||||||
|
#XferCommand = /usr/bin/curl -L -C - -f -o %o %u
|
||||||
|
#XferCommand = /usr/bin/wget --passive-ftp -c -O %o %u
|
||||||
|
#CleanMethod = KeepInstalled
|
||||||
|
#UseDelta = 0.7
|
||||||
|
Architecture = auto
|
||||||
|
|
||||||
|
#IgnorePkg =
|
||||||
|
#IgnorePkg =
|
||||||
|
#IgnoreGroup =
|
||||||
|
|
||||||
|
#NoUpgrade =
|
||||||
|
#NoExtract =
|
||||||
|
|
||||||
|
# Misc options
|
||||||
|
#UseSyslog
|
||||||
|
Color
|
||||||
|
ILoveCandy
|
||||||
|
#NoProgressBar
|
||||||
|
#CheckSpace
|
||||||
|
VerbosePkgLists
|
||||||
|
DisableDownloadTimeout
|
||||||
|
ParallelDownloads = 5
|
||||||
|
|
||||||
|
# By default, pacman accepts packages signed by keys that its local keyring
|
||||||
|
# trusts (see pacman-key and its man page), as well as unsigned packages.
|
||||||
|
SigLevel = Required DatabaseOptional
|
||||||
|
LocalFileSigLevel = Optional
|
||||||
|
#RemoteFileSigLevel = Required
|
||||||
|
|
||||||
|
# NOTE: You must run `pacman-key --init` before first using pacman; the local
|
||||||
|
# keyring can then be populated with the keys of all official Arch Linux
|
||||||
|
# packagers with `pacman-key --populate archlinux`.
|
||||||
|
|
||||||
|
#
|
||||||
|
# REPOSITORIES
|
||||||
|
# - can be defined here or included from another file
|
||||||
|
# - pacman will search repositories in the order defined here
|
||||||
|
# - local/custom mirrors can be added here or in separate files
|
||||||
|
# - repositories listed first will take precedence when packages
|
||||||
|
# have identical names, regardless of version number
|
||||||
|
# - URLs will have $repo replaced by the name of the current repo
|
||||||
|
# - URLs will have $arch replaced by the name of the architecture
|
||||||
|
#
|
||||||
|
# Repository entries are of the format:
|
||||||
|
# [repo-name]
|
||||||
|
# Server = ServerName
|
||||||
|
# Include = IncludePath
|
||||||
|
#
|
||||||
|
# The header [repo-name] is crucial - it must be present and
|
||||||
|
# uncommented to enable the repo.
|
||||||
|
#
|
||||||
|
|
||||||
|
# The testing repositories are disabled by default. To enable, uncomment the
|
||||||
|
# repo name header and Include lines. You can add preferred servers immediately
|
||||||
|
# after the header, and they will be used before the default mirrors.
|
||||||
|
|
||||||
|
#[testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[snigdhaos-core]
|
||||||
|
Include = /etc/pacman.d/snigdhaos-mirrorlist
|
||||||
|
|
||||||
|
[core]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[snigdhaos-extra]
|
||||||
|
Include = /etc/pacman.d/snigdhaos-mirrorlist
|
||||||
|
|
||||||
|
[extra]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
|
||||||
|
# If you want to run 32 bit applications on your x86_64 system,
|
||||||
|
# enable the multilib repositories as required here.
|
||||||
|
|
||||||
|
#[multilib-testing]
|
||||||
|
#Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
[multilib]
|
||||||
|
Include = /etc/pacman.d/mirrorlist
|
||||||
|
|
||||||
|
# An example of a custom package repository. See the pacman manpage for
|
||||||
|
# tips on creating your own repositories.
|
||||||
|
#[custom]
|
||||||
|
#SigLevel = Optional TrustAll
|
||||||
|
#Server = file:///home/custompkgs
|
||||||
|
[blackarch]
|
||||||
|
Include = /etc/pacman.d/blackarch-mirrorlist
|
@@ -104,6 +104,3 @@ Include = /etc/pacman.d/mirrorlist
|
|||||||
#Server = file:///home/custompkgs
|
#Server = file:///home/custompkgs
|
||||||
[chaotic-aur]
|
[chaotic-aur]
|
||||||
Include = /etc/pacman.d/chaotic-mirrorlist
|
Include = /etc/pacman.d/chaotic-mirrorlist
|
||||||
|
|
||||||
[blackarch]
|
|
||||||
Include = /etc/pacman.d/blackarch-mirrorlist
|
|
Reference in New Issue
Block a user