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"]