<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Evandro Carvalho</title>
    <description>The latest articles on DEV Community by Evandro Carvalho (@evandro_carvalho_ad7433b6).</description>
    <link>https://dev.to/evandro_carvalho_ad7433b6</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3896837%2F6c62ab48-1718-4150-a342-a399da3c8220.png</url>
      <title>DEV Community: Evandro Carvalho</title>
      <link>https://dev.to/evandro_carvalho_ad7433b6</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/evandro_carvalho_ad7433b6"/>
    <language>en</language>
    <item>
      <title>Como Rodar Ollama com Docker e Aceleração de GPU NVIDIA (Guia Prático)</title>
      <dc:creator>Evandro Carvalho</dc:creator>
      <pubDate>Tue, 06 Oct 2026 19:32:24 +0000</pubDate>
      <link>https://dev.to/evandro_carvalho_ad7433b6/como-rodar-ollama-com-docker-e-aceleracao-de-gpu-nvidia-guia-pratico-4a43</link>
      <guid>https://dev.to/evandro_carvalho_ad7433b6/como-rodar-ollama-com-docker-e-aceleracao-de-gpu-nvidia-guia-pratico-4a43</guid>
      <description>&lt;p&gt;A demanda por executar &lt;strong&gt;modelos de linguagem locais&lt;/strong&gt; (Llama, DeepSeek, Qwen, Mistral) para garantir soberania de dados, privacidade e zero custos com tokens de API explodiu. &lt;/p&gt;

&lt;p&gt;O &lt;strong&gt;Ollama&lt;/strong&gt; tornou-se o padrão mais simples e eficiente para isso. No entanto, instalar o binário ou drivers CUDA diretamente no sistema operacional do servidor muitas vezes gera conflito de dependências, quebra de bibliotecas após atualizações do kernel (&lt;code&gt;apt upgrade&lt;/code&gt;) ou dificuldades para isolar ambientes.&lt;/p&gt;

&lt;p&gt;Neste guia, você vai ver como isolar toda a stack de inferência dentro do &lt;strong&gt;Docker&lt;/strong&gt; utilizando o &lt;strong&gt;NVIDIA Container Toolkit&lt;/strong&gt;, com alocação correta de VRAM e boas práticas de segurança de rede.&lt;/p&gt;




&lt;h2&gt;
  
  
  1. Configurando o NVIDIA Container Toolkit (Host)
&lt;/h2&gt;

&lt;p&gt;Para que o daemon do Docker consiga passar as GPUs e capacidades de computação CUDA para os containers, o host (Debian/Ubuntu) precisa do runtime oficial da NVIDIA.&lt;/p&gt;

&lt;p&gt;Execute no terminal:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# 1. Adicionar o repositório oficial da NVIDIA&lt;/span&gt;
curl &lt;span class="nt"&gt;-fsSL&lt;/span&gt; https://nvidia.github.io/libnvidia-container/gpgkey | &lt;span class="nb"&gt;sudo &lt;/span&gt;gpg &lt;span class="nt"&gt;--dearmor&lt;/span&gt; &lt;span class="nt"&gt;-o&lt;/span&gt; /usr/share/keyrings/nvidia-container-toolkit-keyring.gpg
curl &lt;span class="nt"&gt;-s&lt;/span&gt; &lt;span class="nt"&gt;-L&lt;/span&gt; https://nvidia.github.io/libnvidia-container/stable/deb/nvidia-container-toolkit.list | &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nb"&gt;sed&lt;/span&gt; &lt;span class="s1"&gt;'s#deb https://#deb [signed-by=/usr/share/keyrings/nvidia-container-toolkit-keyring.gpg] https://#g'&lt;/span&gt; | &lt;span class="se"&gt;\&lt;/span&gt;
  &lt;span class="nb"&gt;sudo tee&lt;/span&gt; /etc/apt/sources.list.d/nvidia-container-toolkit.list

&lt;span class="c"&gt;# 2. Instalar o toolkit e configurar o Docker daemon&lt;/span&gt;
&lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get update &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;sudo &lt;/span&gt;apt-get &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-y&lt;/span&gt; nvidia-container-toolkit
&lt;span class="nb"&gt;sudo &lt;/span&gt;nvidia-ctk runtime configure &lt;span class="nt"&gt;--runtime&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;docker
&lt;span class="nb"&gt;sudo &lt;/span&gt;systemctl restart docker
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  2. O &lt;code&gt;compose.yaml&lt;/code&gt; com Aceleração de GPU
&lt;/h2&gt;

&lt;p&gt;Crie um arquivo &lt;code&gt;compose.yaml&lt;/code&gt; (ou &lt;code&gt;docker-compose.yml&lt;/code&gt;) na pasta do seu projeto. &lt;/p&gt;

