neo / Dockerfile
github-actions[bot]
Update from GitHub Actions
48a00a0
FROM node:20-slim
# 创建应用目录
WORKDIR /app
# Wrangler will prompt, and thus hang if you don't specify this
ENV WRANGLER_SEND_METRICS=false
# 添加非root用户
RUN groupadd -r nodejs && useradd -r -g nodejs nodejs
# 复制项目文件
COPY package*.json ./
RUN npm install
COPY . .
# 声明所有需要的构建参数
ARG UUID
# 如果需要在容器运行时使用,转换为环境变量
ENV UUID=${UUID}
# 在 RUN 指令中使用双引号打印
RUN echo "UUID is: ${UUID}"
# 打印所有环境变量
RUN printenv
# 将环境变量写入 .dev.vars
RUN echo "UUID=${UUID}" >> .dev.vars
# 设置目录权限
RUN chown -R nodejs:nodejs /app
# 切换到非root用户
USER nodejs
# 创建必要的目录并设置权限
RUN mkdir -p /app/node_modules/.mf && \
mkdir -p /app/.wrangler
RUN chown -R nodejs:nodejs /app/node_modules/.mf && \
chown -R nodejs:nodejs /app/.wrangler
RUN chmod -R 777 /app/node_modules/.mf && \
chmod -R 777 /app/.wrangler
EXPOSE 7860
CMD ["npm", "run", "start"]