feat: initialize backend structure with core modules and services

- 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
This commit is contained in:
Evandro Fonseca Junior committed 2025-11-12 01:37:08 -03:00
1 parent 23ba2c34ad
commit f82191dd83
30 files changed
+5957 -1

No files matched your search

+88
View File
@@ -0,0 +1,88 @@
# 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.