HuggingFace0920 commited on
Commit
ce2ce6f
·
verified ·
1 Parent(s): 71424e7

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +25 -44
Dockerfile CHANGED
@@ -1,49 +1,30 @@
1
- FROM golang:1.20-alpine AS builder
 
2
 
3
- # 设置工作目录
4
- WORKDIR /app
 
5
 
6
  # 安装必要的依赖
7
- RUN apk add --no-cache git make gcc musl-dev nodejs npm
8
-
9
- # 克隆 RustDesk API 仓库
10
- RUN git clone https://github.com/lejianwen/rustdesk-api.git .
11
-
12
- # 复制 Go 模块文件并下载依赖(利用缓存)
13
- COPY go.mod go.sum ./
14
- RUN go mod tidy
15
-
16
- # 构建前端
17
- RUN mkdir -p resources/admin
18
- RUN git clone https://github.com/lejianwen/rustdesk-api-web resources/rustdesk-api-web
19
- WORKDIR /app/resources/rustdesk-api-web
20
- RUN npm install
21
- RUN npm run build
22
- RUN cp -ar dist/* ../admin/
23
-
24
- # 生成 API 代码
25
- WORKDIR /app
26
- RUN go generate generate_api.go
27
-
28
- # 构建最终的可执行文件
29
- RUN CGO_ENABLED=0 GOOS=linux go build -a -installsuffix cgo -o rustdesk-api .
30
-
31
- # 创建轻量级运行时镜像
32
- FROM alpine:latest
33
-
34
- # 安装必要的依赖
35
- RUN apk --no-cache add ca-certificates
36
-
37
- # 设置工作目录
38
- WORKDIR /app
39
-
40
- # 从构建镜像复制可执行文件
41
- COPY --from=builder /app/rustdesk-api .
42
- COPY --from=builder /app/resources /app/resources
43
- COPY --from=builder /app/config.yaml /app/config.yaml
44
-
45
- # 暴露 API 端口
46
  EXPOSE 8080
47
 
48
- # 启动应用
49
- CMD ["./rustdesk-api"]
 
1
+ # 使用官方Ubuntu基础镜像
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
21
+ RUN curl -L -o $APP_HOME/linux-amd64.tar.gz \
22
+ $(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') && \
23
+ tar -xzf linux-amd64.tar.gz && \
24
+ rm linux-amd64.tar.gz
25
+
26
+ # 暴露应用端口(根据实际应用调整)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
27
  EXPOSE 8080
28
 
29
+ # 设置容器启动命令(根据实际应用调整)
30
+ CMD ["./rustdesk-api", "--config", "config.toml"]