Homelab

Meus servidores em casa

Duas máquinas aqui de casa rodam os serviços que eu uso no dia a dia e alguns dos meus projetos. Tudo roda em containers Docker e chega na internet pelo Cloudflare Tunnel, sem abrir nenhuma porta no roteador.

Internetsubdomínios de rincon.dev.br
CloudflareDNS, proxy e Tunnel: sem portas abertas no roteador
Ilustração do Orange Pi
Debian 12 · ARM64 · ligado 24h

Orange Pi

É a máquina que fica ligada o tempo todo. Gasta pouca energia, então cuida do que não pode parar: o cofre de senhas, o Capital com o banco de dados dele e o Menu App, que acompanha as duas máquinas.

Sistema
Debian 12 (bookworm)
Processador
8 núcleos ARM: 2× Cortex-A76 + 6× Cortex-A55
Memória
4 GB
Armazenamento
SSD NVMe de 128 GB
  • VaultwardenCofre de senhas
  • CapitalOrçamento doméstico, com PostgreSQL próprio e backup do banco
  • Menu AppPainel com status, RAM, disco e terminal
  • PortainerGestão dos containers Docker
  • SyncthingSincronização de arquivos
Ilustração do servidor Ubuntu
Ubuntu 24.04 LTS · PC reaproveitado

Servidor

Um PC antigo de casa que ganhou uma segunda vida como servidor. Tem mais memória e disco que o Orange Pi, então fica com mídia, nuvem de arquivos, IA local e automações, além da Sala Privada.

Sistema
Ubuntu Server 24.04 LTS
Processador
Intel Pentium G3250, 2 núcleos a 3,2 GHz
Memória
8 GB
Armazenamento
HD de 320 GB
Placa-mãe
Gigabyte H81M-S3PH
  • JellyfinServidor de mídia
  • NextcloudNuvem de arquivos, com MariaDB e integração ao Google Drive pelo rclone
  • OllamaModelos de IA rodando localmente
  • n8nAutomação de workflows
  • ExcalidrawQuadro branco para desenhar diagramas
  • Sala PrivadaVoz, vídeo e tela com os amigos
  • PortainerGestão dos containers Docker
  • SyncthingSincronização de arquivos

O que liga tudo

Cloudflare Tunnel

Cada máquina roda o cloudflared, que abre um túnel de saída até a Cloudflare. Assim cada serviço ganha um subdomínio de rincon.dev.br com HTTPS, e nenhuma porta fica aberta no roteador.

Tailscale

Uma rede privada entre as máquinas e os meus aparelhos. É por ela que eu acesso por SSH de qualquer lugar e que o Orange Pi lê as métricas do Servidor.

Docker e Portainer

Cada serviço roda no seu container, com Docker Compose. Para atualizar um projeto meu, basta um push na main e um ./update.sh no servidor.

Menu App

O painel que eu fiz para acompanhar tudo: quais serviços estão no ar, RAM, disco e containers de cada máquina, e um terminal no navegador protegido por senha e 2FA.