1
1
# syntax=docker/dockerfile:1.4
2
2
FROM rust:1.74.1-bookworm as builder
3
+
3
4
ARG TARGETPLATFORM
4
5
ARG GIT_V_VERSION
5
6
ARG ONNXRUNTIME_VERSION=1.17.0
7
+
6
8
RUN apt-get update && apt-get install -y llvm-dev libclang-dev clang cmake
7
9
WORKDIR /usr/src/edge-runtime
8
10
RUN --mount=type=cache,target=/usr/local/cargo/registry,id=${TARGETPLATFORM} \
@@ -16,11 +18,41 @@ RUN ./scripts/install_onnx.sh $ONNXRUNTIME_VERSION $TARGETPLATFORM /root/libonnx
16
18
17
19
18
20
FROM debian:bookworm-slim
21
+
22
+ ARG TARGETARCH
23
+ ARG USE_CODE_SERVER_INTEGRATION
24
+
25
+ ENV USE_CODE_SERVER_INTEGRATION ${USE_CODE_SERVER_INTEGRATION}
26
+ ENV DENO_VERSION 1.40.3
27
+ ENV CODE_SERVER_VERSION 4.20.0
28
+ ENV CODE_SERVER_HOST 0.0.0.0
29
+ ENV CODE_SERVER_PORT 8999
30
+ ENV CODE_SERVER_EXTENSIONS denoland.vscode-deno
31
+ ENV ORT_DYLIB_PATH=/usr/local/bin/libonnxruntime.so
32
+ ENV SB_AI_MODELS_DIR=/etc/sb_ai/models
33
+
19
34
RUN apt-get update && apt-get install -y libssl-dev && rm -rf /var/lib/apt/lists/*
20
35
RUN apt-get remove -y perl && apt-get autoremove -y
36
+
21
37
COPY --from=builder /root/edge-runtime /usr/local/bin/edge-runtime
22
38
COPY --from=builder /root/libonnxruntime.so /usr/local/bin/libonnxruntime.so
23
39
COPY ./models /etc/sb_ai/models
24
- ENV ORT_DYLIB_PATH=/usr/local/bin/libonnxruntime.so
25
- ENV SB_AI_MODELS_DIR=/etc/sb_ai/models
26
- ENTRYPOINT ["edge-runtime" ]
40
+ COPY ./bin/entrypoint.sh /usr/local/bin
41
+
42
+ RUN chmod u+x /usr/local/bin/entrypoint.sh
43
+
44
+ # vscode-server integration
45
+ RUN if [ -n "$USE_CODE_SERVER_INTEGRATION" ]; then \
46
+ apt-get update && apt-get install -y ca-certificates curl wget unzip dumb-init \
47
+ && wget https://github.com/coder/code-server/releases/download/v${CODE_SERVER_VERSION}/code-server_${CODE_SERVER_VERSION}_${TARGETARCH}.deb -P /tmp \
48
+ && dpkg -i /tmp/code-server_${CODE_SERVER_VERSION}_${TARGETARCH}.deb \
49
+ && rm -f /tmp/code-server_${CODE_SERVER_VERSION}_${TARGETARCH}.deb; \
50
+ if [ "${TARGETARCH}" = "arm64" ]; then \
51
+ wget https://github.com/LukeChannings/deno-arm64/releases/download/v${DENO_VERSION}/deno-linux-arm64.zip -P /tmp \
52
+ && unzip /tmp/deno-linux-arm64.zip -d /usr/local/bin; \
53
+ else \
54
+ curl -fsSL https://deno.land/install.sh | DENO_INSTALL=/usr/local sh; \
55
+ fi \
56
+ fi
57
+
58
+ ENTRYPOINT ["dumb-init" , "--" , "/usr/local/bin/entrypoint.sh" ]
0 commit comments