XJFKKK commited on
Commit
d21f842
·
verified ·
1 Parent(s): e427201

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +26 -23
Dockerfile CHANGED
@@ -1,37 +1,40 @@
1
- FROM alpine:latest
 
2
 
3
  # 设置工作目录
4
  WORKDIR /app
5
 
6
- # 安装必要的依赖
7
- RUN apk --no-cache add tzdata ca-certificates wget unzip
8
-
9
- # 设置时区
10
- ENV TZ=Asia/Shanghai
11
 
12
- # 声明 NeZha 版本
13
  ARG NEZHA_VERSION=v1.5.1
 
14
 
15
- # 定义下载的文件名
16
- ENV DASHBOARD_FILENAME=dashboard-linux-amd64.zip
 
 
 
 
17
 
18
- # 下载并解压预编译的 nezha-dashboard 二进制文件,并重命名可执行文件
19
- RUN wget https://github.com/nezhahq/nezha/releases/download/${NEZHA_VERSION}/${DASHBOARD_FILENAME} \
20
- && unzip ${DASHBOARD_FILENAME} \
21
- && mv dashboard-linux-amd64 nezha-dashboard \
22
- && rm ${DASHBOARD_FILENAME}
23
 
24
- # 创建 conf 目录
25
- RUN mkdir -p conf
26
 
27
- # 将本地的配置文件复制到镜像中
28
- COPY dashboard.yaml ./conf/dashboard.yaml
29
 
30
- # 暴露 Hugging Face 要求的端口
31
- EXPOSE 7860
32
 
33
  # 设置环境变量
34
- ENV PORT=7860
35
 
36
- # 启动 NeZha Dashboard
37
- CMD ["sh", "-c", "./nezha-dashboard --config ./conf/dashboard.yaml --host 0.0.0.0 --port ${PORT}"]
 
1
+ # 基于官方的 golang 镜像进行构建
2
+ FROM golang:1.21-alpine AS builder
3
 
4
  # 设置工作目录
5
  WORKDIR /app
6
 
7
+ # 安装必要的工具
8
+ RUN apk update && apk add --no-cache git tzdata ca-certificates
 
 
 
9
 
10
+ # 获取 Nezha 代码的特定版本(例如 v1.5.1)
11
  ARG NEZHA_VERSION=v1.5.1
12
+ RUN git clone --depth 1 --branch ${NEZHA_VERSION} https://github.com/nezhahq/nezha.git
13
 
14
+ # 进入 dashboard 目录并构建
15
+ WORKDIR /app/nezha/dashboard
16
+ RUN go build -o nezha-dashboard main.go
17
+
18
+ # 运行阶段使用轻量级的 alpine 镜像
19
+ FROM alpine:latest
20
 
21
+ # 设置工作目录
22
+ WORKDIR /app
23
+
24
+ # 安装必要的依赖
25
+ RUN apk --no-cache add tzdata ca-certificates
26
 
27
+ # 复制构建好的二进制文件
28
+ COPY --from=builder /app/nezha/dashboard/nezha-dashboard .
29
 
30
+ # 复制 conf 目录
31
+ COPY --from=builder /app/nezha/dashboard/conf ./conf
32
 
33
+ # 暴露端口
34
+ EXPOSE 8008
35
 
36
  # 设置环境变量
37
+ ENV PORT=8008
38
 
39
+ # 启动 Nezha Dashboard
40
+ CMD ["./nezha-dashboard", "--config", "./conf/dashboard.yaml", "--host", "0.0.0.0", "--port", "8008"]