Something went wrong. Try again.
Community maintained Docker config for the knot server forked from psychedeli.ca/knot-docker
Something went wrong. Try again.
knot-docker Dockerfile.knot2
1.7 kB · 43 lines
at main
1234567891011121314151617181920212223242526272829303132333435363738394041424344from rust:1.96-slim-trixie as builderarg TAG='master'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-migratefrom debian:trixie-slimenv KNOT_SCAN_PATH=/data/reposenv KNOT_SEALED_KEY_FILE=/data/sealed-keysenv KNOT_SSH_HOST_KEY_FILE=/data/ssh_host_keyenv KNOT_MASTER_KEY_ENV=KNOT_MASTER_KEYexpose 5555 2222label 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=1000run 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-migratehealthcheck --interval=60s --timeout=30s --start-period=600s --retries=3 \ cmd curl -f http://localhost:5555/xrpc/_health || exit 1user knotentrypoint ["/usr/bin/knot-server"]