Deploy to Server / deploy (push) Successful in 1m36s
- schema.sql created_at DEFAULT 改为 datetime(now,+8 hours) - Dockerfile runtime 安装 tzdata ENV TZ=Asia/Shanghai 并软链 /etc/localtime - docker-compose.yml 挂载宿主机 localtime 并传 TZ=Asia/Shanghai - server index.ts 入口设置 process.env.TZ - client utils/export 新增 utc8Now/utc8Input/utc8DateStamp/utc8DateTimeStamp - Activities 默认活动开始/结束时间改用 UTC+8 - 导出文件名日期戳和报告生成时间统一 utc8DateStamp/utc8DateTimeStamp
37 lines
996 B
Docker
37 lines
996 B
Docker
FROM node:20-alpine AS client-build
|
|
WORKDIR /app/client
|
|
COPY client/package.json client/package-lock.json* ./
|
|
RUN npm install --no-audit --no-fund
|
|
COPY client/ ./
|
|
RUN npm run build
|
|
|
|
FROM node:20-alpine AS server-build
|
|
WORKDIR /app/server
|
|
COPY server/package.json server/package-lock.json* ./
|
|
RUN npm install --no-audit --no-fund
|
|
COPY server/ ./
|
|
RUN npm run build
|
|
|
|
FROM node:20-alpine AS runtime
|
|
WORKDIR /app
|
|
ENV NODE_ENV=production
|
|
ENV PORT=3000
|
|
ENV TZ=Asia/Shanghai
|
|
RUN apk add --no-cache tzdata \
|
|
&& ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
|
|
&& echo "Asia/Shanghai" > /etc/timezone
|
|
|
|
COPY server/package.json server/package-lock.json* ./
|
|
RUN npm install --omit=dev --no-audit --no-fund
|
|
|
|
COPY --from=client-build /app/client/dist ./client/dist
|
|
COPY --from=server-build /app/server/dist ./server/dist
|
|
COPY server/src/db/schema.sql ./server/src/db/schema.sql
|
|
|
|
RUN mkdir -p ./server/data
|
|
VOLUME ["/app/server/data"]
|
|
|
|
EXPOSE 3000
|
|
WORKDIR /app/server
|
|
CMD ["node", "dist/index.js"]
|