cfiles commited on
Commit
8c87262
·
verified ·
1 Parent(s): 06df4df

Update Dockerfile

Browse files
Files changed (1) hide show
  1. Dockerfile +13 -15
Dockerfile CHANGED
@@ -1,9 +1,8 @@
1
- # 第一阶段:构建Cloudreve
2
  FROM golang:1.21 AS builder
3
 
4
  WORKDIR /app
5
 
6
- # 下载并解压 Cloudreve 源代码
7
  RUN go install github.com/cloudreve/Cloudreve/v3@latest
8
 
9
  # 设置 Cloudreve 环境变量
@@ -11,7 +10,9 @@ ENV CGO_ENABLED=0
11
  ENV GOOS=linux
12
  ENV GOARCH=amd64
13
 
14
- # 第二阶段:最终镜像
 
 
15
  FROM alpine:latest
16
 
17
  WORKDIR /opt/cloudreve
@@ -21,29 +22,26 @@ ENV TZ=Asia/Shanghai
21
  # 安装必要的依赖
22
  RUN apk update && apk add --no-cache wget tar gzip python3 py3-pip curl bash
23
 
24
- # 下载Cloudreve预构建二进制文件
25
  RUN wget https://github.com/cloudreve/Cloudreve/releases/download/3.8.3/cloudreve_linux_amd64.tar.gz -O cloudreve_linux_amd64.tar.gz && \
26
  tar -zxvf cloudreve_linux_amd64.tar.gz
27
 
28
- # 创建数据目录并设置权限
29
- RUN mkdir -p /opt/cloudreve/data && chmod -R 755 /opt/cloudreve
 
30
 
31
- # 创建Python虚拟环境并安装依赖
32
  ENV VIRTUAL_ENV=/opt/venv
33
  RUN python3 -m venv $VIRTUAL_ENV
34
  ENV PATH="$VIRTUAL_ENV/bin:$PATH"
35
  RUN pip install --no-cache-dir requests webdavclient3
36
 
37
- # 复制同步脚本并设置可执行权限
38
  COPY sync_data.sh /opt/cloudreve/
39
  RUN chmod +x /opt/cloudreve/sync_data.sh
40
 
41
- # 暴露Cloudreve的默认端口
42
  EXPOSE 5212
43
 
44
- # 添加元数据标签
45
- LABEL version="3.8.3" \
46
- maintainer="Your Name <your@email.com>"
47
-
48
- # 设置运行Cloudreve的命令
49
- CMD ["/bin/sh", "-c", "/opt/cloudreve/sync_data.sh & sleep 30 && ./cloudreve"]
 
 
1
  FROM golang:1.21 AS builder
2
 
3
  WORKDIR /app
4
 
5
+ # 下载并解压 Cloudreve 源代码 (根据需要调整版本)
6
  RUN go install github.com/cloudreve/Cloudreve/v3@latest
7
 
8
  # 设置 Cloudreve 环境变量
 
10
  ENV GOOS=linux
11
  ENV GOARCH=amd64
12
 
13
+ # 构建 Cloudreve (如果在 final 阶段下载预构建的二进制文件,则可能不需要此步骤)
14
+ # RUN go build -o cloudreve main.go
15
+
16
  FROM alpine:latest
17
 
18
  WORKDIR /opt/cloudreve
 
22
  # 安装必要的依赖
23
  RUN apk update && apk add --no-cache wget tar gzip python3 py3-pip curl bash
24
 
25
+ # 下载最新的 Cloudreve 预构建二进制文件 (使用明确版本号 3.8.3)
26
  RUN wget https://github.com/cloudreve/Cloudreve/releases/download/3.8.3/cloudreve_linux_amd64.tar.gz -O cloudreve_linux_amd64.tar.gz && \
27
  tar -zxvf cloudreve_linux_amd64.tar.gz
28
 
29
+ # 创建数据目录
30
+ RUN mkdir -p /opt/cloudreve/data
31
+ RUN chmod -R 755 /opt/cloudreve
32
 
33
+ # 创建 Python 虚拟环境并安装 webdavclient3
34
  ENV VIRTUAL_ENV=/opt/venv
35
  RUN python3 -m venv $VIRTUAL_ENV
36
  ENV PATH="$VIRTUAL_ENV/bin:$PATH"
37
  RUN pip install --no-cache-dir requests webdavclient3
38
 
39
+ # 复制同步脚本
40
  COPY sync_data.sh /opt/cloudreve/
41
  RUN chmod +x /opt/cloudreve/sync_data.sh
42
 
43
+ # 暴露 Cloudreve 的默认端口 (根据需要调整)
44
  EXPOSE 5212
45
 
46
+ # 设置运行 Cloudreve 的命令,包含同步脚本
47
+ CMD ["/bin/sh", "-c", "/opt/cloudreve/sync_data.sh & sleep 30 && ./cloudreve"]