sábado, 11 de abril de 2026

Workstation para LLN local - parte 2: instalando e configurandoi o WebUI

No primeiro artigo desta série mostramos como instalar o Ollama para permitir rodar LLMs locais usando duas GPUs. Nesta segunda parte vamos configurar uma interface Web semelhante a de IAs comerciais como Chat-gpt e Gemini, rodando em servidor web local em containet docker. 

Caso o docker ainda não esteja instalado no seu sistema será necessário fazê-lo. Como isso pode variar dependendo da distribuição, indico a página de documentação do docker:  https://docs.docker.com/engine/install/

Em seguida vamnos baixar e rodar o container da Open WebUI:

$ sudo docker run -d -p 3000:8080 --add-host=host.docker.internal:host-gateway -v open-webui:/app/data --name open-webui ghcr.io/open-webui/open-webui:main


Depois da inicialização a WebUI poderá ser acessada pelo browser:

            http://localhost:3000


Na primeira execução será preciso criar um usuário e senha. Note que para isto funcionar também deve ter sido feita a configuração da inicialização do Ollama no arquivo override.conf:

[Service]

Environment="CUDA_VISIBLE_DEVICES=1,0"

Environment="OLLAMA_HOST=0.0.0.0"

 

Veja o primeiro artigo referenciado no início para mais detalhes. 

Se o container não estiver configurado para auto-execução no reinicio do sistema, o que prefiro para economia de recursos, é necessário execitar antes, depois de um reinicio do PC:

            $ sudo docker start open-webui


O processo pode ser facilitado com a criação de scripts e atalhos na área de trabalho. Por exemplo, crie o arquivo  "iniciar_ia.sh:

#!/bin/bash

sudo systemctl start ollama

sudo docker start open-webui

notify-send "IA Iniciada." 

 

Caso, ao contrário, prefira que a WebUI sempre reinicie junto com o sistema:

$ sudo docker update --restart always open-webui


Caso esteja obtendo erro, verifique se o Ollama está sendo executado:

$ systemctl status ollama


E se necessário, o reinicie. Garanta também que o próprio docker está sendo reiniciado no boot:

$ sudo systemctl enable docker.service

$ sudo systemctl enable containerd.service


Neste ponte temos um sistema plenamente funcional com duas GPUs utilizando Ollama e WebUI para prompt. Como foi comentado no primeiro artigo, o fato de existirem duas GPUs na máquina pode gerar algum conflito no linux em alguns jogos. No WoW por exemplo, depois de muita pesquisa e tentativa e erro, a solução foi configurar dentro do jogo para DX11 (e não 12). Não é o ideal, mas também não notei diferença. A solução específica vai depender do título. Mas adianto também que existem configurações no Lutris e na Steam que podem ser feitas. No GW2 utilizei um parâmetro de configuração na Steam. Clique com o botão dirreito no jogo (na biblioteca), depois Propriedades e sem seguida Opções de Inicialização. No acampo adicione:

 __NV_PRIME_RENDER_OFFLOAD=0 __GLX_VENDOR_LIBRARY_NAME=nvidia %command%


Isso vai direcionar a carga para a GPU 0, que como vimos nno primeiro artigo é a que está ligada ao monitor.

Por fim, cabe uma nota sobre a atualização do Ollama. Pode ter sido notado no artigo anterior que ele não foi instalado por meio do gerenciador de pacotes do sistema. Com isso ele também não será atualizado junto com os demais pacotes com apt-get update e upgrade. Para atualizar o Ollama basta rodar novamente o script de instalação, com o mesmo comando passado no primeiro artigo. è recomendável apenas fechar qualquer processamento que esteja sendo executado ou aba do Open WebUI antes. Para verificar se é necessária atualização rode o comando:

        $ ollama --version

E compare com a última versão disponível.


Referências: 

Documentação sobre a Open Web UI pode ser encontrada em https://github.com/open-webui/