Estou animado em compartilhar com vocês meu projeto de homelab (self-hosting)! estou experimentando self-hosting e virtualização. Neste homelab, estou usando o Proxmox como plataforma de virtualização e a Cloudflare para garantir a acessibilidade dos meus serviços. Esse projeto possibilita hospedar suas aplicações em casa! Não recomendo fazer isso em um ambiente produtivo, até por que não comtempla a alta disponibilidade. É MAIS INDICADO PARA O APRENDIZADO E DESENVOLVIMENTO PESSOAL DE APLICAÇÕES.
🏠 O que é um Homelab / Self-Hosting?
Um homelab é um ambiente de teste e desenvolvimento que você pode criar em sua própria casa, usando hardware e software para experimentar com diferentes tecnologias e projetos. É um ótimo lugar para aprender e praticar habilidades técnicas, sem afetar a produção ou os sistemas de uma empresa. Ele é mais indicado para fins educacionais, sem precisar gastar muito $ (dinheiro) comparado com a cloud ou assinar uma VPS / VM.
Por que Proxmox e Cloudflare?
📦Proxmox é uma plataforma de virtualização de código aberto que permite criar máquinas virtuais e contêiners LXC de forma eficiente e segura. Com Proxmox, posso criar e gerenciar múltiplos ambientes virtuais, cada um com suas próprias configurações e recursos.
🌐 Cloudflare é uma plataforma de segurança e entrega de conteúdo que ajuda a proteger os serviços contra ataques cibernéticos e garantir a acessibilidade dos meus sites e aplicativos para a web. Com Cloudflare, posso configurar regras de segurança e otimizar o desempenho dos meus serviços, pois como todo mundo sabe as operadoras de Telecom bloqueiam o trafego de entrada nas principais portas (21, 25, 80 110, 443, etc…). Com o Zero Trust conseguimos fechar um Tunnel direto com os serviços da Cloudflare, assim possibilitando expor nossa aplicação para os usuário da web/internet!
🔧Vamos começar!
Antes de mais nada você precisa separar um computador para isso! Sabe aquele seu notebook ou computador velho? Você pode usar ele! Basta instalar o Proxmox!
Agora que temos nosso virtualizador Proxmox instalado! Vamos criar um container LXC para expor nossas aplicações para a WEB configurando ele para utilizar os serviços da Cloudflare!
Container LXC no PROXMOX
No Proxmox, clique em Datacenter > (Host) > CT Templates, e depois em Templates

Na janela que abriu, vamos baixar um template. O Template nada mais é um sistema préconfigurado para iniciarmos o container. Nesse caso, vamos usar o “Ubuntu 24.04“


Após concluir o Download, ele aparecerá na lista:

Agora que temos um template, vamos criar nosso primeiro container!
Ao topo, clique em “Create CT“

Na janela que abriu, preencha o HOSTNAME (nao pode ter espaço ou caracteres especiais), preencha a SENHA e clique em NEXT

Na proxima tela, vamos selecionar o template desejado, no caso o Ubuntu 24.04 e clicar em Next

Na proxima tela, devemos definir um tamanho para o disco. Como vamos criar só um tunnel/vpn com a Cloudflare, podemos colocar um limite pequeno, algo em torno de 5GB.

Vá clicando em Next até chegar em Network. Vamos utilizar o default (padrão), pois é uma aplicação que não consome muitos recursos!
Em network, precisamos configurar como o container fará parte da rede. Aconselho usar DHCP caso sua rede permita que cada dispositivo obtenha um ip automaticamente.

Após isso, clique em next até chegar na aba “Confirm“
Na aba Confirm, marque a opção “Start after created” para iniciar o container e depois clique em Finish

Teremos algo como:

Tunel ZeroTrust na Cloudflare
Para configurar o tunel ZeroTrust acesse https://dash.teams.cloudflare.com
Após fazer o login, clique em Networks > Tunnels e clique em “Add a tunnel“

Na proxima tela, precisamos escolher o tipo de tunnel, no caso será o Cloudflared

Digite um nome para identificar seu tunnel e clique em “Save tunnel”

Na proxima tela, vamos selecionar o sistema operacional para realizar a instalação, No caso, estamos utilizando o Ubuntu, vamos selecionar o Debian, pois o ubuntu é baseado no Debian!

Agora volte no proxmox, no container criado, faça login como root (a senha você definiu no passo anterior na hora de criar o container).
Datacenter > (Host) > (Container Criado) > Console

Antes de iniciar a instalação e configuração, é necessário atualizar o sistema, para isso, vamos mandar o comando:
apt update apt upgrade -y apt install curl -y
após atualizar o container, copie e cole o código gerado pela cloudflare.

Se tudo ocorreu com sucesso, na Cloudflare você irá ver o status de conectado:

O proximo passo é configurar o dominio para o serviço:

Hostname:
- Subdomain: Será o endereço a ser acessado publicamente, quando acessar o endereço ele abrirá a aplicação
Service:
- Type: O tipo de serviço, recomendo sempre usar o HTTP, pois geralmente a cloudflare coloca o SSL transformando em HTTPS
- URL: Coloque o ip e porta de sua aplicação (igual você acessa internamente em sua rede)
Feito isso, clique em Complete setup e realize o teste acessando sua aplicação. Se tudo ocorreu bem, você ja pode divulgar para seus amigos!
Homelab finalizado com sucesso!
Se você está interessado em aprender mais sobre TI Avançado em geral, fique à vontade para explorar meu blog e aprender um pouco mais com minhas experiências. Estou sempre ansioso para compartilhar conhecimento e trocar experiências!