# Build artefak: Laravel API + React SPA statis (tanpa Node di server)
FROM node:20-bookworm-slim AS frontend-build
WORKDIR /app
COPY frontend/package*.json ./
RUN npm config set fetch-retries 10 \
 && npm config set fetch-retry-mintimeout 20000 \
 && npm config set fetch-retry-maxtimeout 120000 \
 && npm ci
COPY frontend/ ./
ENV VITE_API_URL=https://padeberkinem.ramaboedi.com/api
ENV VITE_APP_NAME=PADEBERKINEM
ENV VITE_APP_URL=https://mcbdl.site
RUN npm run build

FROM debian:bookworm-slim AS package
WORKDIR /out
COPY --from=frontend-build /app/dist ./frontend-dist
COPY api ./api
COPY scripts/deploy-package/BACA-DULU.txt ./BACA-DULU.txt
COPY scripts/deploy-package/setup-laravel.sh ./setup-laravel.sh
COPY scripts/deploy-package/remove-node-backend.sh ./remove-node-backend.sh
COPY scripts/deploy-package/api.env.template ./api/.env
COPY DEPLOY_FRONTEND_SPA.md ./DEPLOY_FRONTEND_SPA.md
RUN mkdir -p ./api/storage/framework/cache/data ./api/storage/framework/sessions ./api/storage/framework/views ./api/storage/logs \
 && chmod +x ./setup-laravel.sh ./remove-node-backend.sh \
 && tar -czf /tmp/padeberkinem-upload.tar.gz -C /out .

CMD ["bash", "-lc", "echo package ready"]