&lt;p&gt;O ponto crucial está na diretiva &lt;code&gt;deploy.resources.reservations.devices&lt;/code&gt;, onde definimos o driver &lt;code&gt;nvidia&lt;/code&gt; e as capacidades necessárias (&lt;code&gt;gpu&lt;/code&gt;, &lt;code&gt;compute&lt;/code&gt;, &lt;code&gt;utility&lt;/code&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight yaml"&gt;&lt;code&gt;&lt;span class="na"&gt;services&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;ollama&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;image&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ollama/ollama:latest&lt;/span&gt;
    &lt;span class="na"&gt;container_name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ollama-gpu-server&lt;/span&gt;
    &lt;span class="na"&gt;restart&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;unless-stopped&lt;/span&gt;
    &lt;span class="na"&gt;ports&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="c1"&gt;# Amarre ao localhost para não expor a API sem autenticação na rede externa!&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="s"&gt;127.0.0.1:11434:11434"&lt;/span&gt;
    &lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="s"&gt;ollama_models:/root/.ollama&lt;/span&gt;
    &lt;span class="na"&gt;deploy&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
      &lt;span class="na"&gt;resources&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
        &lt;span class="na"&gt;reservations&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
          &lt;span class="na"&gt;devices&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
            &lt;span class="pi"&gt;-&lt;/span&gt; &lt;span class="na"&gt;driver&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;nvidia&lt;/span&gt;
              &lt;span class="na"&gt;count&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;all&lt;/span&gt;
              &lt;span class="na"&gt;capabilities&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="pi"&gt;[&lt;/span&gt;&lt;span class="nv"&gt;gpu&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;compute&lt;/span&gt;&lt;span class="pi"&gt;,&lt;/span&gt; &lt;span class="nv"&gt;utility&lt;/span&gt;&lt;span class="pi"&gt;]&lt;/span&gt;

&lt;span class="na"&gt;volumes&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
  &lt;span class="na"&gt;ollama_models&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt;
    &lt;span class="na"&gt;name&lt;/span&gt;&lt;span class="pi"&gt;:&lt;/span&gt; &lt;span class="s"&gt;ollama_models_volume&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Suba o container em background:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker compose up &lt;span class="nt"&gt;-d&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  3. Validando se a GPU está ativa dentro do Container
&lt;/h2&gt;

&lt;p&gt;Para confirmar se o container está de fato enxergando a GPU NVIDIA e o CUDA:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; ollama-gpu-server nvidia-smi
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Se a saída do &lt;code&gt;nvidia-smi&lt;/code&gt; exibir sua GPU (ex: RTX 3060, RTX 4060 Ti, A100, etc.), o passthrough foi configurado com sucesso!&lt;/p&gt;




&lt;h2&gt;
  
  
  4. Baixando e Testando Modelos
&lt;/h2&gt;

&lt;p&gt;Você pode interagir diretamente com a CLI do Ollama dentro do container:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="c"&gt;# Baixar e testar um modelo leve e rápido (ex: Llama 3.2 de 3B)&lt;/span&gt;
docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; ollama-gpu-server ollama run llama3.2:3b

&lt;span class="c"&gt;# Ou um modelo focado em código / raciocínio (ex: Qwen 2.5 Coder 7B)&lt;/span&gt;
docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; ollama-gpu-server ollama run qwen2.5-coder:7b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para listar os modelos que já estão persistidos no seu volume Docker:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;docker &lt;span class="nb"&gt;exec&lt;/span&gt; &lt;span class="nt"&gt;-it&lt;/span&gt; ollama-gpu-server ollama list
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  5. Dica Crítica de Segurança de Rede
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;⚠️ &lt;strong&gt;Atenção:&lt;/strong&gt; Por padrão, a API REST do Ollama (&lt;code&gt;http://localhost:11434/api/...&lt;/code&gt;) &lt;strong&gt;não implementa camada de autenticação&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Se você alterar a porta para &lt;code&gt;0.0.0.0:11434&lt;/code&gt;, qualquer usuário na mesma rede local (ou na internet, se houver IP público) poderá:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Submeter prompts e consumir 100% da sua VRAM e CPU;&lt;/li&gt;
&lt;li&gt;Excluir modelos baixados via chamada &lt;code&gt;DELETE&lt;/code&gt;;&lt;/li&gt;
&lt;li&gt;Fazer download de modelos arbitrários no seu disco.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;
  
  
  Como proteger em produção:
&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Mantenha a porta amarrada estritamente em &lt;code&gt;127.0.0.1:11434&lt;/code&gt; no Compose.&lt;/li&gt;
&lt;li&gt;Utilize um reverse proxy como &lt;strong&gt;Caddy&lt;/strong&gt; ou &lt;strong&gt;Nginx&lt;/strong&gt; com autenticação por cabeçalho (&lt;code&gt;Authorization: Bearer &amp;lt;seu-token&amp;gt;&lt;/code&gt;) e terminação SSL/TLS se precisar expor para outros serviços.&lt;/li&gt;
&lt;li&gt;Se for para acesso remoto privado, utilize um túnel VPN moderno como &lt;strong&gt;Tailscale&lt;/strong&gt; ou &lt;strong&gt;WireGuard&lt;/strong&gt;.&lt;/li&gt;
&lt;/ol&gt;




&lt;h2&gt;
  
  
  Conclusão e Recursos
&lt;/h2&gt;

&lt;p&gt;Rodar o Ollama via Docker Compose traz a tranquilidade de atualizar imagens sem medo de quebrar bibliotecas do sistema operacional, além de facilitar a réplica do ambiente em qualquer servidor.&lt;/p&gt;

&lt;p&gt;Publiquei o guia completo com benchmarks de consumo de VRAM (8GB vs 12GB vs 16GB), dicas de dimensionamento de hardware e integrações no meu blog:&lt;/p&gt;

&lt;p&gt;👉 &lt;a href="https://landingfymax.com.br/tutoriais/tutorial-configurar-ollama-docker-gpu-local-2026" rel="noopener noreferrer"&gt;Guia Completo: Ollama com Docker e GPU no Fymax Sentinel&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Como você está rodando LLMs locais na sua infraestrutura hoje? Utiliza Docker, bare-metal ou soluções como vLLM/LocalAI? Deixe nos comentários!&lt;/em&gt;&lt;/p&gt;

</description>
      <category>docker</category>
      <category>ai</category>
      <category>linux</category>
      <category>devops</category>
    </item>
    <item>
      <title>AI-Powered Zero-Day Chaining: A Deep Dive into Claude Mythos &amp; Project Glasswing</title>
      <dc:creator>Evandro Carvalho</dc:creator>
      <pubDate>Sun, 03 May 2026 17:23:06 +0000</pubDate>
      <link>https://dev.to/evandro_carvalho_ad7433b6/ai-powered-zero-day-chaining-a-deep-dive-into-claude-mythos-project-glasswing-4f8b</link>
      <guid>https://dev.to/evandro_carvalho_ad7433b6/ai-powered-zero-day-chaining-a-deep-dive-into-claude-mythos-project-glasswing-4f8b</guid>
      <description>&lt;p&gt;The cybersecurity landscape just shifted. Anthropic has confirmed Claude Mythos, a model capable of autonomously identifying and chaining Zero-Day vulnerabilities in under 120 seconds.&lt;/p&gt;

&lt;p&gt;Key Technical Highlights:&lt;/p&gt;

&lt;p&gt;IVD Architecture: Iterative Vulnerability Discovery allows the model to interact with virtualized environments in real-time, finding memory overflows that static analysis misses.&lt;br&gt;
Polymorphic Payloads: Mythos generates code that changes its signature with every execution, making signature-based detection (AV/EDR) 94% less effective.&lt;br&gt;
Attack Graphs: It maps multi-hop attack paths (up to 18 hops) that are virtually invisible to heuristic scanners.&lt;br&gt;
We are officially entering the AI vs AI era. If you're still relying on legacy firewalls, you're defending a castle with a paper door.&lt;/p&gt;

&lt;p&gt;Check out the full technical benchmarks and the performance comparison at Fymax Sentinel: 👉 &lt;a href="https://en.landingfymax.com.br/cybersecurity/claude-mythos-ai-cyber-weapon-2026" rel="noopener noreferrer"&gt;https://en.landingfymax.com.br/cybersecurity/claude-mythos-ai-cyber-weapon-2026&lt;/a&gt;&lt;br&gt;
&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhc3svsqn8czqzolaqeu1.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhc3svsqn8czqzolaqeu1.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;How are you preparing your stack for autonomous exploit chaining? Let's discuss in the comments.&lt;/p&gt;

</description>
      <category>cybersecurity</category>
      <category>ai</category>
      <category>infosec</category>
      <category>devops</category>
    </item>
    <item>
      <title>Llama 4 and the Rise of Sovereign AI: Why Open Source Won in 2026</title>
      <dc:creator>Evandro Carvalho</dc:creator>
      <pubDate>Sat, 25 Apr 2026 01:13:55 +0000</pubDate>
      <link>https://dev.to/evandro_carvalho_ad7433b6/llama-4-and-the-rise-of-sovereign-ai-why-open-source-won-in-2026-3d3c</link>
      <guid>https://dev.to/evandro_carvalho_ad7433b6/llama-4-and-the-rise-of-sovereign-ai-why-open-source-won-in-2026-3d3c</guid>
      <description>&lt;p&gt;This week in April 2026, the AI landscape shifted. Meta’s Llama 4 release isn't just about higher benchmarks; it's about who owns the intelligence. For the first time, organizations can deploy a top-tier model that matches proprietary performance while keeping 100% data ownership.&lt;/p&gt;

&lt;p&gt;In this article, we explore the technical breakthroughs and the geopolitical impact of Meta’s boldest move yet.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://en.landingfymax.com.br/artificial-intelligence/llama-4-meta-open-source-sovereignty-2026" rel="noopener noreferrer"&gt;https://en.landingfymax.com.br/artificial-intelligence/llama-4-meta-open-source-sovereignty-2026&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzwnnbacjm5sdye2kntgk.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fzwnnbacjm5sdye2kntgk.png" alt=" " width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
    </item>
  </channel>
</rss>
