# Dockerfile

FROM python:3.12-slim

RUN apt-get update && apt-get install -y iputils-ping --no-install-recommends && rm -rf /var/lib/apt/lists/*

WORKDIR /usr/src/app

COPY requirements.txt ./
RUN pip install --no-cache-dir --timeout=100 -r requirements.txt

COPY ./ssl/cert.pem .
COPY ./ssl/key.pem .

COPY ./app ./app

EXPOSE 5000

# ✅ A CORREÇÃO FINAL ESTÁ AQUI:
# Mudamos para o worker 'sync' e aumentamos o número de workers.
# O worker 'sync' não usa threads, resolvendo o problema do event loop.
CMD ["gunicorn", "--bind", "0.0.0.0:5000", "--workers", "4", "--worker-class", "sync", "--certfile=cert.pem", "--keyfile=key.pem", "app.main:app"]
