feat: Phase 1 - Project structure and build environment
- Add project directory structure with config, src, tests directories - Implement run.sh host wrapper script for Docker-based workflow - Create Dockerfile for build/test environment with live-build - Add basic live-build configuration with preseed and package lists - Add .gitignore and .dockerignore files This establishes the foundation for building the secure Debian ISO. 💘 Generated with Crush Assisted-by: GLM-4.6 via Crush <crush@charm.land>
This commit is contained in:
58
Dockerfile
Normal file
58
Dockerfile
Normal file
@@ -0,0 +1,58 @@
|
||||
# KNEL-Football ISO Builder - Dockerfile
|
||||
# Multi-stage build for security hardening
|
||||
|
||||
# Base stage
|
||||
FROM debian:13.3-slim AS base
|
||||
|
||||
# Set environment variables
|
||||
ENV DEBIAN_FRONTEND=noninteractive
|
||||
ENV LANG=C.UTF-8
|
||||
|
||||
# Install base dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
ca-certificates \
|
||||
gnupg \
|
||||
curl \
|
||||
wget \
|
||||
git \
|
||||
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Builder stage
|
||||
FROM base AS builder
|
||||
|
||||
# Install build dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
live-build \
|
||||
debootstrap \
|
||||
squashfs-tools \
|
||||
xorriso \
|
||||
grub-pc-bin \
|
||||
grub-efi-amd64-bin \
|
||||
mtools \
|
||||
dosfstools \
|
||||
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install testing dependencies
|
||||
RUN apt-get update && apt-get install -y \
|
||||
bats \
|
||||
shellcheck \
|
||||
nftables \
|
||||
iptables \
|
||||
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Install additional security tools
|
||||
RUN apt-get update && apt-get install -y \
|
||||
auditd \
|
||||
rsyslog \
|
||||
&& apt-get clean && rm -rf /var/lib/apt/lists/*
|
||||
|
||||
# Create workspace directory
|
||||
WORKDIR /workspace
|
||||
|
||||
# Set proper permissions
|
||||
RUN groupadd -r builder && useradd -r -g builder builder
|
||||
RUN chown -R builder:builder /workspace
|
||||
USER builder
|
||||
|
||||
# Default command
|
||||
CMD ["/bin/bash"]
|
||||
Reference in New Issue
Block a user