diff --git a/.env b/.env index af00964..b4a76fc 100644 --- a/.env +++ b/.env @@ -2,4 +2,8 @@ # VITE_ARM_DEVICE_ID = 'aubo_arm' # 机械臂IP 192.168.1.109:50052 -VITE_SERVICE_PORT = 5175 \ No newline at end of file +VITE_SERVICE_PORT=5175 + +# /home/cmvr/zh/mkcert 目录中的证书文件名 +HTTPS_CERT_FILENAME=cert.pem +HTTPS_KEY_FILENAME=key.pem diff --git a/Dockerfile b/Dockerfile index 1404d71..ec8110f 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,38 +1,30 @@ -# ========== 阶段1:构建前端 ========== +# syntax=docker/dockerfile:1 + FROM node:20-alpine AS builder -RUN npm install -g pnpm - +RUN corepack enable WORKDIR /app -# 先拷贝依赖文件,利用 Docker 缓存层 COPY package.json pnpm-lock.yaml ./ -RUN pnpm install --frozen-lockfile +RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store \ + pnpm install --frozen-lockfile -# 拷贝源码并构建 COPY . . RUN pnpm run build -# ========== 阶段2:生产运行 ========== FROM node:20-alpine AS runner -RUN npm install -g pnpm - +RUN corepack enable WORKDIR /app -# 只拷贝生产需要的文件 COPY package.json pnpm-lock.yaml ./ -RUN pnpm install --frozen-lockfile --prod && pnpm store prune +RUN --mount=type=cache,id=pnpm,target=/root/.local/share/pnpm/store \ + pnpm install --frozen-lockfile --prod -# 拷贝 Express 服务代码 COPY server/ ./server/ - -# 从构建阶段拷贝前端产物 COPY --from=builder /app/dist ./dist -EXPOSE 5175 5173 - ENV NODE_ENV=production -ENV VITE_SERVICE_PORT=5175 +USER node -CMD ["node", "server/index.js"] \ No newline at end of file +CMD ["node", "server/index.js"] diff --git a/README.md b/README.md index 1511959..e08ebf3 100644 --- a/README.md +++ b/README.md @@ -3,3 +3,22 @@ This template should help get you started developing with Vue 3 in Vite. The template uses Vue 3 `