Files
soleprint/rig/ctrl/Dockerfile.deps

35 lines
1.3 KiB
Docker

# Toolchain installer image: installs the pinned toolchain onto the host; Docker is the only prerequisite.
# docker build -f ctrl/Dockerfile.deps --target deps -t <slug>-deps .
# docker build -f ctrl/Dockerfile.deps --target deps-full -t <slug>-deps:full .
# Notes: docs/notes/Dockerfile.deps.md
FROM debian:trixie-slim AS deps
# curl: fetch and verify; graphviz + python3: diagrams. docker-cli, NOT docker.io
# (which lacks the `docker` binary under --no-install-recommends).
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates curl jq graphviz python3 docker-cli \
&& rm -rf /var/lib/apt/lists/*
# The installer is the generated one-file standalone kit, pins frozen in.
ARG PROFILE=default
WORKDIR /work
COPY standalone/${PROFILE}/rigdeps.sh /work/rigdeps.sh
RUN chmod +x /work/rigdeps.sh
# Defaults; every one is overridable with -e at run time.
ENV DEPS_SOURCE=upstream \
OUT_BIN=/out/bin \
HOST_ROOT=/host
ENTRYPOINT ["/work/rigdeps.sh"]
CMD ["install"]
# ---------------------------------------------------------------------------
# deps-full — same image, binaries baked in, works with no network at all.
FROM deps AS deps-full
RUN /work/rigdeps.sh fetch --to /opt/rig/bin
ENV DEPS_SOURCE=baked \
BAKED_BIN=/opt/rig/bin