Dockerfile 1023 B

1234567891011121314151617181920212223242526272829303132333435
  1. FROM rust:alpine AS builder
  2. RUN \
  3. apk -U add musl-dev git file make && \
  4. git clone --depth=1 https://github.com/rustdesk/rustdesk-server.git /src && \
  5. cd /src && \
  6. cargo build -r --manifest-path /src/Cargo.toml
  7. FROM busybox
  8. ARG S6_OVERLAY_VERSION=3.1.0.1
  9. ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-noarch.tar.xz /tmp
  10. ADD https://github.com/just-containers/s6-overlay/releases/download/v${S6_OVERLAY_VERSION}/s6-overlay-x86_64.tar.xz /tmp
  11. RUN \
  12. tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && \
  13. tar -C / -Jxpf /tmp/s6-overlay-x86_64.tar.xz && \
  14. rm /tmp/s6-overlay*.tar.xz
  15. COPY rootfs /
  16. COPY --from=builder /src/target/release/hbbr /usr/bin/hbbr
  17. COPY --from=builder /src/target/release/hbbs /usr/bin/hbbs
  18. COPY healthcheck.sh /usr/bin/healthcheck.sh
  19. ENV RELAY relay.example.com
  20. EXPOSE 21115 21116 21116/udp 21117 21118 21119
  21. HEALTHCHECK --interval=10s --timeout=5s CMD /usr/bin/healthcheck.sh
  22. WORKDIR /data
  23. VOLUME /data
  24. ENTRYPOINT ["/init"]