onetime / Dockerfile
xjf666's picture
Create Dockerfile
4610ec6 verified
raw
history blame contribute delete
898 Bytes
FROM node:22 AS builder
WORKDIR /app
# 安装 pnpm
RUN npm install -g pnpm
# 获取项目代码
RUN git clone https://github.com/corentinth/enclosed.git ./
# 安装项目依赖
RUN pnpm install --frozen-lockfile --ignore-scripts
# 构建项目
RUN pnpm --filter @enclosed/crypto run build && \
pnpm --filter @enclosed/lib run build && \
pnpm --filter @enclosed/app-client run build && \
pnpm --filter @enclosed/app-server run build:node
FROM node:22-slim
WORKDIR /app
COPY --from=builder /app/packages/app-client/dist ./public
COPY --from=builder /app/packages/app-server/dist-node/index.cjs ./index.cjs
RUN mkdir -p /persistent/.data && \
rm -rf /app/.data && \
ln -s /persistent/.data /app/.data
RUN chmod -R 777 /persistent/.data
# 设置环境变量
ENV NODE_ENV=production
ENV PORT=7860
# 暴露端口
EXPOSE 7860
# 启动应用程序
CMD ["node", "index.cjs"]