|
1 | | -# 使用 Debian Slim 作为基础镜像 |
| 1 | +# 使用 Debian Bullseye Slim 作为基础镜像 |
2 | 2 | FROM debian:bullseye-slim |
3 | 3 |
|
4 | | -# 声明构建参数 |
5 | | -ARG RELEASE_TAG |
| 4 | +# 设置构建参数 |
6 | 5 | ARG TARGETARCH |
7 | 6 |
|
8 | | -# 安装依赖并安装 OpenJDK |
9 | | -RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates wget unzip && \ |
10 | | - ARCH_SUFFIX=$(case "$TARGETARCH" in \ |
11 | | - "amd64") echo "linux-x64" ;; \ |
12 | | - "arm64") echo "linux-aarch64" ;; \ |
13 | | - *) echo "unsupported-arch" ;; \ |
14 | | - esac) && \ |
15 | | - # 下载 Cryptomator-CLI |
16 | | - wget -O /tmp/cli.zip \ |
17 | | - "https://github.com/cryptomator/cli/releases/download/${RELEASE_TAG}/cryptomator-cli-${RELEASE_TAG}-${ARCH_SUFFIX}.zip" && \ |
18 | | - unzip /tmp/cli.zip -d /app && \ |
19 | | - rm /tmp/cli.zip && \ |
20 | | - apt-get remove -y wget unzip && \ |
21 | | - apt-get autoremove -y && \ |
22 | | - rm -rf /var/lib/apt/lists/* |
23 | | - |
24 | | -# 设置工作目录和入口点 |
| 7 | +# 设置工作目录 |
25 | 8 | WORKDIR /app |
| 9 | + |
| 10 | +# 安装必要的依赖 |
| 11 | +RUN apt-get update && apt-get install -y --no-install-recommends \ |
| 12 | + ca-certificates \ |
| 13 | + wget \ |
| 14 | + unzip \ |
| 15 | + libfuse3-3 \ |
| 16 | + fuse3 \ |
| 17 | + libglib2.0-0 \ |
| 18 | + procps \ |
| 19 | + && apt-get clean \ |
| 20 | + && rm -rf /var/lib/apt/lists/* |
| 21 | + |
| 22 | +# 根据目标架构设置不同的变量 |
| 23 | +RUN case "${TARGETARCH}" in \ |
| 24 | + "amd64") ARCH_SUFFIX="linux-x64" && NATIVE_ACCESS_PACKAGE="org.cryptomator.jfuse.linux.amd64" ;; \ |
| 25 | + "arm64") ARCH_SUFFIX="linux-aarch64" && NATIVE_ACCESS_PACKAGE="org.cryptomator.jfuse.linux.aarch64" ;; \ |
| 26 | + *) echo "Unsupported architecture: ${TARGETARCH}" && exit 1 ;; \ |
| 27 | + esac \ |
| 28 | + && echo "Building for architecture: ${TARGETARCH}, suffix: ${ARCH_SUFFIX}, native package: ${NATIVE_ACCESS_PACKAGE}" \ |
| 29 | + && wget -O /tmp/cryptomator-cli.zip "https://github.com/cryptomator/cli/releases/download/${RELEASE_TAG}/cryptomator-cli-${RELEASE_TAG}-${ARCH_SUFFIX}.zip" \ |
| 30 | + && unzip /tmp/cryptomator-cli.zip -d /app \ |
| 31 | + && rm /tmp/cryptomator-cli.zip \ |
| 32 | + && chmod +x /app/cryptomator-cli/bin/cryptomator-cli |
| 33 | + |
| 34 | +# # 为 ARM64 架构添加额外的库 |
| 35 | +# RUN if [ "${TARGETARCH}" = "arm64" ]; then \ |
| 36 | +# apt-get update && apt-get install -y --no-install-recommends \ |
| 37 | +# libc6 \ |
| 38 | +# libgcc-s1 \ |
| 39 | +# && apt-get clean \ |
| 40 | +# && rm -rf /var/lib/apt/lists/*; \ |
| 41 | +# fi |
| 42 | + |
| 43 | +# 设置环境变量 |
| 44 | +ENV PATH="/app/cryptomator-cli/bin:${PATH}" |
| 45 | + |
| 46 | +# 创建挂载点目录 |
| 47 | +RUN mkdir -p /mnt/vault |
| 48 | + |
| 49 | +# 设置入口点 |
26 | 50 | ENTRYPOINT ["/app/cryptomator-cli/bin/cryptomator-cli"] |
| 51 | + |
| 52 | +# 默认命令 |
27 | 53 | CMD ["--help"] |
0 commit comments