Spaces:
Paused
Paused
| # ============================== BASE IMAGE ============================== | |
| # Build Angular UI | |
| FROM node:18-slim AS angular-build | |
| # Build argument: production/development | |
| ARG BUILD_ENV=development | |
| WORKDIR /app | |
| # Copy package files first for better caching | |
| COPY flare-ui/package*.json ./flare-ui/ | |
| WORKDIR /app/flare-ui | |
| # Clean npm cache and install with legacy peer deps | |
| RUN npm cache clean --force && npm install --legacy-peer-deps | |
| # Copy the entire flare-ui directory | |
| COPY flare-ui/ ./ | |
| # ✅ Clean Angular cache before build | |
| RUN rm -rf .angular/ dist/ node_modules/.cache/ | |
| # Build the Angular app based on BUILD_ENV | |
| RUN if [ "$BUILD_ENV" = "development" ] ; then \ | |
| echo "🔧 Building for DEVELOPMENT..." && \ | |
| npm run build:dev -- --output-path=dist/flare-ui ; \ | |
| else \ | |
| echo "🚀 Building for PRODUCTION..." && \ | |
| npm run build:prod -- --output-path=dist/flare-ui ; \ | |
| fi | |
| # Add environment info to container | |
| ENV BUILD_ENVIRONMENT=$BUILD_ENV | |
| # Debug: List directories to see where the build output is | |
| RUN ls -la /app/flare-ui/ && ls -la /app/flare-ui/dist/ || true | |
| # Python runtime | |
| FROM python:3.10-slim | |
| # ====================== SYSTEM-LEVEL DEPENDENCIES ====================== | |
| # gcc & friends → bcrypt / uvicorn[standard] gibi C eklentilerini derlemek için | |
| RUN apt-get update \ | |
| && apt-get install -y --no-install-recommends gcc g++ make libffi-dev \ | |
| && rm -rf /var/lib/apt/lists/* | |
| # ============================== WORKDIR ================================ | |
| WORKDIR /app | |
| # ===================== HF CACHE & WRITE PERMS ========================== | |
| # Hugging Face Spaces özel dizinleri – yazma izni 777 | |
| RUN mkdir -p /app/.cache /tmp/.triton /tmp/torchinductor_cache \ | |
| && chmod -R 777 /app/.cache /tmp/.triton /tmp/torchinductor_cache | |
| ENV HF_HOME=/app/.cache \ | |
| HF_DATASETS_CACHE=/app/.cache \ | |
| HF_HUB_CACHE=/app/.cache \ | |
| TRITON_CACHE_DIR=/tmp/.triton \ | |
| TORCHINDUCTOR_CACHE_DIR=/tmp/torchinductor_cache | |
| # ============================ REQUIREMENTS ============================= | |
| COPY requirements.txt ./ | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # ============================== APP CODE =============================== | |
| COPY . . | |
| RUN chmod 666 service_config.jsonc | |
| # ✅ Angular build output'u kopyalanıyor | |
| COPY --from=angular-build /app/flare-ui/dist/flare-ui ./static | |
| # Create assets directory if it doesn't exist | |
| RUN mkdir -p ./static/assets | |
| # Debug: Check if static files exist | |
| RUN ls -la ./static/ || echo "No static directory" | |
| RUN ls -la ./static/index.html || echo "No index.html" | |
| # ============================== START CMD ============================== | |
| CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"] |