This commit is contained in:
Kenio 2025-12-23 11:35:32 -03:00
parent ee4e4e77cd
commit 70b7757b5a

View file

@ -2,23 +2,42 @@ FROM python:3.12-slim
WORKDIR /app 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 . COPY requirements.txt .
RUN apt-get update && apt-get install -y \ # Instala as dependências do Python
gcc libffi-dev libssl-dev python3-dev firebird-dev \ RUN pip install --no-cache-dir -r requirements.txt
&& pip install --upgrade pip \
&& pip install --no-cache-dir -r requirements.txt \ # Remove o GCC para reduzir o tamanho da imagem, mas mantém bibliotecas de runtime
&& apt-get remove -y gcc \ RUN apt-get remove -y gcc \
&& apt-get autoremove -y \ && apt-get autoremove -y \
&& rm -rf /var/lib/apt/lists/* && rm -rf /var/lib/apt/lists/*
# =============================== # Cria diretórios necessários
# CRIA DIRETÓRIOS NECESSÁRIOS
# ===============================
RUN mkdir -p storage/temp RUN mkdir -p storage/temp
COPY . . COPY . .
EXPOSE 8000 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