All checks were successful
Build and Push Docker Image / build (push) Successful in 3m6s
34 lines
778 B
Docker
34 lines
778 B
Docker
FROM node:24-alpine AS builder
|
|
|
|
# Enable pnpm
|
|
RUN corepack enable && corepack prepare pnpm@latest --activate
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy package files and install dependencies
|
|
COPY package.json pnpm-lock.yaml pnpm-workspace.yaml ./
|
|
RUN pnpm install --frozen-lockfile
|
|
|
|
# Copy the rest of the application code and build
|
|
COPY . .
|
|
RUN CI="true" pnpm run build
|
|
|
|
# Production stage
|
|
FROM node:24-alpine AS runner
|
|
|
|
WORKDIR /app
|
|
|
|
# Set environment variables for production
|
|
ENV NODE_ENV=production
|
|
ENV PORT=3000
|
|
|
|
# Copy only the built output from the builder stage
|
|
# Nitro typically outputs the production server to .output/
|
|
COPY --from=builder /app/.output ./.output
|
|
COPY --from=builder /app/package.json ./
|
|
|
|
EXPOSE 3000
|
|
|
|
# Start the production server
|
|
CMD ["node", ".output/server/index.mjs"]
|