FROM node:22-bookworm-slim WORKDIR /app/frontend RUN apt-get update -y \ && apt-get install -y --no-install-recommends openssl ca-certificates \ && rm -rf /var/lib/apt/lists/* COPY package*.json ./ RUN npm ci --ignore-scripts --legacy-peer-deps RUN set -eux; \ arch="$(dpkg --print-architecture)"; \ if [ "$arch" = "amd64" ]; then \ npm rebuild sharp --platform=linux --arch=x64 || npm install --no-save sharp --platform=linux --arch=x64; \ elif [ "$arch" = "arm64" ]; then \ npm rebuild sharp --platform=linux --arch=arm64 || npm install --no-save sharp --platform=linux --arch=arm64; \ else \ npm rebuild sharp || true; \ fi COPY . . # Build server bundle at image build time. RUN npm run postinstall && npm run build ENV NODE_ENV=production ENV NITRO_HOST=0.0.0.0 ENV NITRO_PORT=3000 EXPOSE 3000 # Keep schema in sync, then start Nitro production server. CMD ["bash", "-lc", "npx prisma db push && node .output/server/index.mjs"]