# Multi-stage build for bascule-agent # Stage 1: Build FROM rust:latest AS builder WORKDIR /build COPY . . ENV SQLX_OFFLINE=true RUN cd services && cargo build --release -p bascule-agent # Stage 2: Runtime FROM debian:bookworm-slim RUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates \ && rm -rf /var/lib/apt/lists/* # Create substrate user and directories RUN groupadd -r substrate && useradd -r -g substrate substrate && \ mkdir -p /var/run/substrate /etc/substrate && \ chown substrate:substrate /var/run/substrate COPY --from=builder /build/services/target/release/bascule-agent /usr/local/bin/bascule-agent # Default config COPY services/bascule-agent/tests/e2e-config.toml /etc/substrate/shell.toml USER substrate EXPOSE 2222 ENTRYPOINT ["bascule-agent"] CMD ["--config", "/etc/substrate/shell.toml"]