Spaces:
Running
Running
File size: 1,291 Bytes
0001f12 838da3c 0001f12 | 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 | FROM node:20-alpine AS frontend-builder
WORKDIR /frontend
COPY ["ui improvement/package.json", "ui improvement/package-lock.json", "./"]
RUN npm ci
COPY ["ui improvement", "/frontend"]
COPY ["video", "/video"]
COPY ["contact", "/contact"]
ENV VITE_BASE_PATH=/
RUN npm run build
FROM python:3.11-slim AS runtime
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1 \
PORT=7860 \
FLASK_DEBUG=false \
DATA_DIR=/app/data \
CHECKPOINTS_DB_PATH=/app/data/checkpoints.sqlite \
CHROMA_DB_DIR=/app/data/chroma_db \
HF_HOME=/app/data/hf-home \
SENTENCE_TRANSFORMERS_HOME=/app/data/sentence-transformers
WORKDIR /app
RUN apt-get update && \
apt-get install -y --no-install-recommends git && \
rm -rf /var/lib/apt/lists/*
RUN useradd -m -u 1000 appuser
COPY requirements.txt ./
RUN pip install --upgrade pip && pip install -r requirements.txt
COPY . .
COPY --from=frontend-builder ["/frontend/dist", "/app/ui improvement/dist"]
RUN mkdir -p /app/data /app/knowledge /app/video /app/contact && \
chown -R appuser:appuser /app
USER appuser
EXPOSE 7860
CMD ["sh", "-c", "gunicorn --bind 0.0.0.0:${PORT:-7860} --workers ${GUNICORN_WORKERS:-2} --threads ${GUNICORN_THREADS:-4} --timeout ${GUNICORN_TIMEOUT:-180} web_app:app"]
|