Files
shoes/Dockerfile
cfal a361e69b77 Publish multiarchitecture Shoes images to GHCR (#215)
Add a non-root Docker image for the Shoes binary and publish native amd64 and arm64 images to GHCR on master pushes and published releases. Reuse commit images by digest, gate branch and release tags on container smoke checks, and guard against stale promotions. Include the full license bundle and document configuration, writable state, and image tags.
2026-10-23 22:30:44 -04:00

30 lines
773 B
Docker

# syntax=docker/dockerfile:1
FROM rust:1.95-bookworm AS build
RUN apt-get update && apt-get install -y --no-install-recommends cmake && \
rm -rf /var/lib/apt/lists/*
WORKDIR /build
ENV CARGO_BUILD_JOBS=1
COPY Cargo.toml Cargo.lock ./
COPY tests/support/ tests/support/
COPY src/ src/
RUN cargo build --locked --release --bin shoes
FROM debian:bookworm-slim AS runtime
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates && \
rm -rf /var/lib/apt/lists/*
COPY --from=build /build/target/release/shoes /usr/local/bin/shoes
COPY LICENSE THIRD_PARTY_NOTICES.md /usr/share/doc/shoes/
COPY licenses/ /usr/share/doc/shoes/licenses/
WORKDIR /etc/shoes
USER 65532:65532
ENTRYPOINT ["/usr/local/bin/shoes"]
CMD ["/etc/shoes/config.yaml"]