diff --git a/compose.yml b/compose.yml index 6e8fa91..865b500 100644 --- a/compose.yml +++ b/compose.yml @@ -29,11 +29,11 @@ services: knot: build: - context: ./knot + context: https://tangled.org/tangled.org/knot-docker.git args: + TAG: master UID: 1000 GID: 1000 - TAG: v1.11.0-alpha restart: unless-stopped ports: - "5555:5555" diff --git a/knot/Dockerfile b/knot/Dockerfile deleted file mode 100644 index 98ec3ef..0000000 --- a/knot/Dockerfile +++ /dev/null @@ -1,40 +0,0 @@ -FROM golang:1.24-alpine AS builder -ENV KNOT_REPO_SCAN_PATH=/home/git/repositories -ENV CGO_ENABLED=1 - -ARG TAG='v1.10.0-alpha' - -WORKDIR /app -RUN apk add git gcc musl-dev -RUN git clone -b ${TAG} https://tangled.org/tangled.org/core . -RUN go build -o /usr/bin/knot -ldflags '-s -w -extldflags "-static"' ./cmd/knot - -FROM alpine:edge -EXPOSE 5555 -EXPOSE 22 - -LABEL org.opencontainers.image.title='knot' -LABEL org.opencontainers.image.description='data server for tangled' -LABEL org.opencontainers.image.source='https://tangled.org/@tangled.org/knot-docker' -LABEL org.opencontainers.image.url='https://tangled.org' -LABEL org.opencontainers.image.vendor='tangled.org' -LABEL org.opencontainers.image.licenses='MIT' - -ARG UID=1000 -ARG GID=1000 - -COPY rootfs . -RUN chmod 755 /etc -RUN chmod -R 755 /etc/s6-overlay -RUN apk add shadow s6-overlay execline openssl openssh git curl bash -RUN groupadd -g $GID -f git -RUN useradd -u $UID -g $GID -d /home/git git -RUN openssl rand -hex 16 | passwd --stdin git -RUN mkdir -p /home/git/repositories && chown -R git:git /home/git -COPY --from=builder /usr/bin/knot /usr/bin -RUN mkdir /app && chown -R git:git /app - -HEALTHCHECK --interval=60s --timeout=30s --start-period=5s --retries=3 \ - cmd curl -f http://localhost:5555 || exit 1 - -ENTRYPOINT ["/init"] diff --git a/knot/rootfs/etc/s6-overlay/s6-rc.d/create-sshd-host-keys/type b/knot/rootfs/etc/s6-overlay/s6-rc.d/create-sshd-host-keys/type deleted file mode 100644 index bdd22a1..0000000 --- a/knot/rootfs/etc/s6-overlay/s6-rc.d/create-sshd-host-keys/type +++ /dev/null @@ -1 +0,0 @@ -oneshot diff --git a/knot/rootfs/etc/s6-overlay/s6-rc.d/create-sshd-host-keys/up b/knot/rootfs/etc/s6-overlay/s6-rc.d/create-sshd-host-keys/up deleted file mode 100644 index d25eb18..0000000 --- a/knot/rootfs/etc/s6-overlay/s6-rc.d/create-sshd-host-keys/up +++ /dev/null @@ -1 +0,0 @@ -/etc/s6-overlay/scripts/create-sshd-host-keys diff --git a/knot/rootfs/etc/s6-overlay/s6-rc.d/knotserver/dependencies.d/base b/knot/rootfs/etc/s6-overlay/s6-rc.d/knotserver/dependencies.d/base deleted file mode 100644 index e69de29..0000000 diff --git a/knot/rootfs/etc/s6-overlay/s6-rc.d/knotserver/run b/knot/rootfs/etc/s6-overlay/s6-rc.d/knotserver/run deleted file mode 100755 index a210fc4..0000000 --- a/knot/rootfs/etc/s6-overlay/s6-rc.d/knotserver/run +++ /dev/null @@ -1,3 +0,0 @@ -#!/command/with-contenv ash - -exec s6-setuidgid git /usr/bin/knot server diff --git a/knot/rootfs/etc/s6-overlay/s6-rc.d/knotserver/type b/knot/rootfs/etc/s6-overlay/s6-rc.d/knotserver/type deleted file mode 100644 index 5883cff..0000000 --- a/knot/rootfs/etc/s6-overlay/s6-rc.d/knotserver/type +++ /dev/null @@ -1 +0,0 @@ -longrun diff --git a/knot/rootfs/etc/s6-overlay/s6-rc.d/sshd/dependencies.d/base b/knot/rootfs/etc/s6-overlay/s6-rc.d/sshd/dependencies.d/base deleted file mode 100644 index e69de29..0000000 diff --git a/knot/rootfs/etc/s6-overlay/s6-rc.d/sshd/dependencies.d/create-sshd-host-keys b/knot/rootfs/etc/s6-overlay/s6-rc.d/sshd/dependencies.d/create-sshd-host-keys deleted file mode 100644 index e69de29..0000000 diff --git a/knot/rootfs/etc/s6-overlay/s6-rc.d/sshd/run b/knot/rootfs/etc/s6-overlay/s6-rc.d/sshd/run deleted file mode 100755 index a7efea4..0000000 --- a/knot/rootfs/etc/s6-overlay/s6-rc.d/sshd/run +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/execlineb -P - -/usr/sbin/sshd -e -D diff --git a/knot/rootfs/etc/s6-overlay/s6-rc.d/sshd/type b/knot/rootfs/etc/s6-overlay/s6-rc.d/sshd/type deleted file mode 100644 index 5883cff..0000000 --- a/knot/rootfs/etc/s6-overlay/s6-rc.d/sshd/type +++ /dev/null @@ -1 +0,0 @@ -longrun diff --git a/knot/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/knotserver b/knot/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/knotserver deleted file mode 100644 index e69de29..0000000 diff --git a/knot/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/sshd b/knot/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/sshd deleted file mode 100644 index e69de29..0000000 diff --git a/knot/rootfs/etc/s6-overlay/scripts/create-sshd-host-keys b/knot/rootfs/etc/s6-overlay/scripts/create-sshd-host-keys deleted file mode 100755 index e435536..0000000 --- a/knot/rootfs/etc/s6-overlay/scripts/create-sshd-host-keys +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/execlineb -P - -foreground { - if -n { test -d /etc/ssh/keys } - mkdir /etc/ssh/keys -} - -foreground { - if -n { test -f /etc/ssh/keys/ssh_host_rsa_key } - ssh-keygen -t rsa -f /etc/ssh/keys/ssh_host_rsa_key -q -N "" -} - -foreground { - if -n { test -f /etc/ssh/keys/ssh_host_ecdsa_key } - ssh-keygen -t rsa -f /etc/ssh/keys/ssh_host_ecdsa_key -q -N "" -} - -foreground { - if -n { test -f /etc/ssh/keys/ssh_host_ed25519_key } - ssh-keygen -t rsa -f /etc/ssh/keys/ssh_host_ed25519_key -q -N "" -} diff --git a/knot/rootfs/etc/s6-overlay/scripts/keys-wrapper b/knot/rootfs/etc/s6-overlay/scripts/keys-wrapper deleted file mode 100644 index e35ffc3..0000000 --- a/knot/rootfs/etc/s6-overlay/scripts/keys-wrapper +++ /dev/null @@ -1,8 +0,0 @@ -#!/bin/sh - -# Execute the knot keys command with proper shell context -exec /bin/sh -c '/usr/bin/knot keys -output authorized-keys \ - -internal-api "http://${KNOT_SERVER_INTERNAL_LISTEN_ADDR:-localhost:5444}" \ - -git-dir "${KNOT_REPO_SCAN_PATH:-/home/git/repositories}" \ - -log-path "/tmp/knotguard.log"' - diff --git a/knot/rootfs/etc/ssh/sshd_config.d/authorized_keys_command.conf b/knot/rootfs/etc/ssh/sshd_config.d/authorized_keys_command.conf deleted file mode 100644 index ec43e5b..0000000 --- a/knot/rootfs/etc/ssh/sshd_config.d/authorized_keys_command.conf +++ /dev/null @@ -1,3 +0,0 @@ -Match User git - AuthorizedKeysCommand /usr/bin/knot keys -o authorized-keys -git-dir /home/git/repositories - AuthorizedKeysCommandUser nobody diff --git a/knot/rootfs/etc/ssh/sshd_config.d/tangled_sshd.conf b/knot/rootfs/etc/ssh/sshd_config.d/tangled_sshd.conf deleted file mode 100644 index d75f31e..0000000 --- a/knot/rootfs/etc/ssh/sshd_config.d/tangled_sshd.conf +++ /dev/null @@ -1,9 +0,0 @@ -HostKey /etc/ssh/keys/ssh_host_rsa_key -HostKey /etc/ssh/keys/ssh_host_ecdsa_key -HostKey /etc/ssh/keys/ssh_host_ed25519_key - -PasswordAuthentication no - -Match User git - AuthorizedKeysCommand /etc/s6-overlay/scripts/keys-wrapper - AuthorizedKeysCommandUser nobody