- Add base project structure with Cargo.toml and .env - Implement core modules: models, services, repositories, controllers - Set up logging, error handling, and middleware - Configure routes and API documentation - Add crypto and websocket functionality - Include basic user management system
88 lines
3.3 KiB
Markdown
88 lines
3.3 KiB
Markdown
# Ollama – Verificação, Instalação e Inicialização
|
||
|
||
Você quer garantir que o Ollama esteja instalado e rodando sem drama. Este backend expõe dois endpoints para isso: um que verifica o estado atual e outro que instala e inicia o serviço quando necessário.
|
||
|
||
Uma linha direta: porta local é `11434`. Se a API responde, tá funcionando.
|
||
|
||
## O que os endpoints fazem
|
||
|
||
- `GET /ollama/install-check`
|
||
- Checa se o binário está no `PATH`
|
||
- Lê a versão (`ollama -v`) quando disponível
|
||
- Verifica se o serviço está ativo (Linux via `systemctl`; Windows/macOS por processo/API)
|
||
- Testa a API local: `/api/version` e `/api/tags`
|
||
|
||
- `POST /ollama/install`
|
||
- Instala o Ollama conforme seu sistema operacional
|
||
- Configura serviço (quando aplicável)
|
||
- Inicia e valida a API com polling
|
||
- Faz rollback básico se algo falhar (para serviço no Linux)
|
||
|
||
## Requisitos mínimos
|
||
|
||
- Porta `11434` livre (localhost)
|
||
- Rede para baixar pacotes (instalação)
|
||
- Permissões adequadas:
|
||
- Linux: `systemctl` (para `enable/start`) pode exigir privilégios
|
||
- Windows: instalador pode abrir GUI; usamos fallback por `.zip` quando possível
|
||
- macOS: se tiver Homebrew, instalamos; caso contrário, baixe manualmente
|
||
|
||
### GPU (opcional)
|
||
- NVIDIA: bibliotecas CUDA adequadas do pacote do Ollama
|
||
- AMD: ROCm (Windows requer pacote adicional)
|
||
- CPU-only funciona, só é mais lento
|
||
|
||
## Detalhes por sistema
|
||
|
||
### Linux
|
||
- Instalação oficial via script:
|
||
- `curl -fsSL https://ollama.com/install.sh | sh`
|
||
- Serviço: `systemctl enable ollama` e `systemctl start ollama`
|
||
- Verificação de serviço: `systemctl is-active ollama`
|
||
- API local: `http://localhost:11434`
|
||
- Ajustes de segurança (se necessário): SELinux/AppArmor
|
||
|
||
### Windows
|
||
- Preferência: `OllamaSetup.exe` (instala no seu perfil)
|
||
- Fallback: pacote `.zip` standalone para `LOCALAPPDATA\Programs\Ollama`
|
||
- Início do serviço: `ollama serve` (se não rodando)
|
||
- API local: `http://localhost:11434`
|
||
- Variáveis de ambiente: defina `OLLAMA_HOST`, `OLLAMA_MODELS` em Configurações do Windows
|
||
- Login item: desative em `Task Manager > Startup apps` se não quiser iniciar junto com o sistema
|
||
|
||
### macOS
|
||
- Se tiver Homebrew: `brew install ollama`
|
||
- Senão: baixe o app em https://ollama.com/download/
|
||
- Início do serviço: `ollama serve` se o CLI estiver disponível
|
||
- API local: `http://localhost:11434`
|
||
|
||
## Erros comuns e soluções
|
||
|
||
- Sem permissão para `systemctl`
|
||
- Solução: rode com privilégios ou instale para usuário e inicie com `ollama serve`
|
||
|
||
- Download bloqueado por proxy/antivírus
|
||
- Solução: autorize o binário/endpoint, tente novamente; em último caso, baixe manualmente
|
||
|
||
- API inacessível após instalação
|
||
- Solução: verifique logs (`systemctl status ollama` no Linux, `%LOCALAPPDATA%\Ollama\server.log` no Windows), confirme porta 11434 livre
|
||
|
||
## Exemplos rápidos
|
||
|
||
Verificar instalação:
|
||
|
||
```bash
|
||
curl http://localhost:8080/ollama/install-check
|
||
```
|
||
|
||
Instalar e iniciar:
|
||
|
||
```bash
|
||
curl -X POST http://localhost:8080/ollama/install
|
||
```
|
||
|
||
## Observações finais
|
||
|
||
- MacOS/Windows costumam registrar Ollama como login item. Desative se preferir.
|
||
- Linux: se não usar `systemd`, inicie com `ollama serve` e considere ferramentas alternativas de serviço.
|
||
- Se algo quebrar, os logs do endpoint vão apontar a etapa e o erro. Isso ajuda a corrigir rápido. |