FROM python:3.11-slim

WORKDIR /app

RUN apt-get update && apt-get install -y --no-install-recommends \
    nginx openssl tini ffmpeg curl \
    && rm -rf /var/lib/apt/lists/*

COPY backend/requirements.txt ./
RUN pip install --no-cache-dir -r requirements.txt

COPY backend/ ./
COPY frontend/dist ./frontend/dist

RUN rm -f /etc/nginx/sites-enabled/default /etc/nginx/conf.d/default.conf
COPY nginx.conf /etc/nginx/conf.d/default.conf

COPY start.sh /start.sh
RUN chmod +x /start.sh

RUN mkdir -p /app/chroma_db /app/document_chunk /app/data /app/uploads /app/app/log \
    /etc/nginx/ssl /var/log/nginx /var/lib/nginx

EXPOSE 80 443

ENTRYPOINT ["tini", "--"]
CMD ["/start.sh"]
