Something went wrong. Try again.
Monorepo for Tangled
Something went wrong. Try again.
1.7 kB · 44 lines
123456789101112131415161718192021222324252627282930313233343536373839404142434445# Development only. Not for production use.# Unlike knot2/Containerfile (distroless), this image keeps a shell: localinfra# only learns alice's DID at bootstrap, so the entrypoint has to read it.
FROM docker.io/library/rust:1.96-slim-trixie AS builderRUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates build-essential cmake perl pkg-config clang mold \ && rm -rf /var/lib/apt/lists/*ENV RUSTFLAGS="-C linker=clang -C link-arg=-fuse-ld=mold"WORKDIR /srcCOPY Cargo.toml Cargo.lock rust-toolchain.toml ./COPY crates ./cratesCOPY bobbin/crates ./bobbin/cratesCOPY shuttle ./shuttleCOPY gitmirror ./gitmirrorCOPY lexicons ./lexiconsCOPY knot2/crates ./knot2/cratesCOPY knot2/third_party ./knot2/third_partyRUN cargo build --release --package knot-serverRUN strip target/release/knot-server
FROM debian:trixie-slimRUN apt-get update && apt-get install -y --no-install-recommends \ ca-certificates curl \ && rm -rf /var/lib/apt/lists/*COPY --from=builder /src/target/release/knot-server /usr/local/bin/knot-server
COPY <<'EOF' /usr/local/bin/knot-entrypoint.sh#!/bin/shset -eu[ -z "${KNOT_ADMINS:-}" ] && [ -r /shared/owner-did ] && \ export KNOT_ADMINS="$(cat /shared/owner-did)": "${KNOT_ADMINS:?set via env or /shared/owner-did}"
# the knot creates its host key and sealed store (parent dirs and all) on# demand, but scan_path has to already exist before it will startmkdir -p "${KNOT_SCAN_PATH:-/home/git/repositories}"
exec /usr/local/bin/knot-serverEOFRUN chmod +x /usr/local/bin/knot-entrypoint.sh
EXPOSE 5555 2222ENTRYPOINT ["/usr/local/bin/knot-entrypoint.sh"]