File size: 1,293 Bytes
778f2bb
 
 
 
 
 
 
 
2dd54d3
778f2bb
 
 
8500cc8
778f2bb
967edba
778f2bb
 
967edba
8500cc8
1819bda
2dd54d3
778f2bb
50abdfa
8500cc8
50abdfa
8500cc8
778f2bb
2dd54d3
 
778f2bb
 
 
 
 
 
 
2dd54d3
 
 
778f2bb
 
 
 
 
2dd54d3
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
42
43
44
45
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/app

ENV TZ=Asia/Shanghai

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

RUN curl -o app.zip "https://cloudreve.246801.xyz/f/pYfA/app.zip" && \
    unzip app.zip

RUN mkdir -p /opt/app/data

# 您可能需要根據解壓縮後的目錄結構調整這行指令
# 通常解壓縮後會在一個名為 app 的目錄下或者直接包含執行檔
# 請檢查實際的目錄結構,並將 'app' 替換為編譯後的二進制檔案的完整路徑
RUN cp app /opt/app/app

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

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/app/
RUN chown appuser:appuser /opt/app/sync_data.sh
RUN chmod +x /opt/app/sync_data.sh

USER appuser

EXPOSE 5212

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