File size: 1,182 Bytes
fa882e9
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
FROM alpine:latest

# 創建一個非 root 使用者
ARG USER_ID=1000
ARG GROUP_ID=1000
RUN addgroup -g $GROUP_ID appuser && \
    adduser -u $USER_ID -G appuser -s /bin/sh -D appuser

WORKDIR /opt/cloudreve

ENV TZ=Asia/Shanghai

# 直接使用您提供的下載連結
RUN apk update && \
    apk add --no-cache wget unzip python3 py3-pip bash tar gzip jq curl  && \
    rm -rf /var/cache/apk/*

RUN wget -O cloudreve.tar.gz "https://github.com/cloudreve/Cloudreve/releases/download/3.8.3/cloudreve_3.8.3_linux_amd64.tar.gz" && \
    tar -zxvf cloudreve.tar.gz && \
    rm cloudreve.tar.gz

RUN mkdir -p /opt/cloudreve/data

# 設定 /opt/cloudreve 的擁有者為非 root 使用者
RUN chown -R appuser:appuser /opt/cloudreve

ENV VIRTUAL_ENV=/opt/venv
RUN python3 -m venv $VIRTUAL_ENV
ENV PATH="$VIRTUAL_ENV/bin:$PATH"
RUN pip install --no-cache-dir requests webdavclient3
RUN pip install --upgrade webdavclient3

COPY sync_data.sh /opt/cloudreve/
RUN chown appuser:appuser /opt/cloudreve/sync_data.sh
RUN chmod +x /opt/cloudreve/sync_data.sh

USER appuser

EXPOSE 5212

CMD ["/bin/sh", "-c", "/opt/cloudreve/cloudreve -c /opt/cloudreve/config.ini & /opt/cloudreve/sync_data.sh"]