From cf4b721d48b3ee6bf7d4a9fe36e704447ef078dc Mon Sep 17 00:00:00 2001 From: Paolo Asperti Date: Mon, 20 Jun 2022 14:48:57 +0200 Subject: [PATCH 1/4] test new dockerfile with s6-overlay --- docker/Dockerfile | 31 +++++++++++++++++++ docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/run | 3 ++ .../rootfs/etc/s6-overlay/s6-rc.d/hbbr/type | 1 + docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/run | 3 ++ .../rootfs/etc/s6-overlay/s6-rc.d/hbbs/type | 1 + .../s6-overlay/s6-rc.d/user/contents.d/hbbr | 0 .../s6-overlay/s6-rc.d/user/contents.d/hbbs | 0 7 files changed, 39 insertions(+) create mode 100755 docker/Dockerfile create mode 100755 docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/run create mode 100755 docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/type create mode 100755 docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/run create mode 100755 docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/type create mode 100755 docker/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/hbbr create mode 100755 docker/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/hbbs diff --git a/docker/Dockerfile b/docker/Dockerfile new file mode 100755 index 0000000..da1d37c --- /dev/null +++ b/docker/Dockerfile @@ -0,0 +1,31 @@ +FROM rust:alpine AS builder + +RUN \ + apk -U add musl-dev git file make && \ + git clone --depth=1 https://github.com/rustdesk/rustdesk-server.git /src && \ + cd /src && \ + cargo build -r --manifest-path /src/Cargo.toml + +FROM busybox + +ARG S6_OVERLAY_VERSION=3.1.0.1 +ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp +ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-x86_64.tar.xz /tmp +RUN \ + tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \ + tar -C / -Jxpf /tmp/s6-overlay-x86_64.tar.xz && \ + rm /tmp/s6-overlay*.tar.xz + +COPY rootfs / +COPY --from=builder /src/target/release/hbbr /usr/bin/hbbr +COPY --from=builder /src/target/release/hbbs /usr/bin/hbbs + +ENV RELAY relay.example.com + +EXPOSE 21115 21116 21116/udp 21117 21118 21119 + +WORKDIR /data + +VOLUME /data + +ENTRYPOINT ["/init"] diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/run new file mode 100755 index 0000000..eae3611 --- /dev/null +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/run @@ -0,0 +1,3 @@ +#!/command/execlineb -P +posix-cd /data +/usr/bin/hbbr diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/type b/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/type new file mode 100755 index 0000000..1780f9f --- /dev/null +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/type @@ -0,0 +1 @@ +longrun \ No newline at end of file diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/run b/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/run new file mode 100755 index 0000000..ae3b02a --- /dev/null +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/run @@ -0,0 +1,3 @@ +#!/command/execlineb -P +posix-cd /data +/usr/bin/hbbs -r $RELAY diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/type b/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/type new file mode 100755 index 0000000..1780f9f --- /dev/null +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/type @@ -0,0 +1 @@ +longrun \ No newline at end of file diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/hbbr b/docker/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/hbbr new file mode 100755 index 0000000..e69de29 diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/hbbs b/docker/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/hbbs new file mode 100755 index 0000000..e69de29 From 26c845e248e3a9f37c517c98efa72b19485e1e4c Mon Sep 17 00:00:00 2001 From: Paolo Asperti Date: Mon, 20 Jun 2022 14:55:44 +0200 Subject: [PATCH 2/4] missing newlines --- docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/type | 2 +- docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/type | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/type b/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/type index 1780f9f..5883cff 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/type +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/type @@ -1 +1 @@ -longrun \ No newline at end of file +longrun diff --git a/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/type b/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/type index 1780f9f..5883cff 100755 --- a/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/type +++ b/docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/type @@ -1 +1 @@ -longrun \ No newline at end of file +longrun From d624e590216addebfb25067acef4ce8968f1200e Mon Sep 17 00:00:00 2001 From: Paolo Asperti Date: Mon, 20 Jun 2022 15:22:42 +0200 Subject: [PATCH 3/4] added healthcheck --- docker/Dockerfile | 3 +++ docker/healthcheck.sh | 4 ++++ 2 files changed, 7 insertions(+) create mode 100755 docker/healthcheck.sh diff --git a/docker/Dockerfile b/docker/Dockerfile index da1d37c..2f13dc3 100755 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -19,11 +19,14 @@ RUN \ COPY rootfs / COPY --from=builder /src/target/release/hbbr /usr/bin/hbbr COPY --from=builder /src/target/release/hbbs /usr/bin/hbbs +COPY healthcheck.sh /usr/bin/healthcheck.sh ENV RELAY relay.example.com EXPOSE 21115 21116 21116/udp 21117 21118 21119 +HEALTHCHECK --interval=10s --timeout=5s CMD /usr/bin/healthcheck.sh + WORKDIR /data VOLUME /data diff --git a/docker/healthcheck.sh b/docker/healthcheck.sh new file mode 100755 index 0000000..f7ae0d7 --- /dev/null +++ b/docker/healthcheck.sh @@ -0,0 +1,4 @@ +#!/bin/sh + +/package/admin/s6/command/s6-svstat /run/s6-rc/servicedirs/hbbr || exit 1 +/package/admin/s6/command/s6-svstat /run/s6-rc/servicedirs/hbbs || exit 1 From 8dfb8f43ef7d5918be284a41bc867be7c571e3fd Mon Sep 17 00:00:00 2001 From: Paolo Asperti Date: Mon, 20 Jun 2022 16:59:24 +0200 Subject: [PATCH 4/4] target a stable busybox release --- docker/Dockerfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docker/Dockerfile b/docker/Dockerfile index 2f13dc3..64d11bf 100755 --- a/docker/Dockerfile +++ b/docker/Dockerfile @@ -6,7 +6,7 @@ RUN \ cd /src && \ cargo build -r --manifest-path /src/Cargo.toml -FROM busybox +FROM busybox:stable ARG S6_OVERLAY_VERSION=3.1.0.1 ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp