FROM node:20-slim AS base FROM base AS deps WORKDIR /app RUN apt-get update && apt-get install -y --no-install-recommends libc6-dev sqlite3 libsqlite3-dev g++ make python3 && rm -rf /var/lib/apt/lists/* COPY pnpm-lock.yaml pnpm-workspace.yaml package.json ./ COPY apps/admin/package.json ./apps/admin/package.json COPY apps/api/package.json ./apps/api/package.json COPY packages/ ./packages COPY apps/admin ./apps/admin RUN npm install -g pnpm@10.30.3 && pnpm install --frozen-lockfile FROM base AS builder WORKDIR /app COPY --from=deps /app/node_modules ./node_modules COPY --from=deps /app/packages ./packages COPY --from=deps /app/apps/admin ./apps/admin COPY packages ./packages ENV DOCKER_BUILD=true RUN npm install -g pnpm@10.30.3 && cd apps/admin && pnpm build FROM base AS runner WORKDIR /app ENV NODE_ENV=production ENV PORT=3006 ENV HOSTNAME="0.0.0.0" COPY --from=builder /app/apps/admin/.next/standalone ./ COPY --from=builder /app/apps/admin/.next/static ./apps/admin/.next/static COPY --from=builder /app/apps/admin/public ./apps/admin/public EXPOSE 3006 CMD ["node", "apps/admin/server.js"]