# Aether API - FastAPI + Gunicorn
# Using tiangolo's optimized FastAPI image
FROM tiangolo/uvicorn-gunicorn-fastapi:python3.11

LABEL maintainer="Scott Idem <scott.idem@oneskyit.com>"

WORKDIR /srv/aether_api

# Install OS dependencies for image processing and utilities
RUN apt-get update; \
    apt-get install -y \
    imagemagick ffmpeg curl poppler-utils \
    ; \
    rm -rf /var/lib/apt/lists/*;

# Install Python requirements
# This file is now located in the project root
COPY requirements.txt /tmp/requirements.txt
RUN pip install --no-cache-dir -r /tmp/requirements.txt

# Create a reference of actual installed versions
RUN pip freeze >> /tmp/aether_fastapi_requirements_current.txt

# The application source is mounted as a volume in docker-compose.yml 
# for real-time development, but we set the default command here.
CMD ["gunicorn", "--conf", "/conf/gunicorn_fastapi_conf.py"]
