deploy(Dockerfile): Ajusta o dockerfile para produção

This commit is contained in:
Keven 2025-12-08 12:47:53 -03:00
parent 205a20b3ce
commit 6bb4c10eb0

View file

@ -27,35 +27,30 @@ WORKDIR /app
# Copia dependências instaladas do estágio builder
COPY --from=builder /install /usr/local
# Copia o restante do código
# Copia o restante do código da aplicação
COPY . .
# Adiciona um usuário não-root para segurança
RUN addgroup --system app && adduser --system --ingroup app appuser
USER appuser
# Define timezone e ambiente
ENV TZ=America/Sao_Paulo \
PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \
UVICORN_WORKERS=4 \
UVICORN_PORT=8000 \
UVICORN_HOST=0.0.0.0
UVICORN_HOST=0.0.0.0 \
GUNICORN_CMD_ARGS="--log-level info --timeout 60 --graceful-timeout 30 --keep-alive 10"
# Expõe a porta de aplicação
# Expõe a porta padrão do app
EXPOSE 8000
# ==============================
# Comando de inicialização (Gunicorn + Uvicorn Workers)
# Comando de inicialização
# (Gunicorn + Uvicorn Workers)
# ==============================
CMD ["sh", "-c", "\
gunicorn main:app \
--worker-class uvicorn.workers.UvicornWorker \
--workers ${UVICORN_WORKERS:-4} \
--bind ${UVICORN_HOST:-0.0.0.0}:${UVICORN_PORT:-8000} \
--timeout 60 \
--keep-alive 10 \
--access-logfile '-' \
--error-logfile '-' \
--graceful-timeout 30 \
"]