<?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: Lucas Barboza</title>
    <description>The latest articles on DEV Community by Lucas Barboza (@sftctrl).</description>
    <link>https://dev.to/sftctrl</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.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3424628%2Fb86cabf0-c9fe-4f7a-92a8-fcb00ef42c3e.jpeg</url>
      <title>DEV Community: Lucas Barboza</title>
      <link>https://dev.to/sftctrl</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/sftctrl"/>
    <language>en</language>
    <item>
      <title>Projeto Fortaleza Digital</title>
      <dc:creator>Lucas Barboza</dc:creator>
      <pubDate>Sun, 10 Aug 2025 06:54:37 +0000</pubDate>
      <link>https://dev.to/sftctrl/projeto-fortaleza-digital-380b</link>
      <guid>https://dev.to/sftctrl/projeto-fortaleza-digital-380b</guid>
      <description>&lt;p&gt;&lt;strong&gt;Parte 1: Da Filosofia à Arquitetura de um Self-Host Resiliente&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;Olá, comunidade.&lt;/p&gt;

&lt;p&gt;Meu nome é Lucas, e após mais de 10 anos em gestão de negócios, estou em uma jornada de transição de carreira para Administração de Sistemas e DevOps. Este não é apenas um log de projeto; é o diário de bordo dessa transição, onde busco aplicar minha filosofia de trabalho focada em autonomia, profundidade e melhoria contínua.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Filosofia: A Vontade sobre o Algoritmo&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;No coração deste projeto está uma filosofia de trabalho que chamo de "Construção Deliberada", guiada por um manifesto pessoal focado em autonomia e aprendizado profundo. A ideia central é simples: "Recuso a terceirização da minha vontade". Em um mundo de soluções "as-a-service", decidi construir meu próprio ecossistema de serviços (nuvem, senhas, git, etc.) para entender a tecnologia em seu nível mais fundamental. O objetivo é criar uma "Fortaleza Digital", um ambiente que sirva aos meus propósitos, e não aos de algoritmos de terceiros.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Filosofia de Código&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Este projeto segue um conjunto de regras que defini para meu desenvolvimento:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Extremamente bem documentado e versionado.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Foco em funcionalidade, simplicidade, privacidade e controle.&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Soluções open-source&lt;/strong&gt; que me deem controle total.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Construção com as próprias mãos:&lt;/strong&gt; Entender "por baixo do capô" é um requisito.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;O Início da Implementação: O Muro Invisível&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A jornada começou com a instalação de um servidor Debian (&lt;code&gt;fortaleza&lt;/code&gt;) em hardware dedicado. O plano era expor os serviços à internet. No entanto, a realidade da infraestrutura residencial no Brasil se impôs rapidamente.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Troubleshooting #1: O Diagnóstico de Rede&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Sintoma:&lt;/strong&gt; Nenhuma conexão externa chegava ao meu servidor local.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Investigação:&lt;/strong&gt; Utilizando ferramentas como &lt;code&gt;ping&lt;/code&gt;, &lt;code&gt;traceroute&lt;/code&gt; e verificadores de portas online, confirmei que as portas 80 e 443 estavam bloqueadas. Uma análise mais profunda do meu roteador revelou que o IP da minha interface WAN era um IP privado (&lt;code&gt;192.168.xx.xx&lt;/code&gt;), enquanto meu IP público era outro.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Causa Raiz:&lt;/strong&gt; Diagnóstico duplo - &lt;strong&gt;CGNAT&lt;/strong&gt; e &lt;strong&gt;bloqueio de portas&lt;/strong&gt; pelo meu provedor de internet. Minha Fortaleza era uma ilha inacessível.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;A "Ruminação": Recalculando a Rota&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;A solução não poderia ser um simples workaround. Precisava ser uma decisão de arquitetura que tornasse a Fortaleza "independente desses tipos de impedimentos". A resposta foi evoluir de um modelo de servidor único para uma arquitetura híbrida.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A Nova Arquitetura: O Hub e a Ponte&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; &lt;strong&gt;O Hub na Nuvem (&lt;code&gt;fortaleza-hub&lt;/code&gt;):&lt;/strong&gt; Um VPS "Always Free" na Oracle Cloud, rodando Ubuntu, atuaria como o único ponto de presença público da minha infraestrutura. É nele que o "Porteiro Chefe" (Nginx Proxy Manager) residiria.&lt;/li&gt;
&lt;li&gt; &lt;strong&gt;A Ponte Segura (Túnel SSH Reverso):&lt;/strong&gt; A &lt;code&gt;fortaleza&lt;/code&gt; local estabelece uma conexão &lt;strong&gt;de saída&lt;/strong&gt;, persistente e segura, com o Hub. Esta ponte usa &lt;code&gt;autossh&lt;/code&gt; e um serviço &lt;code&gt;systemd&lt;/code&gt; para garantir resiliência. Todo o tráfego destinado aos meus serviços web viaja por este túnel.&lt;/li&gt;
&lt;/ol&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%2F9mg7rdkfsqfubywiv3ad.jpeg" 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%2F9mg7rdkfsqfubywiv3ad.jpeg" alt="Diagrama exemplificando um Tunnel Reverso" width="800" height="304"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Estado Atual e Próximos Passos&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Até o momento, a fundação está completa. A &lt;code&gt;fortaleza&lt;/code&gt; local e o &lt;code&gt;fortaleza-hub&lt;/code&gt; estão operacionais. O Docker e o Traefik estão instalados na &lt;code&gt;fortaleza&lt;/code&gt;, e o Nginx Proxy Manager está no &lt;code&gt;hub&lt;/code&gt;. O túnel SSH reverso está ativo e funcional. Nosso primeiro serviço, o Vaultwarden, já está rodando, acessível globalmente via &lt;code&gt;https://vault.lucasbrbz.duckdns.org&lt;/code&gt; através desta arquitetura.&lt;/p&gt;

&lt;p&gt;No próximo artigo desta série, detalharei a implementação passo a passo do Nginx Proxy Manager e do túnel SSH, incluindo os desafios de depuração que enfrentei.&lt;/p&gt;

&lt;p&gt;Obrigado por acompanhar. Esta é uma jornada de aprendizado, e cada linha de log é uma lição. Estou construindo minha próxima década, uma linha de código de cada vez.&lt;/p&gt;

</description>
      <category>nginx</category>
      <category>bash</category>
      <category>ssh</category>
      <category>vps</category>
    </item>
  </channel>
</rss>
