Refactor Dockerfile to install OpenCode as root and set ownership to UID 1000 for compatibility with Hugging Face Spaces. Removed user creation and adjusted installation steps accordingly.
Browse files- Dockerfile +11 -7
Dockerfile
CHANGED
|
@@ -14,19 +14,23 @@ RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
| 14 |
git \
|
| 15 |
&& rm -rf /var/lib/apt/lists/*
|
| 16 |
|
| 17 |
-
#
|
| 18 |
-
RUN
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 19 |
|
| 20 |
ENV HOME=/home/user
|
| 21 |
ENV PATH=/home/user/.opencode/bin:$PATH
|
| 22 |
|
| 23 |
-
|
|
|
|
| 24 |
WORKDIR $HOME/app
|
| 25 |
|
| 26 |
-
#
|
| 27 |
-
RUN curl -fsSL https://opencode.ai/install | bash -s -- --no-modify-path
|
| 28 |
-
|
| 29 |
-
# 确保 opencode 在 PATH 中并可用
|
| 30 |
RUN opencode --version
|
| 31 |
|
| 32 |
# Hugging Face Spaces 默认暴露 7860
|
|
|
|
| 14 |
git \
|
| 15 |
&& rm -rf /var/lib/apt/lists/*
|
| 16 |
|
| 17 |
+
# 不创建新用户(HF 构建环境可能已有 UID 1000),改为以 root 安装到 /home/user 再 chown
|
| 18 |
+
RUN mkdir -p /home/user/app
|
| 19 |
+
|
| 20 |
+
# 使用官方安装脚本安装 opencode 到 /home/user/.opencode/bin
|
| 21 |
+
RUN HOME=/home/user curl -fsSL https://opencode.ai/install | bash -s -- --no-modify-path
|
| 22 |
+
|
| 23 |
+
# 将 /home/user 归属给 UID 1000(HF Spaces 运行时使用 UID 1000)
|
| 24 |
+
RUN chown -R 1000:1000 /home/user
|
| 25 |
|
| 26 |
ENV HOME=/home/user
|
| 27 |
ENV PATH=/home/user/.opencode/bin:$PATH
|
| 28 |
|
| 29 |
+
# 以 UID 1000 运行(符合 HF Spaces 要求)
|
| 30 |
+
USER 1000
|
| 31 |
WORKDIR $HOME/app
|
| 32 |
|
| 33 |
+
# 验证 opencode 可用
|
|
|
|
|
|
|
|
|
|
| 34 |
RUN opencode --version
|
| 35 |
|
| 36 |
# Hugging Face Spaces 默认暴露 7860
|