Something went wrong. Try again.
Community maintained Docker config for the knot server forked from tangled.org/knot-docker
Something went wrong. Try again.
knot-docker Dockerfile
12345678910111213141516171819202122232425262728293031323334353637383940414243444546from rust:1.96-slim-trixie as builder
arg TAG='v1.20.0'
workdir /srcrun apt-get update && apt-get install -y --no-install-recommends \ ca-certificates git 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"run git clone --depth 1 -b ${TAG} https://tangled.org/did:plc:j5hmlfdrwkvtxm7cjmu7j2is .run cargo build --release --package knot-server --package knot-migraterun strip target/release/knot-server target/release/knot-migrate
from debian:trixie-slimenv KNOT_SCAN_PATH=/data/reposenv KNOT_SEALED_KEY_FILE=/data/sealed-keysenv KNOT_LFS_STORE_PATH=/data/lfsenv KNOT_PLC_DIRECTORY=https://plc.directoryenv KNOT_SSH_HOST_KEY_FILE=/data/ssh_host_keyenv KNOT_MASTER_KEY_ENV=KNOT_MASTER_KEYexpose 5555 2222
label org.opencontainers.image.title='knot'label org.opencontainers.image.description='data server for tangled'label org.opencontainers.image.source='https://tangled.org/did:plc:f5s5la5wlofsxidb3zemdune'label org.opencontainers.image.url='https://tangled.org'label org.opencontainers.image.vendor='tangled.org'label org.opencontainers.image.licenses='MIT'
arg UID=1000arg GID=1000
run apt-get update && apt-get install -y --no-install-recommends \ ca-certificates curl \ && rm -rf /var/lib/apt/lists/*run groupadd -g $GID -f knot && useradd -u $UID -g $GID -d /data knotrun mkdir -p /data/repos && chown -R $UID:$GID /datacopy --from=builder /src/target/release/knot-server /usr/bin/knot-servercopy --from=builder /src/target/release/knot-migrate /usr/bin/knot-migrate
healthcheck --interval=60s --timeout=30s --start-period=600s --retries=3 \ cmd curl -f http://localhost:5555/xrpc/_health || exit 1
user knotentrypoint ["/usr/bin/knot-server"]