diff --git a/Dockerfile b/Dockerfile index c714256..35ece23 100644 --- a/Dockerfile +++ b/Dockerfile @@ -2,23 +2,42 @@ FROM python:3.12-slim WORKDIR /app +# Instala dependências do sistema, incluindo nano e curl +RUN apt-get update && apt-get install -y \ + gcc \ + libffi-dev \ + libssl-dev \ + python3-dev \ + firebird-dev \ + libcurl4-openssl-dev \ + nano \ + curl \ + && pip install --upgrade pip \ + && apt-get clean + COPY requirements.txt . -RUN apt-get update && apt-get install -y \ - gcc libffi-dev libssl-dev python3-dev firebird-dev \ - && pip install --upgrade pip \ - && pip install --no-cache-dir -r requirements.txt \ - && apt-get remove -y gcc \ +# Instala as dependências do Python +RUN pip install --no-cache-dir -r requirements.txt + +# Remove o GCC para reduzir o tamanho da imagem, mas mantém bibliotecas de runtime +RUN apt-get remove -y gcc \ && apt-get autoremove -y \ && rm -rf /var/lib/apt/lists/* -# =============================== -# CRIA DIRETÓRIOS NECESSÁRIOS -# =============================== +# Cria diretórios necessários RUN mkdir -p storage/temp COPY . . EXPOSE 8000 -CMD ["gunicorn", "main:app", "-w", "4", "-k", "uvicorn.workers.UvicornWorker", "--bind", "0.0.0.0:8000"] +# Usando o formato Shell para evitar erros de interpretação no Easypanel +CMD gunicorn main:app \ + --workers 4 \ + --worker-class uvicorn.workers.UvicornWorker \ + --bind 0.0.0.0:8000 \ + --timeout 120 \ + --graceful-timeout 30 \ + --keep-alive 5 \ + --log-level info \ No newline at end of file