Spaces:
Running
Running
File size: 2,688 Bytes
c2f15fe 2d25d41 a12a7e7 7dca6e6 6e17697 2d25d41 537e946 9542bcf 537e946 2d25d41 537e946 bf084d1 a12a7e7 180d463 1899777 180d463 1899777 180d463 a12a7e7 537e946 212ea89 537e946 2d25d41 c2f15fe 537e946 c2f15fe 4112c2d c2f15fe 558eb0e 537e946 c2f15fe a4d1915 dcf647a 2d25d41 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 |
# ============================== 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"] |