HuggingFace0920 commited on
Commit
e3e5b8c
·
verified ·
1 Parent(s): 5d13ead

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +25 -13
Dockerfile CHANGED
@@ -2,29 +2,41 @@
2
  FROM ubuntu:22.04
3
 
4
  # 设置环境变量
5
- ENV APP_HOME /app
6
- ENV DEBIAN_FRONTEND noninteractive
7
 
8
  # 安装必要的依赖
9
  RUN apt-get update && \
10
  apt-get install -y --no-install-recommends \
11
- curl \
12
- jq \
13
- tar \
 
14
  && rm -rf /var/lib/apt/lists/*
15
 
16
- # 创建应用目录
17
- RUN mkdir -p $APP_HOME
 
 
18
  WORKDIR $APP_HOME
19
 
20
- # 下载并解压rustdesk-api的指定版本(v2.6.23)
21
  RUN curl -L -o $APP_HOME/linux-amd64.tar.gz \
22
- $(curl -s https://api.github.com/repos/lejianwen/rustdesk-api/releases/tags/v2.6.23 | jq -r '.assets[] | select(.name | test("linux-amd64.tar.gz")) | .browser_download_url') && \
23
  tar -xzf linux-amd64.tar.gz && \
24
- rm linux-amd64.tar.gz
 
 
 
 
 
25
 
26
- # 暴露应用端口(根据实际应用调整)
27
  EXPOSE 21114
28
 
29
- # 设置容器启动命令(根据实际应用调整)
30
- CMD ["./rustdesk-api", "--config", "config.toml"]
 
 
 
 
 
2
  FROM ubuntu:22.04
3
 
4
  # 设置环境变量
5
+ ENV APP_HOME=/app
6
+ ENV DEBIAN_FRONTEND=noninteractive
7
 
8
  # 安装必要的依赖
9
  RUN apt-get update && \
10
  apt-get install -y --no-install-recommends \
11
+ curl \
12
+ jq \
13
+ tar \
14
+ ca-certificates \
15
  && rm -rf /var/lib/apt/lists/*
16
 
17
+ # 创建应用目录和用户
18
+ RUN groupadd -r rustdesk && useradd -r -g rustdesk rustdesk
19
+ RUN mkdir -p $APP_HOME && chown rustdesk:rustdesk $APP_HOME
20
+
21
  WORKDIR $APP_HOME
22
 
23
+ # 下载并解压rustdesk-api的最新版本
24
  RUN curl -L -o $APP_HOME/linux-amd64.tar.gz \
25
+ $(curl -s https://api.github.com/repos/lejianwen/rustdesk-api/releases/latest | jq -r '.assets[] | select(.name | test("linux-amd64.tar.gz")) | .browser_download_url') && \
26
  tar -xzf linux-amd64.tar.gz && \
27
+ rm linux-amd64.tar.gz && \
28
+ chmod +x apimain && \
29
+ chown -R rustdesk:rustdesk $APP_HOME
30
+
31
+ # 切换到非root用户
32
+ USER rustdesk
33
 
34
+ # 暴露应用端口
35
  EXPOSE 21114
36
 
37
+ # 健康检查
38
+ HEALTHCHECK --interval=30s --timeout=3s --start-period=5s --retries=3 \
39
+ CMD curl -f http://localhost:21114/health || exit 1
40
+
41
+ # 设置容器启动命令
42
+ CMD ["./apimain"]