Просмотр исходного кода

Merge pull request #40 from paspo/new-dockerfile

test new Dockerfile with s6-overlay
RustDesk лет назад: 3
Родитель
Сommit
c87e7bc848

+ 34 - 0
docker/Dockerfile

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

+ 4 - 0
docker/healthcheck.sh

@@ -0,0 +1,4 @@
1
+#!/bin/sh
2
+
3
+/package/admin/s6/command/s6-svstat /run/s6-rc/servicedirs/hbbr || exit 1
4
+/package/admin/s6/command/s6-svstat /run/s6-rc/servicedirs/hbbs || exit 1

+ 3 - 0
docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/run

@@ -0,0 +1,3 @@
1
+#!/command/execlineb -P
2
+posix-cd /data
3
+/usr/bin/hbbr

+ 1 - 0
docker/rootfs/etc/s6-overlay/s6-rc.d/hbbr/type

@@ -0,0 +1 @@
1
+longrun

+ 3 - 0
docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/run

@@ -0,0 +1,3 @@
1
+#!/command/execlineb -P
2
+posix-cd /data
3
+/usr/bin/hbbs -r $RELAY

+ 1 - 0
docker/rootfs/etc/s6-overlay/s6-rc.d/hbbs/type

@@ -0,0 +1 @@
1
+longrun

+ 0 - 0
docker/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/hbbr


+ 0 - 0
docker/rootfs/etc/s6-overlay/s6-rc.d/user/contents.d/hbbs