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 # Install dependencies (including devDependencies for build) COPY package.json pnpm-lock.yaml ./ RUN corepack enable pnpm && pnpm install --frozen-lockfile # Copy application code COPY tsconfig.json drizzle.config.ts ./ COPY src/ ./src/ # Build TypeScript → dist/ RUN pnpm build # Remove devDependencies after build RUN pnpm prune --prod # Expose port EXPOSE 8000 # Run the compiled application CMD ["node", "--conditions", "@zod/source", "dist/app.js"]