axiom-engine-api / Dockerfile
EATosin's picture
Axiom V4.6: Production-Locked. Multilingual Neural Core Operational.
f775c99
# 1. SOTA Base Image (Lean & Stable)
FROM python:3.11-slim
# 2. Environment Hardening
ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
PIP_NO_CACHE_DIR=1 \
PIP_DISABLE_PIP_VERSION_CHECK=1 \
HOME=/home/user \
PATH=/home/user/.local/bin:$PATH \
HF_HUB_OFFLINE=0
# 3. System Intelligence (Hardened for Docling V2 & Python-Magic)
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
libmagic1 \
libmagic-dev \
libgomp1 \
poppler-utils \
tesseract-ocr \
libgl1 \
libglib2.0-0 \
libxml2-dev \
libxslt-dev \
curl \
&& rm -rf /var/lib/apt/lists/*
# 4. Secure User Architecture (Hugging Face Standard)
RUN useradd -m -u 1000 user
USER user
WORKDIR $HOME/app
# 5. Ingestion Buffer Setup
# Ensure the temp directory for Docling exists and is writable
RUN mkdir -p /tmp/axiom_ingest && chmod 777 /tmp/axiom_ingest
# 6. Dependency Hydration
COPY --chown=user requirements.txt .
RUN pip install --no-cache-dir --user -r requirements.txt
# 7. Application Ingestion
COPY --chown=user . .
# 8. Port Specification
EXPOSE 7860
# 9. Start Engine (SOTA Event Loop Optimization)
# --loop asyncio is mandatory for RAGAS 0.2/nest_asyncio compatibility
CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "7860", "--loop", "asyncio", "--proxy-headers", "--forwarded-allow-ips", "*"]