# KNEL-Football ISO Builder - Dockerfile # Multi-stage build for security hardening and reproducible builds # Copyright © 2026 Known Element Enterprises LLC # License: GNU Affero General Public License v3.0 only # Base stage - minimal Debian 13 base FROM debian:13.3-slim AS base # Set environment variables for non-interactive installation ENV DEBIAN_FRONTEND=noninteractive ENV LANG=C.UTF-8 ENV LC_ALL=C ENV TZ=UTC # Install base dependencies RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ gnupg \ curl \ wget \ git \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Builder stage - ISO build tools FROM base AS builder # Install live-build and ISO creation tools RUN apt-get update && apt-get install -y --no-install-recommends \ live-build \ debootstrap \ squashfs-tools \ xorriso \ grub-pc-bin \ grub-efi-amd64-bin \ grub-efi-ia32-bin \ mtools \ dosfstools \ syslinux-utils \ isolinux \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Install testing framework RUN apt-get update && apt-get install -y --no-install-recommends \ bats \ bats-assert \ bats-support \ bats-file \ shellcheck \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Install security and system tools RUN apt-get update && apt-get install -y --no-install-recommends \ nftables \ iptables \ auditd \ rsyslog \ && apt-get clean \ && rm -rf /var/lib/apt/lists/* # Create workspace directories RUN mkdir -p /workspace /build /tmp /output # Create non-root user for running builds RUN groupadd -r builder && useradd -r -g builder builder \ && mkdir -p /home/builder \ && chown -R builder:builder /workspace /build /tmp /output /home/builder # Set working directory WORKDIR /workspace # Switch to non-root user USER builder # Default command CMD ["/bin/bash"]