Spaces:
Running
Running
# ============================== BASE IMAGE ============================== | |
# Build Angular UI | |
FROM node:18-slim AS angular-build | |
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/ ./ | |
# Build the Angular app | |
RUN npm run build | |
# 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 . . | |
# Copy Angular build output - fixed path | |
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"] |