FROM python:3.12-slim AS base

WORKDIR /app

RUN apt-get update && \
    apt-get install -y --no-install-recommends \
        gcc g++ libssl-dev \
        ca-certificates curl libnss3 libssl3 && \
    rm -rf /var/lib/apt/lists/*

COPY pyproject.toml ./

RUN pip install --no-cache-dir . && \
    pip install --no-cache-dir openbb-quantitative openbb-econometrics openbb-technical && \
    apt-get purge -y gcc g++ libssl-dev && \
    apt-get autoremove -y

COPY *.py ./

RUN useradd -m -s /bin/bash appuser && \
    mkdir -p /home/appuser/.openbb_platform && \
    chown -R appuser:appuser /home/appuser && \
    chown -R appuser:appuser /usr/local/lib/python3.12/site-packages/openbb

EXPOSE 8000

USER appuser

CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "8000"]