Spaces:
Sleeping
Sleeping
Create Dockerfile
Browse files- Dockerfile +27 -0
Dockerfile
ADDED
@@ -0,0 +1,27 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
+
# Usar uma imagem base Python oficial
|
2 |
+
FROM python:3.10-slim
|
3 |
+
|
4 |
+
# Definir o diretório de trabalho dentro do container
|
5 |
+
WORKDIR /code
|
6 |
+
|
7 |
+
# Copiar o arquivo de dependências PRIMEIRO para aproveitar o cache do Docker
|
8 |
+
COPY ./requirements.txt /code/requirements.txt
|
9 |
+
|
10 |
+
# Instalar as dependências
|
11 |
+
# --no-cache-dir economiza espaço, --upgrade pip é boa prática
|
12 |
+
RUN pip install --no-cache-dir --upgrade pip && \
|
13 |
+
pip install --no-cache-dir -r /code/requirements.txt
|
14 |
+
|
15 |
+
# Copiar o restante do código da aplicação para o diretório de trabalho
|
16 |
+
COPY ./main.py /code/main.py
|
17 |
+
COPY ./api_logic.py /code/api_logic.py
|
18 |
+
|
19 |
+
# Expor a porta em que o Uvicorn vai rodar (deve ser a mesma do CMD)
|
20 |
+
EXPOSE 7860
|
21 |
+
|
22 |
+
# Comando para iniciar o servidor Uvicorn quando o container iniciar
|
23 |
+
# main:app -> diz ao uvicorn para procurar o objeto 'app' no arquivo 'main.py'
|
24 |
+
# --host 0.0.0.0 -> permite conexões de fora do container
|
25 |
+
# --port 7860 -> a porta que definimos
|
26 |
+
# --reload -> útil para desenvolvimento, mas pode ser removido para "produção" no Space
|
27 |
+
CMD ["uvicorn", "main:app", "--host", "0.0.0.0", "--port", "7860"]
|