FROM debian:unstable-slim # Set build arguments ARG release_name=unstable # Set environment variables ENV DEBIAN_FRONTEND=noninteractive ENV RUST_BACKTRACE=1 ENV CARGO_TERM_COLOR=always # Install Rust toolchain RUN apt update && \ apt install -y curl ca-certificates && \ curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y && \ . $HOME/.cargo/env && \ rustup default stable && \ rustup target add x86_64-unknown-linux-gnu # Add particle-os repository for composefs RUN curl -fsSL https://git.raines.xyz/api/packages/particle-os/debian/repository.key -o /etc/apt/keyrings/forgejo-particle-os.asc && \ echo "deb [signed-by=/etc/apt/keyrings/forgejo-particle-os.asc] https://git.raines.xyz/api/packages/particle-os/debian trixie main" >> /etc/apt/sources.list.d/forgejo.list # Install build dependencies RUN apt update && \ apt install -y \ build-essential \ pkg-config \ libssl-dev \ libostree-dev \ libostree-1-1 \ ostree \ podman \ qemu-utils \ parted \ grub-efi-amd64 \ systemd-boot \ dracut \ composefs \ zstd \ cpio \ tar \ curl \ git \ ca-certificates \ && rm -rf /var/lib/apt/lists/* # Set working directory WORKDIR /workspace # Copy source code COPY . . # Set PATH to include Rust ENV PATH="/root/.cargo/bin:${PATH}" # Default command CMD ["bash"]