# Build stage FROM node:22-alpine AS builder WORKDIR /app COPY package*.json ./ RUN npm ci --ignore-scripts && npx nuxt prepare COPY . . RUN npm run build # Production stage — only the self-contained .output is needed. # bash + curl are added so Dokploy scheduled tasks (which wrap commands in # `bash -c "..."`) can run; alpine ships only ash and has no curl by default. FROM node:22-alpine RUN apk add --no-cache bash curl WORKDIR /app COPY --from=builder /app/.output .output EXPOSE 3000 CMD ["node", ".output/server/index.mjs"]