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