flare / Dockerfile
ciyidogan's picture
Update Dockerfile
537e946 verified
raw
history blame
2.15 kB
# ============================== 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"]