Ollama: Instalação e Configuração de Ambiente do Ollama
Instalar o Ollama é como dar ao seu computador um cérebro local — um comando, todas as plataformas, pronto para uso imediato.
OLLAMA_HOST=0.0.0.0:11434 expõe o serviço Ollama a todas as interfaces de rede, significando que qualquer pessoa na mesma rede pode chamar seu Modelo de IA. Isso é conveniente para acesso LAN em desenvolvimento, mas apresenta sérios riscos de segurança se você tiver um IP público ou nenhum firewall configurado. Em produção, sempre adicione autenticação via um proxy reverso Nginx.
📋 Pré-requisitos: Você precisa dominar o seguinte primeiro
1. O Que Você Vai Aprender
- Métodos de instalação com um clique para três plataformas
- Requisitos de hardware do sistema e verificações de compatibilidade
- Inicialização do serviço e configuração de porta
- Caminhos personalizados via variáveis de ambiente
- Solução de problemas comuns de instalação
2. Uma História Real de Uma Fundadora de SaaS
(1) O Problema: Pesadelo de Configuração de Ambiente
Alice fundou a plataforma de e-commerce GlobalShop e precisava implantar atendimento ao cliente com IA nos servidores Linux da empresa e em seu próprio laptop Mac. Ela tentou o llama.cpp — compilando CUDA, configurando ambientes, resolvendo conflitos de dependências — gastando dois dias inteiros. Trocar para outra máquina significava recomeçar do zero.
(2) A Solução: Um Comando Resolve Tudo
O Ollama empacota compilação, dependências e gerenciamento de Modelo juntos. Alice precisa de apenas um comando para instalar, completando a Implantação multiplataforma em dez minutos.
# macOS / Linux: instalação em uma linha
curl -fsSL https://ollama.com/install.sh | sh
# Verify installation
ollama --version
# ollama version is 0.5.x
3. Requisitos de Sistema e Compatibilidade
(1) Configuração Mínima e Recomendada
| Componente | Mínimo | Recomendado |
|---|---|---|
| CPU | 4 núcleos x86_64 / ARM64 | 8 núcleos+ |
| RAM | 8 GB (Modelo 3B) | 32 GB (Modelo 8B+) |
| GPU | Nenhuma (Inferência por CPU) | NVIDIA 8GB+ VRAM |
| Disco | 10 GB de espaço livre | 50 GB+ SSD |
| SO | macOS 13+ / Ubuntu 20.04+ / Windows 10+ | Versão LTS mais recente |
(2) Matriz de Suporte a Aceleração por GPU
| Fabricante de GPU | Plataforma | Método de Suporte | Detecção Automática |
|---|---|---|---|
| NVIDIA | Linux / Windows WSL2 | CUDA | ✅ Automática |
| AMD | Linux | ROCm | ✅ Automática |
| Apple | macOS | Metal | ✅ Automática |
| Intel | Linux | SYCL | ⚠️ Experimental |
▶ Exemplo 1: Verificar Compatibilidade do Sistema (Linux)
# Check CPU architecture
uname -m
# Expected: x86_64 or aarch64
# Check available RAM in GB
free -g | awk '/^Mem:/{print $2}'
# Check NVIDIA GPU
nvidia-smi --query-gpu=name,memory.total --format=csv
# Check disk space
df -h / | awk 'NR==2{print $4}'
Saída:
# Command executed successfully
4. Métodos de Instalação nas Três Plataformas
(1) Instalação no macOS
flowchart LR
A[Baixar DMG] --> B[Arrastar para Aplicativos]
B --> C[Iniciar Ollama]
C --> D[Servidor inicia automaticamente]
D --> E[Verificar: ollama --version]
| Método | Comando | Observações |
|---|---|---|
| Instalador oficial | Baixar DMG de ollama.com | Recomendado, inclui GUI na barra de menu |
| Homebrew | brew install ollama | Para entusiastas do CLI |
| Inicialização manual | ollama serve | Iniciar serviço após instalação |
▶ Exemplo 2: Instalação Completa no macOS
# Option A: Homebrew install
brew install ollama
# Start the server
ollama serve
# Option B: Verify GUI app is running
ps aux | grep ollama
# Quick test
ollama run llama3.2 "Say hello in one sentence"
Saída:
I'm a helpful AI assistant running locally on your machine...
(2) Instalação no Linux
| Método | Comando | Caso de Uso |
|---|---|---|
| Script oficial | curl -fsSL https://ollama.com/install.sh | sh | Recomendado, detecta GPU automaticamente |
| Download manual | Baixar tar.gz de ollama.com | Ambientes offline |
| systemd | Registrado automaticamente como serviço systemd | Servidor de execução contínua |
▶ Exemplo 3: Instalação e Gerenciamento de Serviço no Linux
# Install with official script (auto-detects GPU)
curl -fsSL https://ollama.com/install.sh | sh
# Check systemd service status
sudo systemctl status ollama
# Start/stop/restart service
sudo systemctl start ollama
sudo systemctl stop ollama
sudo systemctl restart ollama
# Enable auto-start on boot
sudo systemctl enable ollama
Saída:
# Command executed successfully
(3) Instalação no Windows
| Método | Comando | Observações |
|---|---|---|
| Instalador oficial | Baixar exe de ollama.com | Recomendado, inclui bandeja do sistema |
| winget | winget install Ollama.Ollama | Instalação via CLI |
| WSL2 | Instalar usando o método Linux dentro do WSL2 | Requer passthrough de GPU |
▶ Exemplo 4: Instalação no Windows e Verificação de GPU WSL2
# Install via winget
winget install Ollama.Ollama
# Verify installation
ollama --version
# If using WSL2 with NVIDIA GPU, verify inside WSL
wsl
nvidia-smi # Should show GPU inside WSL
ollama run llama3.2 "Hello"
Saída:
// Execution successful
5. Variáveis de Ambiente e Configuração de Porta
OLLAMA_MODELS para apontar o caminho de armazenamento dos Modelos para uma partição de disco maior (por exemplo, /data/ollama/models), evitando o esgotamento do espaço do disco do sistema. Isso é especialmente importante em cenários de Implantação com múltiplos Modelos.
OLLAMA_KEEP_ALIVE controla por quanto tempo um Modelo permanece na memória, com padrão de 5 minutos. Para uso frequente, defina para 30m ou mais para evitar recarregar o Modelo a cada requisição (inicialização a frio leva 5-30 segundos).
(1) Variáveis de Ambiente Centrais
| Variável | Padrão | Finalidade |
|---|---|---|
| OLLAMA_HOST | 127.0.0.1:11434 | Endereço e porta de escuta do serviço |
| OLLAMA_MODELS | ~/.ollama/models | Caminho de armazenamento dos arquivos de Modelo |
| OLLAMA_KEEP_ALIVE | 5m | Tempo de retenção do Modelo na memória |
| OLLAMA_NUM_PARALLEL | 1 | Número de requisições paralelas |
| OLLAMA_MAX_LOADED_MODELS | 1 | Máximo de Modelos carregados simultaneamente |
| OLLAMA_DEBUG | false | Ativação de log de depuração |
(2) Comparação de Segurança do Endereço de Escuta
| Configuração | Segurança | Caso de Uso |
|---|---|---|
| 127.0.0.1:11434 | ✅ Apenas acesso local | Ambiente de desenvolvimento |
| 0.0.0.0:11434 | ⚠️ Acessível de todas as redes | Serviço de rede interna, requer firewall |
| 0.0.0.0:11434 + Nginx | ✅ Proxy reverso + autenticação | Ambiente de produção |
0.0.0.0, você deve configurar um firewall ou proxy reverso, caso contrário qualquer pessoa poderá acessar seu serviço Ollama.
▶ Exemplo 5: Configuração Personalizada de Variáveis de Ambiente
# Linux/macOS: set environment variables
# Edit systemd service (Linux)
sudo systemctl edit ollama
# Add in the override file:
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/data/ollama/models"
Environment="OLLAMA_KEEP_ALIVE=30m"
# Reload and restart
sudo systemctl daemon-reload
sudo systemctl restart ollama
# macOS: set via launchctl or shell profile
export OLLAMA_HOST=0.0.0.0:11434
ollama serve
Saída:
NAME ID SIZE
llama3.2:latest a80... 2.0 GB
mistral:latest 61... 4.1 GB
6. Solução de Problemas Comuns de Instalação
(1) Tabela Rápida de Diagnóstico
| Sintoma | Causa | Solução |
|---|---|---|
| "connection refused" | Serviço não iniciado | ollama serve ou reiniciar systemd |
| "bind: address already in use" | Conflito de porta | lsof -i :11434 para encontrar processo ocupante |
| "could not find GPU" | Driver não instalado | Instalar NVIDIA CUDA / AMD ROCm |
| "out of memory" | VRAM insuficiente | Usar um Modelo menor ou versão Quantizada |
| "permission denied" | Permissões insuficientes | Verificar grupos de usuário Linux / permissões de diretório |
| "model not found" | Modelo não foi baixado | ollama pull <model> |
▶ Exemplo 6: Diagnóstico de Conflito de Porta
# Check what process is using port 11434
lsof -i :11434
# or on Linux
ss -tlnp | grep 11434
# Kill the conflicting process if needed
kill -9 `<PID>`
# Or change Ollama port
export OLLAMA_HOST=127.0.0.1:8080
ollama serve
Saída:
NAME ID SIZE
llama3.2:latest a80... 2.0 GB
mistral:latest 61... 4.1 GB
7. Exemplo Abrangente: Script de Implantação em Servidor Novo
OLLAMA_HOST=0.0.0.0:11434 no script de Implantação é adequado para ambientes de rede interna do servidor. Se o servidor tem um IP público, certifique-se de configurar um firewall (ufw/iptables) para restringir o acesso externo à porta 11434, ou adicione autenticação através de um proxy reverso Nginx.
#!/bin/bash
# ============================================
# Comprehensive: Fresh server Ollama deployment
# Checks hardware, installs Ollama, verifies service
# ============================================
set -e
echo "=== Step 1: Hardware Check ==="
echo "CPU: $(nproc) cores"
echo "RAM: $(free -g | awk '/^Mem:/{print $2}')GB"
if command -v nvidia-smi &> /dev/null; then
echo "GPU: $(nvidia-smi --query-gpu=name --format=csv,noheader)"
echo "VRAM: $(nvidia-smi --query-gpu=memory.total --format=csv,noheader)"
else
echo "GPU: Not detected (CPU-only mode)"
fi
echo "Disk: $(df -h / | awk 'NR==2{print $4}') available"
echo ""
echo "=== Step 2: Install Ollama ==="
curl -fsSL https://ollama.com/install.sh | sh
echo ""
echo "=== Step 3: Configure Environment ==="
sudo mkdir -p /data/ollama/models
sudo systemctl edit ollama <<EOF
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
Environment="OLLAMA_MODELS=/data/ollama/models"
Environment="OLLAMA_KEEP_ALIVE=30m"
EOF
sudo systemctl daemon-reload
sudo systemctl restart ollama
echo ""
echo "=== Step 4: Verify Service ==="
sleep 3
if curl -s http://localhost:11434/api/tags > /dev/null; then
echo "SUCCESS: Ollama is running on port 11434"
ollama --version
else
echo "FAILED: Check logs with: journalctl -u ollama"
fi
echo ""
echo "=== Step 5: Pull First Model ==="
ollama pull llama3.2
echo "Deployment complete! Run: ollama run llama3.2"
❓ Perguntas Frequentes
P: O comando
ollamanão é encontrado após a instalação, o que devo fazer? R: No Linux, verifique se/usr/local/binestá no seu PATH. No macOS após instalar via Homebrew, executebrew link ollama. No Windows, reinicie o terminal.
P: Instalação via Docker ou instalação direta — qual escolher? R: Escolha instalação direta para desenvolvimento local (mais simples). Escolha Docker para Implantação em servidor (isolamento e ops mais fáceis). Esta aula cobre instalação direta; Docker é detalhado na Aula 15.
P: Como configuro Inferência por GPU no WSL2? R: Após instalar NVIDIA CUDA no Windows, o WSL2 herda automaticamente a GPU. Execute
nvidia-smino WSL2 para verificar — se você ver a GPU, está pronto. Não é necessário instalar CUDA separadamente dentro do WSL2.
P: Como defino o Ollama para inicialização automática? R: O script de instalação Linux registra automaticamente um serviço systemd e ativa a inicialização automática. O macOS adiciona o app aos itens de login automaticamente após a instalação. O Windows adiciona aos itens de inicialização.
P: Onde os arquivos de Modelo são armazenados por padrão? Posso alterar o caminho? R: O padrão é
~/.ollama/models. Defina a variável de ambienteOLLAMA_MODELSpara alterá-lo — útil quando o espaço em disco é baixo e você precisa montar armazenamento externo.
P: Como posso confirmar se a aceleração por GPU está funcionando? R: Execute
ollama run --verbose <model>e verifique os logs. Mensagens comousing CUDAouusing Metalindicam que a aceleração por GPU está habilitada. Você também pode usarnvidia-smipara observar o uso de VRAM durante a Inferência.
📖 Resumo
- O Ollama suporta instalação com um clique no macOS / Linux / Windows
- Mínimo de 8GB RAM para Modelos 3B, recomendado 16GB+ para Modelos 8B
- Escuta padrão em 127.0.0.1:11434, alterável via OLLAMA_HOST
- A variável de ambiente OLLAMA_MODELS permite caminho personalizado de armazenamento de Modelos
- Aceleração por GPU é detectada automaticamente: NVIDIA CUDA / AMD ROCm / Apple Metal
- Problemas comuns podem ser rapidamente diagnosticados através de verificação de portas e inspeção de logs
📝 Exercícios
- Básico (Dificuldade ⭐): Instale o Ollama no seu sistema atual e execute
ollama --versionpara confirmar o sucesso. - Intermediário (Dificuldade ⭐⭐): Configure as variáveis de ambiente
OLLAMA_HOSTeOLLAMA_MODELSpara vincular o serviço a0.0.0.0:11434e armazenar Modelos em um caminho personalizado, então verifique se a configuração entra em vigor. - Avançado (Dificuldade ⭐⭐⭐): Escreva um script de Implantação automatizado que cubra detecção de hardware, instalação do Ollama, configuração de ambiente e download de Modelo, gerando um relatório de Implantação.