No artigo anterior, o Raspberry Pi AI HAT+ 2 foi montado e o barramento PCIe da Raspberry Pi 5 foi configurado para suportar o hardware. O Ollama foi executado via terminal, demonstrando claramente o salto significativo de desempenho que a NPU oferece em comparação à CPU tradicional. Contudo, interagir com inteligência artificial apenas por meio de uma tela preta de terminal não é a experiência mais produtiva ou amigável para o uso cotidiano.
Para transformar o Raspberry Pi 5 em um servidor privado de inteligência artificial eficiente, faz-se necessário uma interface gráfica intuitiva e modelos de IA focados em aumentar a produtividade. Neste artigo, será dada continuidade ao que foi feito no terminal e mostrar como instalar e configurar o Open WebUI com Docker/Compose, acessar a interface, verificar a saúde do serviço e preparar modelos voltados à programação na seção Open Code. Também veremos noções de RAG local para consultar documentos privados e opções seguras de acesso externo, deixando o ambiente mais útil para desenvolvimento e uso diário. É exatamente aqui que entra o Open WebUI, uma interface muito parecida com o ChatGPT, que roda diretamente no navegador e suporta diversas ferramentas voltadas para programação e outras tarefas produtivas.
Passo 1: Preparando o Docker
O Open WebUI é distribuído por meio de containers Docker, o que facilita muito a sua instalação e gerenciamento. Para começar, você deve instalar o Docker usando o script oficial disponibilizado no site do Docker e, em seguida, adicionar seu usuário ao grupo de permissões do Docker para evitar a necessidade de usar comandos com sudo.
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo usermod -aG docker $USERImportante: após a instalação, reinicie o Raspberry Pi para que as alterações nas permissões do usuário tenham efeito corretamente.
Passo 2: Subindo o Open WebUI
Com o Docker devidamente instalado e configurado, o Docker Compose será utilizado para garantir que o sistema de IA inicie automaticamente toda vez que a placa Raspberry Pi for ligada. Isso facilita o uso contínuo e evita a necessidade de iniciar manualmente o serviço a cada reinício.
- Primeiro, crie uma pasta dedicada para o projeto com o comando mkdir ~/openwebui && cd ~/openwebui, para organizar todos os arquivos relacionados.
- Em seguida, crie o arquivo de configuração necessário para o Docker Compose executando nano docker-compose.yml, que abrirá o editor de texto para você inserir as configurações.
- Cole o seguinte código no arquivo para definir o serviço do Open WebUI e suas configurações de rede e volume:
services:
open-webui:
image: ghcr.io/open-webui/open-webui:main
container_name: open-webui
ports:
- "3000:8080"
volumes:
- open-webui:/app/backend/data
extra_hosts:
- "host.docker.internal:host-gateway"
restart: unless-stopped
volumes:
open-webui:Depois de colar o código, salve o arquivo pressionando Ctrl+O, confirme com Enter e saia do editor com Ctrl+X.
Para iniciar o serviço em segundo plano, execute o comando docker compose up -d.
Passo 3: Acessando e Configurando
O primeiro carregamento da interface pode levar até dois minutos, pois o container está inicializando e preparando todos os recursos necessários para o funcionamento do sistema.
- Para acessar a interface, abra o navegador de qualquer computador conectado à sua rede local e digite o endereço http://IP_DO_RASPBERRY:3000, substituindo IP_DO_RASPBERRY pelo endereço real do seu dispositivo.
- Ao acessar a tela inicial, a primeira conta que você criar será automaticamente designada como o Administrador do sistema, garantindo que você tenha controle total sobre as configurações e permissões.

