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.

⚠️ Nota: Definir 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


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.

BASH
# 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
💡 Dica: O Ollama detecta GPUs automaticamente na inicialização. Não é necessária configuração manual do caminho do driver — basta instalar CUDA/ROCm e pronto.

▶ Exemplo 1: Verificar Compatibilidade do Sistema (Linux)

BASH
# 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:

TEXT
# Command executed successfully

4. Métodos de Instalação nas Três Plataformas

(1) Instalação no macOS

100%
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

BASH
# 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:

TEXT
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

BASH
# 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:

TEXT
# 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

POWERSHELL
# 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:

TEXT
// Execution successful

5. Variáveis de Ambiente e Configuração de Porta

💡 Dica: Ao baixar múltiplos Modelos, os arquivos de Modelo consomem espaço significativo em disco (Modelo 8B ~5GB, Modelo 70B ~40GB). Você pode usar a variável de ambiente 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.

ℹ️ Info: 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
⚠️ Nota: Após vincular a 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

BASH
# 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:

TEXT
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

BASH
# 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:

TEXT
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

⚠️ Aviso: O 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.

BASH
#!/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 ollama não é encontrado após a instalação, o que devo fazer? R: No Linux, verifique se /usr/local/bin está no seu PATH. No macOS após instalar via Homebrew, execute brew 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-smi no 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 ambiente OLLAMA_MODELS para 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 como using CUDA ou using Metal indicam que a aceleração por GPU está habilitada. Você também pode usar nvidia-smi para observar o uso de VRAM durante a Inferência.


📖 Resumo


📝 Exercícios

  1. Básico (Dificuldade ⭐): Instale o Ollama no seu sistema atual e execute ollama --version para confirmar o sucesso.
  2. Intermediário (Dificuldade ⭐⭐): Configure as variáveis de ambiente OLLAMA_HOST e OLLAMA_MODELS para vincular o serviço a 0.0.0.0:11434 e armazenar Modelos em um caminho personalizado, então verifique se a configuração entra em vigor.
  3. 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.
Web-Tutorial.com

Equipe Técnica Web-Tutorial

Uma plataforma de tutoriais mantida por diversos desenvolvedores. Cada tutorial é escrito e revisado por profissionais da área correspondente. Trabalhamos para manter nosso conteúdo preciso e confiável — se encontrar algum problema, avise-nos.

100%