2026-07-30 11:23:50 +08:00
|
|
|
FROM node:22-alpine
|
|
|
|
|
|
|
|
|
|
# 统一时区为东八区
|
|
|
|
|
ENV TZ=Asia/Shanghai
|
|
|
|
|
RUN apk add --no-cache tzdata && \
|
|
|
|
|
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
|
|
|
|
|
echo "Asia/Shanghai" > /etc/timezone
|
|
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
|
|
|
|
# Create logs directory
|
|
|
|
|
RUN mkdir -p /app/logs
|
|
|
|
|
|
2026-07-30 15:08:05 +08:00
|
|
|
# Install production dependencies only
|
|
|
|
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
|
|
|
RUN corepack enable pnpm && pnpm install --frozen-lockfile --prod
|
2026-07-30 11:23:50 +08:00
|
|
|
|
2026-07-30 15:08:05 +08:00
|
|
|
# Copy pre-built application
|
|
|
|
|
COPY dist/ ./dist/
|
2026-07-30 13:56:31 +08:00
|
|
|
|
2026-07-30 11:23:50 +08:00
|
|
|
# Expose port
|
|
|
|
|
EXPOSE 8000
|
|
|
|
|
|
2026-07-30 13:56:31 +08:00
|
|
|
# Run the compiled application
|
2026-07-30 15:08:05 +08:00
|
|
|
CMD ["node", "dist/app.js"]
|