Community maintained Docker config for the knot server
92
fork

Configure Feed

Select the types of activity you want to include in your feed.

at main 40 lines 1.3 kB view raw
1from golang:1.25-alpine as builder 2env CGO_ENABLED=1 3 4arg TAG='v1.13.0-alpha' 5 6workdir /app 7run apk add git gcc musl-dev 8run git clone -b ${TAG} https://tangled.org/@tangled.org/core . 9run go build -o /usr/bin/knot -ldflags '-s -w -extldflags "-static"' ./cmd/knot 10 11from alpine:latest 12env KNOT_REPO_SCAN_PATH=/home/git/repositories 13expose 5555 14expose 22 15 16label org.opencontainers.image.title='knot' 17label org.opencontainers.image.description='data server for tangled' 18label org.opencontainers.image.source='https://tangled.org/@tangled.org/knot-docker' 19label org.opencontainers.image.url='https://tangled.org' 20label org.opencontainers.image.vendor='tangled.org' 21label org.opencontainers.image.licenses='MIT' 22 23arg UID=1000 24arg GID=1000 25 26copy rootfs . 27run chmod 755 /etc 28run chmod -R 755 /etc/s6-overlay 29run apk add shadow s6-overlay execline openssl openssh git curl bash 30run groupadd -g $GID -f git 31run useradd -u $UID -g $GID -d /home/git git 32run openssl rand -hex 16 | passwd --stdin git 33run mkdir -p /home/git/repositories && chown -R git:git /home/git 34copy --from=builder /usr/bin/knot /usr/bin 35run mkdir /app && chown -R git:git /app 36 37healthcheck --interval=60s --timeout=30s --start-period=5s --retries=3 \ 38 cmd curl -f http://localhost:5555 || exit 1 39 40entrypoint ["/init"]