nocode-workflow / Dockerfile
xingyuanzhao's picture
Cursor
Initial HF Space: full Docker deployment with FastAPI + Celery + Redis + React GUI in single container
4e95a8f
Raw History Blame Contribute Delete
1.45 kB
FROM python:3.12-slim AS backend-deps
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PIP_NO_CACHE_DIR=1
WORKDIR /app
COPY requirements.txt /app/requirements.txt
COPY server/requirements.txt /app/server/requirements.txt
RUN pip install --upgrade pip && \
pip install -r /app/requirements.txt && \
pip install -r /app/server/requirements.txt
# ---------- GUI build stage ----------
FROM node:20-slim AS gui-build
WORKDIR /gui
COPY gui/package.json gui/package-lock.json ./
RUN npm ci
COPY gui/ ./
ENV VITE_API_BASE_URL=""
RUN npm run build
# ---------- Final runtime ----------
FROM python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
PYTHONPATH=/app
WORKDIR /app
RUN apt-get update && \
apt-get install -y --no-install-recommends redis-server nginx && \
rm -rf /var/lib/apt/lists/*
COPY --from=backend-deps /usr/local/lib/python3.12/site-packages /usr/local/lib/python3.12/site-packages
COPY --from=backend-deps /usr/local/bin /usr/local/bin
COPY src /app/src
COPY server /app/server
COPY config /app/config
COPY workflows /app/workflows
COPY codebooks /app/codebooks
COPY data /app/data
COPY --from=gui-build /gui/dist /app/gui-dist
COPY nginx.conf /etc/nginx/nginx.conf
COPY supervisord-hf.conf /app/supervisord-hf.conf
RUN mkdir -p /app/server/workflows /app/server/codebooks /app/server/data /app/server/runs
EXPOSE 7860
CMD ["supervisord", "-c", "/app/supervisord-hf.conf"]