Update Dockerfile
Browse files- Dockerfile +7 -9
Dockerfile
CHANGED
|
@@ -3,17 +3,16 @@ FROM ubuntu:22.04
|
|
| 3 |
ENV DEBIAN_FRONTEND=noninteractive
|
| 4 |
ENV OPENCODE_DATA_DIR=/data
|
| 5 |
|
| 6 |
-
# 安装
|
| 7 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 8 |
curl \
|
| 9 |
ca-certificates \
|
| 10 |
git \
|
| 11 |
python3 \
|
| 12 |
python3-pip \
|
| 13 |
-
supervisor \
|
| 14 |
&& rm -rf /var/lib/apt/lists/*
|
| 15 |
|
| 16 |
-
# 安装 huggingface_hub
|
| 17 |
RUN pip3 install --no-cache-dir huggingface_hub
|
| 18 |
|
| 19 |
# 创建非 root 用户 (UID 1000) 和数据目录
|
|
@@ -23,13 +22,12 @@ RUN useradd -m -u 1000 -s /bin/bash user && \
|
|
| 23 |
USER user
|
| 24 |
WORKDIR /home/user
|
| 25 |
|
| 26 |
-
# 安装 opencode
|
| 27 |
RUN ARCH=$(uname -m) && \
|
| 28 |
if [ "$ARCH" = "x86_64" ]; then ARCH="x64"; elif [ "$ARCH" = "aarch64" ]; then ARCH="arm64"; fi && \
|
| 29 |
OS=$(uname -s | tr '[:upper:]' '[:lower:]') && \
|
| 30 |
FILENAME="opencode-${OS}-${ARCH}.tar.gz" && \
|
| 31 |
URL="https://github.com/anomalyco/opencode/releases/latest/download/${FILENAME}" && \
|
| 32 |
-
echo "Downloading ${URL}" && \
|
| 33 |
curl --retry 3 --retry-delay 2 --max-time 60 -fsSL -o /tmp/opencode.tar.gz "${URL}" && \
|
| 34 |
tar -xzf /tmp/opencode.tar.gz -C /tmp && \
|
| 35 |
mkdir -p /home/user/.opencode/bin && \
|
|
@@ -39,12 +37,12 @@ RUN ARCH=$(uname -m) && \
|
|
| 39 |
|
| 40 |
ENV PATH="/home/user/.opencode/bin:${PATH}"
|
| 41 |
|
| 42 |
-
# 复制同步脚本和
|
| 43 |
COPY --chown=user sync_to_dataset.py /home/user/sync_to_dataset.py
|
| 44 |
-
COPY
|
| 45 |
|
| 46 |
-
RUN chmod +x /home/user/sync_to_dataset.py
|
| 47 |
|
| 48 |
EXPOSE 7860
|
| 49 |
|
| 50 |
-
CMD ["/
|
|
|
|
| 3 |
ENV DEBIAN_FRONTEND=noninteractive
|
| 4 |
ENV OPENCODE_DATA_DIR=/data
|
| 5 |
|
| 6 |
+
# 安装必要依赖(不再需要 supervisor)
|
| 7 |
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 8 |
curl \
|
| 9 |
ca-certificates \
|
| 10 |
git \
|
| 11 |
python3 \
|
| 12 |
python3-pip \
|
|
|
|
| 13 |
&& rm -rf /var/lib/apt/lists/*
|
| 14 |
|
| 15 |
+
# 安装 huggingface_hub
|
| 16 |
RUN pip3 install --no-cache-dir huggingface_hub
|
| 17 |
|
| 18 |
# 创建非 root 用户 (UID 1000) 和数据目录
|
|
|
|
| 22 |
USER user
|
| 23 |
WORKDIR /home/user
|
| 24 |
|
| 25 |
+
# 安装 opencode(直接下载 latest 二进制)
|
| 26 |
RUN ARCH=$(uname -m) && \
|
| 27 |
if [ "$ARCH" = "x86_64" ]; then ARCH="x64"; elif [ "$ARCH" = "aarch64" ]; then ARCH="arm64"; fi && \
|
| 28 |
OS=$(uname -s | tr '[:upper:]' '[:lower:]') && \
|
| 29 |
FILENAME="opencode-${OS}-${ARCH}.tar.gz" && \
|
| 30 |
URL="https://github.com/anomalyco/opencode/releases/latest/download/${FILENAME}" && \
|
|
|
|
| 31 |
curl --retry 3 --retry-delay 2 --max-time 60 -fsSL -o /tmp/opencode.tar.gz "${URL}" && \
|
| 32 |
tar -xzf /tmp/opencode.tar.gz -C /tmp && \
|
| 33 |
mkdir -p /home/user/.opencode/bin && \
|
|
|
|
| 37 |
|
| 38 |
ENV PATH="/home/user/.opencode/bin:${PATH}"
|
| 39 |
|
| 40 |
+
# 复制同步脚本和启动脚本
|
| 41 |
COPY --chown=user sync_to_dataset.py /home/user/sync_to_dataset.py
|
| 42 |
+
COPY --chown=user entrypoint.sh /home/user/entrypoint.sh
|
| 43 |
|
| 44 |
+
RUN chmod +x /home/user/sync_to_dataset.py /home/user/entrypoint.sh
|
| 45 |
|
| 46 |
EXPOSE 7860
|
| 47 |
|
| 48 |
+
CMD ["/home/user/entrypoint.sh"]
|