Spaces:
Sleeping
Sleeping
| # 1. Nodeでビルド | |
| FROM node:18-alpine AS builder | |
| RUN apk add --no-cache git python3 make g++ bash findutils | |
| WORKDIR /app | |
| COPY . . | |
| RUN npm install @babel/runtime --save | |
| RUN npm ci --no-audit --no-fund || npm install --no-audit --no-fund | |
| RUN npm run build | |
| RUN mkdir -p /build_output \ | |
| && FILE=$(find . -type f -name "eruda-timing*.js" | grep -E "dist|build|lib|^\./eruda-timing" | head -n1) \ | |
| && if [ -z "$FILE" ]; then echo "ビルド成果物が見つかりません"; exit 1; fi \ | |
| && cp "$FILE" /build_output/eruda-timing.js | |
| # 2. Python + Flask のランタイム | |
| FROM python:3.11-slim | |
| RUN pip install --no-cache-dir flask | |
| WORKDIR /app | |
| COPY --from=builder /build_output/eruda-timing.js /app/static/eruda-timing.js | |
| COPY app.py /app/app.py | |
| EXPOSE 7860 | |
| CMD ["python", "app.py"] |