waterleaf / Dockerfile
hkaraoguz's picture
Fix SQLite disk I/O on bucket mount
92abc07 verified
Raw
History Blame
879 Bytes
FROM python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
UV_COMPILE_BYTECODE=1 \
UV_LINK_MODE=copy \
WATERLEAF_DATA_DIR=/data \
WATERLEAF_DATABASE_DIR=/tmp/waterleaf-db
RUN pip install --no-cache-dir uv==0.11.8 \
&& useradd --create-home --uid 1000 user \
&& mkdir -p /data \
&& chown user:user /data
WORKDIR /app
COPY --chown=user:user pyproject.toml uv.lock README.md ./
COPY --chown=user:user waterleaf ./waterleaf
COPY --chown=user:user assets ./assets
COPY --chown=user:user app.py ./
RUN uv sync --frozen --no-dev
USER user
ENV PATH="/app/.venv/bin:${PATH}"
EXPOSE 7860
HEALTHCHECK --interval=30s --timeout=5s --start-period=20s --retries=3 \
CMD python -c "import urllib.request; urllib.request.urlopen('http://127.0.0.1:7860/health', timeout=3)"
CMD ["uvicorn", "app:app", "--host", "0.0.0.0", "--port", "7860"]