Uma vez dentro da interface, o Open WebUI detectará automaticamente a API do Ollama que está rodando no sistema, graças à configuração de host-gateway do Docker. Isso permite uma integração perfeita entre a interface gráfica e o backend de IA.
Verificação de saúde do container
Depois de subir o Open WebUI, vale conferir se o container está realmente em execução e se a aplicação inicializou sem erros. Isso ajuda a diagnosticar rapidamente problemas de rede, portas ocupadas ou falhas durante o carregamento da interface.
$ docker psSaídas Esperadas:
ONTAINER ID IMAGE COMMAND STATUS PORTS NAMES
8f3a2c1b9d4e ghcr.io/open-webui/open-webui:main "bash start.sh" Up 2 minutes 0.0.0.0:3000->8080/tcp, [::]:3000->8080/tcp open-webui$ docker logs open-webui --tail=50INFO Starting Open WebUI service
INFO Loading application configuration
INFO Preparing backend data directory
INFO Connecting internal components
INFO Web server initialized
INFO Application startup complete
INFO Server running and listening on 0.0.0.0:8080$ docker compose psNAME IMAGE COMMAND SERVICE STATUS PORTS
open-webui ghcr.io/open-webui/open-webui:main "bash start.sh" open-webui running 0.0.0.0:3000->8080/tcp, [::]:3000->8080/tcpSe o serviço não aparecer como ativo, reinicie o container a partir da pasta do projeto:
$ cd ~/openwebui docker compose restartSaída Esperada:
[+] Restarting 1/1 ✔ Container open-webui Restarted open-webui StartedDica: para acompanhar os logs em tempo real durante a inicialização, use docker logs -f open-webui. Quando a aplicação estiver pronta, acesse novamente http://IP_DO_RASPBERRY:3000.
Utilizando o Ollama com o Open WebUI
Agora que você possui uma interface robusta e amigável, vamos transformar o Raspberry Pi em um verdadeiro “Copilot de bolso” para programação. O Ollama permite baixar modelos altamente treinados, especializados em repositórios de código e raciocínio lógico, que irão auxiliar no desenvolvimento de software.
No terminal do Raspberry Pi, ou diretamente pelo painel de “Pull Models” do Open WebUI, você pode baixar um modelo focado em código. Opções recomendadas incluem o Phi-3.5 (desenvolvido pela Microsoft) e o Qwen2.5-Coder:1.5b, que é extremamente rápido e eficiente, sendo perfeito para o hardware do Raspberry Pi.
$ ollama run qwen2.5-coder:1.5b
No Open WebUI, selecione o modelo desejado no menu superior. Com esses modelos especializados em código, você pode realizar diversas tarefas, tais como:
- Colar blocos de código que contenham bugs e pedir para a inteligência artificial identificar e corrigir os erros.
- Solicitar a criação completa de scripts em Python ou arquivos de configuração Docker Compose para facilitar a automação.
- Pedir explicações detalhadas sobre funções complexas escritas em linguagens como C++ ou Javascript, tornando o aprendizado e a manutenção mais acessíveis.
Integração com RAG local
Além de conversar com modelos locais, o Open WebUI também pode ser usado como uma base de conhecimento privada por meio de RAG (Retrieval-Augmented Generation). Na prática, você adiciona documentos ao sistema, e o modelo passa a responder usando esses arquivos como contexto.
Esse recurso é especialmente útil para consultar datasheets, documentação de projetos, anotações técnicas, manuais de sensores, README de repositórios e qualquer material que você não queira enviar para serviços externos.
- No Open WebUI, acesse a área de Workspace ou Knowledge, dependendo da versão instalada.
- Crie uma nova coleção de conhecimento para o seu projeto, por exemplo: Documentação do Robô ou Datasheets do Laboratório.
- Envie arquivos como PDF, TXT, Markdown ou documentos técnicos relacionados ao projeto.
- Ao iniciar uma conversa, selecione essa base de conhecimento para que o modelo responda considerando os documentos adicionados.
Exemplo prático: você pode carregar o datasheet do ESP32 e perguntar: “Os periféricos I2C suportam DMA?”. O modelo responde usando o documento local como referência, sem expor seus arquivos para a nuvem, sendo nesse caso a resposta esperada negativa.
Considerações Finais
A transformação do Raspberry Pi 5 em um servidor de inteligência artificial local representa um marco no empoderamento do desenvolvedor e na democratização da IA de borda (Edge AI). Ao integrar a aceleração de hardware via NPU com o ecossistema do Docker, Ollama e Open WebUI, o ambiente deixa de ser uma mera prova de conceito restrita ao terminal e se consolida como uma ferramenta de produtividade prática, fluida e pronta para o trabalho diário.
Mais do que eliminar a dependência e os custos recorrentes de serviços em nuvem, essa arquitetura garante a soberania total dos dados. A capacidade de automatizar a correção de código, consultar bases de conhecimento privadas via RAG local e interagir por uma interface amigável — tudo isso operando 100% offline e com baixo consumo energético — demonstra a viabilidade técnica de manter um ecossistema de IA robusto em um hardware compacto.
Com essa infraestrutura pronta e monitorada, o Raspberry Pi 5 deixa de ser apenas uma placa de prototipagem e assume o papel de um verdadeiro assistente pessoal de desenvolvimento, equilibrando desempenho, privacidade e controle total sobre a informação.






