Spaces:
Sleeping
Sleeping
# Usar uma imagem base Python oficial | |
FROM python:3.10-slim | |
# Definir o diretório de trabalho dentro do container | |
WORKDIR /code | |
# Copiar o arquivo de dependências PRIMEIRO para aproveitar o cache do Docker | |
COPY ./requirements.txt /code/requirements.txt | |
# Instalar as dependências | |
# --no-cache-dir economiza espaço, --upgrade pip é boa prática | |
RUN pip install --no-cache-dir --upgrade pip && \ | |
pip install --no-cache-dir -r /code/requirements.txt | |
# Copiar o restante do código da aplicação para o diretório de trabalho | |
COPY ./main.py /code/main.py | |
COPY ./api_logic.py /code/api_logic.py | |
# Expor a porta em que o Uvicorn vai rodar (deve ser a mesma do CMD) | |
EXPOSE 7860 | |
# Comando para iniciar o servidor Uvicorn quando o container iniciar | |
# main:app -> diz ao uvicorn para procurar o objeto 'app' no arquivo 'main.py' | |
# --host 0.0.0.0 -> permite conexões de fora do container | |
# --port 7860 -> a porta que definimos | |
# --reload -> útil para desenvolvimento, mas pode ser removido para "produção" no Space | |
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"] |