FROM node:20-bookworm-slim AS builder WORKDIR /app RUN apt-get update \ && apt-get install -y --no-install-recommends python3 make g++ \ && rm -rf /var/lib/apt/lists/* RUN corepack enable COPY . . RUN pnpm install --frozen-lockfile RUN pnpm build FROM node:20-bookworm-slim AS runner WORKDIR /app ENV NODE_ENV=production ENV API_PORT=3001 ENV WEB_ORIGIN=http://localhost:3001 ENV WEB_DIST_DIR=/app/apps/web/dist ENV DATABASE_URL=/data/tinywaste.db ENV SESSION_COOKIE_NAME=tinywaste_session COPY --from=builder /app /app RUN mkdir -p /data \ && chmod +x /app/docker-entrypoint.sh WORKDIR /app/apps/api EXPOSE 3001 VOLUME ["/data"] ENTRYPOINT ["/app/docker-entrypoint.sh"]