deepfake-moe / Dockerfile
Devraj1990's picture
Upload folder using huggingface_hub
3754d88 verified
Raw
History Blame Contribute Delete
1.46 kB
# syntax=docker/dockerfile:1
FROM node:22-bookworm-slim AS frontend-build
WORKDIR /app/frontend
COPY frontend/package*.json ./
RUN npm ci
COPY frontend/ ./
ARG VITE_API_BASE_URL=
ARG VITE_REQUIRE_ACCESS_TOKEN=false
ENV VITE_API_BASE_URL=${VITE_API_BASE_URL}
ENV VITE_REQUIRE_ACCESS_TOKEN=${VITE_REQUIRE_ACCESS_TOKEN}
RUN npm run build
FROM python:3.12-slim AS runtime
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1 \
AIDA_DATABASE_URL=sqlite:////data/app.db \
AIDA_ENABLE_HF_MODEL=true \
AIDA_DATA_DIR=/data \
HF_HOME=/data/huggingface
RUN apt-get update \
&& apt-get install -y --no-install-recommends libgomp1 \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app/backend
COPY backend/requirements*.txt ./
ARG INSTALL_ML=true
RUN if [ "$INSTALL_ML" = "true" ]; then \
pip install -r requirements-ml.txt; \
else \
pip install -r requirements.txt; \
fi
COPY backend/ /app/backend/
COPY --from=frontend-build /app/frontend/dist /app/frontend/dist
RUN useradd --system --uid 10001 --create-home appuser \
&& mkdir -p /data \
&& chown -R appuser:appuser /app /data
USER appuser
EXPOSE 8000
HEALTHCHECK --interval=30s --timeout=5s --start-period=30s --retries=3 \
CMD python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:8000/health', timeout=3).read()"
CMD ["sh", "-c", "uvicorn app.main:app --host 0.0.0.0 --port ${PORT:-8000} --proxy-headers"]