Something went wrong. Try again.
Monorepo for Tangled tangled.org
Something went wrong. Try again.
2.0 kB · 52 lines
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253# 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 --mount=type=cache,target=/usr/local/cargo/registry \ --mount=type=cache,target=/src/target \ cargo build --release --package knot-server && \ cp target/release/knot-server /usr/local/bin/knot-serverRUN strip /usr/local/bin/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 /usr/local/bin/knot-server /usr/local/bin/knot-server
COPY <<'EOF' /usr/local/bin/knot-entrypoint.sh#!/bin/shset -eu# trust caddy's `tls internal` root system-wide, so `knot-server admin` verifies it.if [ -f /etc/ssl/certs/tngl.crt ]; then cp /etc/ssl/certs/tngl.crt /usr/local/share/ca-certificates/tngl.crt update-ca-certificates >/dev/nullfi[ -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"]