🇺🇸 English version here
Instalando e rodando Ollama Bare Metal
Neste artigo irei usar um servidor com Debian para executar uma IA localmente.
Transformar um computador local em um servidor de IA privada é excelente, especialmente para garantir privacidade total e evitar mensalidades. Com o hardware certo e as ferramentas atuais, o processo fica muito mais simples.
O Hardware Necessário (Requisitos)
O componente mais crÃtico é a GPU (Placa de VÃdeo). Diferente de softwares comuns, IAs rodam em núcleos de processamento paralelo e exigem muita memória de vÃdeo (VRAM).
| Componente | Recomendação MÃnima | Recomendação Ideal |
|---|---|---|
| GPU | NVIDIA (8GB VRAM) | NVIDIA RTX 3090/4090 (24GB VRAM) |
| RAM | 16GB | 32GB ou mais |
| Armazenamento | SSD NVMe (50GB livres) | SSD NVMe (500GB+ para vários modelos) |
| OS | Linux ou Windows com WSL2 | Linux (Ubuntu/Fedora) |
Nota: Placas NVIDIA são o padrão da indústria devido aos núcleos CUDA. Embora seja possÃvel rodar em CPUs ou Macs (Apple Silicon), o desempenho em placas NVIDIA são extremamente superiores.
A Ferramenta de Execução: Ollama
Irei usar o Ollama. Ele é open-source e gerencia o download e a execução dos modelos de forma otimizada.
- Instalação: ollama.com.
-
Rodando um Modelo: No terminal, basta digitar:
ollama run llama3 -
Vantagem: Ele cria uma API local na porta
11434, permitindo que você conecte outras interfaces a ele.
Interface Visual (Open WebUI)
Irei instalar o Open WebUI, uma interface web que se parece com o ChatGPT, mas que roda 100% no seu servidor. Caso não queira usar somente o terminal.
Open WebUI É a interface completa e popular. Vamos roda-la via Docker:
- Suporta múltiplos usuários.
- Permite upload de documentos para análise (RAG).
- Conecta-se diretamente ao Ollama.
Os Modelos (o Cérebro)
Dependendo do seu hardware e objetivo, você usará modelos diferentes:
- Llama 3 (Meta): O melhor "pau para toda obra" atualmente.
- Mistral / Mixtral: Excelente equilÃbrio entre velocidade e inteligência.
- DeepSeek Coder: Especializado em programação e escrita de scripts.
- Phi-3 (Microsoft): Modelo leve para computadores com menos potência.
Casos de Uso Privados
Com seu servidor rodando, você pode configurar funções avançadas que não seriam seguras em nuvens públicas:
- RAG (Geração Aumentada por Recuperação): Alimente a IA com seus PDFs, contratos ou códigos privados. Ela responderá baseada apenas nos seus arquivos, sem que os dados saiam da sua rede.
- Automação de Código: Use extensões no VS Code (como o Continue.dev) para usar sua IA local como um "Copilot" gratuito.
- Agentes Locais: Criar scripts que organizam seus arquivos ou analisam logs de sistema automaticamente.
Qual a melhor distro para o Ollama.
A escolha da distro impacta diretamente na facilidade de gerenciar os drivers da NVIDIA.
Fiz uma pequena análise baseada em minhas experiências.
A Melhor: Fedora
O Fedora é, atualmente, uma das melhores escolhas para IA local.
- Kernel Moderno: Essencial para suporte a novas GPUs e tecnologias de virtualização/containers.
- Drivers NVIDIA: O repositório RPM Fusion torna a instalação dos drivers proprietários e do CUDA muito simples e estável.
- Podman vs Docker: O Fedora vem com Podman por padrão, mas você pode instalar o Docker Engine oficial sem problemas.
- Perfil: Ideal para quem quer as versões mais recentes do Ollama e bibliotecas de IA sem ter que compilar nada manualmente.
A Escolha de Estabilidade: Debian (Bookworm)
Se a prioridade é um servidor que "nunca para", o Debian é o caminho.
- Ambiente Limpo: Se você prefere configurar arquivos YAML e usar CLI (Vim/nmcli) como eu, o Debian entrega exatamente o que pede, sem "perfumaria".
-
NVIDIA: A instalação do
nvidia-drivere donvidia-container-toolkitno Debian Stable é muito documentada e sólida. - Ponto de atenção: O Kernel do Debian Stable pode ficar "atrás" de novas GPUs (como uma série 50 no futuro), mas para uma RTX 30 ou 40, funciona perfeitamente.
A Alternativa Enterprise: openSUSE Tumbleweed
Eu gosto muito do openSUSE, (que uso em minha máquina de trabalho local), ele é uma excelente opção para quem quer um sistema Rolling Release (sempre atualizado) mas com a segurança do Btrfs e Snapper.
- Zypper: O gerenciamento de pacotes é robusto.
- YaST: Facilita configurações de rede e segurança.
- OBS (Open Build Service): Facilita encontrar pacotes especÃficos de IA que podem não estar nos repositórios oficiais.
Tabela Comparativa para IA
| Distro | Gestão de Drivers | Atualização de Kernel | Docker/Container |
|---|---|---|---|
| Fedora | Fácil/Moderno | Rápido | Nativo/Podman |
| Debian | Sólido/Manual | Lento | Padrão da Indústria |
| openSUSE | Via Repos | Rolling | Muito bom |
Minha Recomendação dependendo do seu perfil:
- Vá de Fedora se quiser tudo rodando rápido e com as versões mais novas.
- Vá de Debian se quiser configurar uma vez e esquecer que o servidor existe (estilo "set and forget").
A minha escolha: Debian (Stable)
Para o nosso servidor "teste" de IA, o Debian foi a escolha por um motivo simples: compatibilidade de bibliotecas e estabilidade.
- Por que o Debian: É a base mais limpa possÃvel. Como eu vim do Slackware e gosto de configurar tudo via CLI (Vim, nmcli), o Debian não instala nada que eu não peço. Ele é perfeito para rodar o Docker Engine de forma nativa e previsÃvel.
-
A "Vantagem NVIDIA": Quase todos os pacotes do
nvidia-container-toolkite drivers CUDA são testados primeiro e de forma mais exaustiva em bases Debian/Ubuntu. Isso evita que uma atualização de kernel quebre seu servidor de IA no meio de um projeto.
Por que evitei Fedora e Tumbleweed para este Servidor?
Embora sejam excelentes distros, para um servidor dedicado:
Kernel Rolling Release: No Fedora ou openSUSE Tumbleweed, o kernel atualiza com muita frequência. Se eu instalar o driver da NVIDIA e o kernel atualizar, eu posso ter o temido "mismatch" de versão, exigindo que recompile o módulo do driver (DKMS).
Foco em Estabilidade: Um servidor de IA para uma empresa precisa estar disponÃvel sempre que o n8n chamar a API. O Debian Stable garante que o ambiente de execução não mude por anos.
Instalação do Ollame "Bare Metal"
Conforme foi falado no artigo anterior, vamos utilizar o Debian 12. Vou utilizar um servidor modesto com somente 8GB de Ram e sem placa de vÃdeo devido falta de tempo($$$) rs.
Instalação
O Ollama oferece um script oficial que configura o binário e o serviço do systemctl automaticamente:
curl -fsSL https://ollama.com/install.sh | sh
Configuração de Rede (Importante para utlização externa)
Por padrão, o Ollama nativo só ouve em 127.0.0.1 (localhost). Se quiser integrar com o n8n ou acessar de outra máquina na rede, precisa liberar o acesso externo:
Edite o serviço do Ollama:
sudo systemctl edit ollama.serviceou edit diretamente o arquivo/etc/systemd/system/ollama.serviceEntre as linhas
[Service]e antes de qualquer outra, adicione:
[Service]
Environment="OLLAMA_HOST=0.0.0.0"
Salve (Ctrl+O, Enter) e saia (Ctrl+X).
Recarregue e reinicie:
sudo systemctl daemon-reload
sudo systemctl restart ollama
Otimização para 8GB de RAM (O Swap)
Como tenho somente 8GB de RAM, precisei criar um Swap grande no SSD para a IA não travar o sistema.
Passo a passo para criar 12GB de Swap no SSD:
# Criei um arquivo de swap dentro do /home (onde tenho espaço)
sudo fallocate -l 12G /home/swapfile
sudo chmod 600 /home/swapfile
sudo mkswap /home/swapfile
sudo swapon /home/swapfile
# Tornei permanente (adicionei ao /etc/fstab)
echo '/home/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
Baixando os Modelos Estratégicos
Para o meu cenário (8GB RAM), baixei o phi3.5 executando este comando no terminal:
# O melhor "pau para toda obra" que cabe na RAM (2.3GB)
ollama pull phi3.5
Onde os modelos ficarão guardados? (Importante)
Por padrão, no Linux, ele armazena os modelos em:
/usr/share/ollama/.ollama/models.
O Teste de Fogo (Monitoramento)
Abra uma segunda aba no seu terminal (ou use o tmux/screen) e rode o htop. Depois, na primeira aba, chame o modelo:
ollama run phi3.5
Irá abrir o prompt do ollama.
Agora basta fazer alguma pergunta.
Ex:
>>> Por que o céu é azul?
O que observar:
- RAM: Veja se o uso estabiliza em torno de 4GB-5GB.
- CPU: Como eu não tenho GPU ainda, o uso de CPU fica em torno de 90-100% enquanto a IA "pensa".
Gerenciamento do models
Para verificar os models que estão instalados
ollama list
Se precisar remover algum ollama rm <model>
ex:
ollama rm phi3.5:latest
Dependendo do seu hardware e objetivo, você escolherá modelos diferentes:
- Llama 3 (Meta): O melhor "pau para toda obra" atualmente.
- Mistral / Mixtral: Excelente equilÃbrio entre velocidade e inteligência.
- DeepSeek Coder: Especializado em programação e escrita de scripts.
- Phi-3 / 3.5 (Microsoft): Modelos leves para computadores com menos potência.
Alguns models que consigui rodar no meu servidor.
ollama pull deepseek-coder-v2:16b-lite-instruct-q4_K_M
ollama pull llama3.2:3b
ollama pull gemma2:2b
ollama pull phi3.5:latest
Interface Open WebUI
Agora sua IA particular já está funcional. Mas se tiver recurso podemos integrar uma interface web semelhante a do ChatGPT.
- Instale o Docker: A forma mais limpa é via Docker.
- Suba o Open WebUI:
docker run -d --network host --name open-webui -v open-webui-data:/app/backend/data -e OLLAMA_BASE_URL=http://127.0.0.1:11434 -e WEBUI_SECRET_KEY=$(openssl rand -hex 32) --restart always ghcr.io/open-webui/open-webui:main
Agora abra o seu browser e acesse http://localhost:8080 ou o IP do servidor que estiver criando.
Integração com n8n
O n8n possui suporte nativo ao Ollama. Não precisa configurar requisições HTTP manuais.
- No n8n: Procure pelo nó "Ollama Chat Model".
-
Conexão: Informe a URL do meu servidor (ex:
http://localhost:11434ou o IP do servidor na rede local). - Credenciais: Geralmente não precisa de API Key para uso local.
- Uso: Conecta esse nó a um "AI Agent" ou "Chain" dentro do n8n e pronto: seu fluxo de automação agora usa seu Llama 3 ou Mistral local em vez do ChatGPT.
Integração na Aplicação (Laravel, Vue, etc.)
O Ollama expõe uma API REST muito simples. Se você já usou a API da OpenAI, vai notar que é quase idêntica.
-
Endpoint Principal:
POST http://localhost:11434/api/generate - Exemplo de Payload:
{
"model": "llama3",
"prompt": "Por que o céu é azul?",
"stream": false
}
Teste realizado usando curl
curl -s -X POST http://10.0.10.240:11434/api/generate -H "Accept: application/json" -H "Content-Type: application/json" -d '{ "model": "phi3.5", "prompt": "Por que o ceu é azul?", "stream": false }' | jq



Top comments (0)