Create dockerfile
Browse files- dockerfile +22 -0
dockerfile
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
FROM node:20-slim
|
| 2 |
+
|
| 3 |
+
# 安装基础工具和 OpenCode
|
| 4 |
+
RUN apt-get update && apt-get install -y --no-install-recommends \
|
| 5 |
+
ca-certificates curl bash git tini \
|
| 6 |
+
&& rm -rf /var/lib/apt/lists/* \
|
| 7 |
+
&& npm install -g opencode-ai
|
| 8 |
+
|
| 9 |
+
# 安装 HF CLI (官方命令行工具)
|
| 10 |
+
RUN curl -LsSf https://hf.co/cli/install.sh | bash
|
| 11 |
+
|
| 12 |
+
# 创建非 root 用户
|
| 13 |
+
RUN useradd -m -u 1000 user
|
| 14 |
+
USER user
|
| 15 |
+
ENV HOME=/home/user
|
| 16 |
+
ENV PATH="/home/user/.local/bin:/usr/local/bin:${PATH}"
|
| 17 |
+
|
| 18 |
+
WORKDIR /app
|
| 19 |
+
COPY --chown=user:user . /app
|
| 20 |
+
|
| 21 |
+
ENTRYPOINT ["/usr/bin/tini","--"]
|
| 22 |
+
CMD ["/app/entrypoint.sh"]
|