35 lines
1.3 KiB
Docker
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
|