dataclerk-openenv / Dockerfile
vedhanth66's picture
Initial commit: DataClerk OpenEnv
2a352e6
Raw
History Blame Contribute Delete
1.36 kB
# ── Build stage ───────────────────────────────────────────────────────────────
FROM python:3.11-slim AS builder
WORKDIR /build
# Install build deps
RUN apt-get update && apt-get install -y --no-install-recommends gcc && \
rm -rf /var/lib/apt/lists/*
COPY requirements.txt .
RUN pip install --no-cache-dir --prefix=/install -r requirements.txt
# ── Runtime stage ─────────────────────────────────────────────────────────────
FROM python:3.11-slim
# Non-root user (HuggingFace Spaces requirement)
RUN useradd -m -u 1000 appuser
WORKDIR /app
# Copy installed packages
COPY --from=builder /install /usr/local
# Copy application source
COPY app/ ./app/
COPY inference.py .
# Data directory β€” writable by appuser
RUN mkdir -p /data && chown appuser:appuser /data
USER appuser
# Environment
ENV DB_PATH=/data/dataclerk.db
ENV PORT=7860
ENV PYTHONUNBUFFERED=1
ENV PYTHONDONTWRITEBYTECODE=1
EXPOSE 7860
# Start server
CMD ["python", "-m", "uvicorn", "app.main:app", \
"--host", "0.0.0.0", \
"--port", "7860", \
"--workers", "1", \
"--timeout-keep-alive", "30"]