Implantação e Docker
O Menthor é implantado como uma API FastAPI conteinerizada, projetada para rodar em Máquinas Virtuais Linux utilizando Docker Engine e NGINX.
Nota
Os valores de porta utilizados nesta documentação (como 8000) são fictícios e exemplificativos. Deve-se utilizar uma porta disponível e de acordo com as políticas de rede da infraestrutura.
Ambiente de Servidor
Runtime: Uvicorn (dentro do container).
Orquestração: Docker Engine.
Proxy Reverso: NGINX (recomendado para gerir SSL e porta 80/443).
Fluxo de Implantação (Step-by-Step)
### 1. Construir a Imagem A partir da raiz do projeto, execute o build utilizando o Dockerfile específico para o sandbox:
docker build -f Dockerfile.service.sandbox -t menthor-service:latest .
### 2. Executar o Container Ao rodar o container, é vital sincronizar as pastas de datasets e logs para persistência de dados.
docker run -d \
--name menthor-sandbox \
-p 8000:8000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-v /root/menthor_bin/datasets:/app/datasets \
-v /root/menthor_bin/logs:/app/logs \
menthor-service:latest
Perigo
Configuração Crítica: Você deve alterar a variável SANDBOX_CONTAINER_NAME no arquivo tools/sandbox_runner_patch.py para que o nome seja idêntico ao valor usado na flag --name do comando acima. Caso contrário, as ferramentas de sandbox não conseguirão se comunicar.
Manutenção e Monitorização
Utilize os comandos abaixo para gerir o ciclo de vida da aplicação no servidor:
- Verificar status:
docker ps- Consultar Logs:
docker logs menthor-sandbox
- Acesso Interativo:
docker exec -it menthor-sandbox /bin/bash
- Remoção Limpa:
docker stop menthor-sandbox && docker rm menthor-sandbox
Considerações de NGINX
Certifique-se de que a configuração do NGINX aponta o proxy_pass para a porta escolhida e que o firewall do servidor permite o tráfego necessário.