FROM python:3.11-slim ENV PYTHONDONTWRITEBYTECODE=1 \ PYTHONUNBUFFERED=1 \ HOME=/home/user \ PATH=/home/user/.local/bin:$PATH \ PORT=7860 \ REDIS_URL=redis://127.0.0.1:6379/0 \ CHROMA_PERSIST_DIR=/app/.chroma \ LKPD_PDF_DIR=/app/.generated/lkpd \ APP_PUBLIC_BASE_URL=http://localhost:7860 RUN apt-get update && \ apt-get install -y --no-install-recommends redis-server && \ rm -rf /var/lib/apt/lists/* && \ useradd -m -u 1000 user USER user WORKDIR /app COPY --chown=user pyproject.toml README.md /app/ COPY --chown=user src /app/src COPY --chown=user .assets /app/.assets RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir . EXPOSE 7860 CMD ["sh", "-c", "redis-server --save '' --appendonly no --dir /tmp --bind 127.0.0.1 --port 6379 & exec uvicorn src.main:app --host 0.0.0.0 --port ${PORT:-7860}"]