FROM node:22-bookworm-slim AS deps WORKDIR /app ENV DATABASE_URL="file:./dev.db" RUN apt-get update && apt-get install -y --no-install-recommends \ openssl ca-certificates python3 make g++ \ && rm -rf /var/lib/apt/lists/* COPY package.json package-lock.json ./ COPY prisma ./prisma COPY prisma.config.ts ./ RUN npm ci FROM node:22-bookworm-slim AS build WORKDIR /app ENV DATABASE_URL="file:./dev.db" ENV NUXT_TELEMETRY_DISABLED=1 RUN apt-get update && apt-get install -y --no-install-recommends \ openssl ca-certificates python3 make g++ \ && rm -rf /var/lib/apt/lists/* COPY --from=deps /app/node_modules ./node_modules COPY . . RUN npx prisma generate && npm run build FROM node:22-bookworm-slim AS runner WORKDIR /app ENV NODE_ENV=production ENV NUXT_TELEMETRY_DISABLED=1 ENV HOST=0.0.0.0 ENV PORT=3000 RUN apt-get update && apt-get install -y --no-install-recommends openssl ca-certificates wget \ && rm -rf /var/lib/apt/lists/* \ && mkdir -p /data COPY --from=build /app/.output ./.output COPY --from=build /app/node_modules ./node_modules COPY --from=build /app/package.json ./package.json COPY --from=build /app/prisma ./prisma COPY --from=build /app/prisma.config.ts ./prisma.config.ts COPY --from=build /app/generated ./generated COPY docker-entrypoint.sh /docker-entrypoint.sh RUN chmod +x /docker-entrypoint.sh EXPOSE 3000 ENTRYPOINT ["/docker-entrypoint.sh"]