- Compartilhamento da experiência de transformar um PC gamer montado em 2018 em um servidor doméstico para criar um ambiente de armazenamento de dados, backup e operação de apps self-hosted
- Instalação do TrueNAS Community Edition e configuração de 2 HDDs de 8TB em RAID 1 para redundância de dados
- Uso de apps self-hosted de código aberto como Immich, Backrest, Scrutiny, Mealie e Ollama para cobrir gerenciamento de fotos, backup, monitoramento de drives, gerenciamento de receitas e até execução de LLMs
- O acesso externo é feito com Tailscale VPN, com plano futuro de melhorar a acessibilidade dos serviços por meio da configuração de domínios personalizados
Configuração de hardware
- Reaproveitamento direto do PC gamer montado em 2018
- CPU: AMD Ryzen 5 2600X (6 núcleos, 3.6GHz)
- Placa-mãe: ASRock B450 Pro4 ATX AM4
- RAM: G.Skill Flare X 16GB DDR4-3200 (2x8GB)
- GPU: EVGA GeForce GTX 1070 Ti 8GB
- Gabinete: Fractal Design Meshify C
- Fonte: SeaSonic PRIME Gold 650W
- Configuração de armazenamento
- HDD: 2 unidades de Western Digital Red Plus 8TB (compradas nas férias de inverno)
- SSD: Samsung 850 Evo 500GB (para apps self-hosted que exigem leitura/escrita rápida)
- NVMe: Western Digital Blue SN550 500GB (para instalar o TrueNAS OS)
Sistema operacional TrueNAS
- Instalação do TrueNAS Community Edition (versão 25.10.1, Goldeye) no drive NVMe
- Sistema operacional baseado em Linux, especializado em NAS, que permite acessar o armazenamento de arquivos a partir de qualquer dispositivo na rede
- Oferece recurso de snapshots para ajudar a evitar perda de dados
- Mesmo que um arquivo seja apagado por engano, é possível recuperá-lo a partir de um snapshot anterior que o contenha
- Para que um arquivo seja realmente apagado, não pode existir no sistema nenhum snapshot que ainda o contenha
- Geração automática de snapshots por hora, dia e semana, com remoção automática de snapshots antigos após certo período para economizar espaço de armazenamento
- Configuração de 2 HDDs de 8TB em RAID 1 (espelhamento), preservando integralmente os dados mesmo que um dos drives falhe
Apps self-hosted
-
Scrutiny
- Dashboard web para monitorar o estado dos drives de armazenamento
- Lê e visualiza métricas como temperatura, tempo de atividade e erros de leitura coletados pelo firmware S.M.A.R.T. (Self-Monitoring, Analysis, and Reporting Technology) embutido em HDDs e SSDs
- Exibe tendências históricas no dashboard, permitindo detecção precoce de falhas em drives
-
Backrest
- Front-end web do restic (ferramenta de backup por linha de comando)
- Configurado para salvar automaticamente backups diários em um bucket de armazenamento de objetos Backblaze B2
-
Immich
- Um dos apps self-hosted de código aberto mais populares para gerenciamento de fotos e vídeos
- Suporta backup automático de fotos e vídeos de dispositivos móveis por meio de apps para iOS/Android
- Adequado para quem quer reduzir a dependência de Google Photos ou iCloud, e atualmente é usado para backup das fotos e vídeos do celular
-
Mealie
- Ferramenta de gerenciamento de receitas que melhorou bastante a experiência de meal prep
- Ao inserir apenas a URL de uma receita encontrada em sites como o NYT Cooking, faz scraping automático de ingredientes e modo de preparo e salva tudo na biblioteca
- Facilita acompanhar e gerenciar receitas online que se pretende testar depois
-
Ollama
- Back-end para executar vários modelos de IA
- Executa LLMs como
qwen3.5:4b, gemma3:4b e modelos de embedding vetorial como qwen3-embedding:4b
- Todos os modelos são pequenos o bastante para caber nos 8GB de VRAM da GPU
- Tem a vantagem de permitir descarregar a execução dos modelos do notebook para o homelab
Acesso remoto
- Fora de casa, o acesso remoto aos dados e aos apps self-hosted é feito com Tailscale (serviço de VPN plug-and-play)
- O Tailscale é construído sobre o WireGuard e fornece um túnel seguro até a rede doméstica
- Não é necessário expor o PC do homelab à internet pública
- É preciso instalar o app do Tailscale e autenticar na rede em todos os dispositivos que forem acessar remotamente
Planos futuros
- Atualmente, para acessar os apps, é preciso digitar manualmente a combinação de endereço IP + número da porta da máquina
- Como todos os serviços compartilham o mesmo IP, existe o problema de o gerenciador de senhas não conseguir diferenciar as credenciais de login de cada serviço
- No futuro, a ideia é atribuir nomes de domínio personalizados a todos os serviços para melhorar a acessibilidade e a eficiência de gerenciamento
5 comentários
Eu vinha usando POGO, BeagleBone Black e mini PCs da Lenovo, entre outros, e desde o ano retrasado me fixei no N100. Considerando a conta de luz, ele é ideal para funções que não exigem GPU.
Se essa pessoa montou o homelab nesse nível, eu ficaria com medo da conta de luz.
Mesmo sendo um PC gamer, ele não fica em carga total o tempo todo, então não acho que a conta de luz vá ser uma grande preocupação.
Com um 2600X, mesmo em idle ele já consome uns 30W, e a GPU também deve usar algo em torno de 10W, então fica consideravelmente acima de um homelab montado com CPU de baixo consumo.
Só CPU+GPU deve ficar parecido com o consumo em idle de um N100 com mais 3 ou 4 discos rígidos adicionados.
Comentários do Hacker News
Todos os meus serviços compartilham o mesmo IP, então o gerenciador de senhas fica confuso sobre quais credenciais usar
No Bitwarden, dá para mudar o algoritmo de correspondência; se você definir como “starts with” em vez do padrão, evita correspondências erradas
Só que, ao mudar essa configuração, aparece um aviso de que “isso pode não ser o que você pretende”, o que é meio irritante
Em um ambiente homelab, dá para criar um DNS curinga facilmente com dnsmasq e, mesmo sem gerenciar o roteador diretamente, um arquivo hosts já basta
mDNS também pode ser usado pelo mesmo motivo, mas a configuração é um pouco mais complicada
Adicionei o Tailscale, então também tenho bloqueio de anúncios fora de casa e consigo acessar meus serviços remotamente
Por fim, acrescentei um proxy reverso com NGINX, mas na prática funciona muito bem mesmo sem isso
Cada serviço fica separado no formato
<service>.<yourdomain>.<tld>, e HTTPS também é oferecido gratuitamenteDá para acessar remotamente sem Tailscale e, com Cloudflare Access, também é possível autenticar com Google ou GitHub
Eu também uso uma configuração parecida
Como também serve de workstation, a máquina tem especificações mais altas
Uso nginx + wildcard do letsencrypt para vários subdomínios e, em vez de tailscale, conecto a rede da família com wireguard
Faço streaming de filmes e TV com Jellyfin e envio música para vários alto-falantes com Mopidy + snapcast
Montei um NAS com Ubuntu + espelhamento ZFS e controlo a automação com Home Assistant
Gerencio câmeras de segurança com Frigate e mantenho repositórios pessoais com Forgejo
Também faço rastreamento de aeronaves com SDR e controlo todos os dispositivos IoT da casa localmente
A recomendação é ter um equipamento dedicado ao servidor separado
Eu ainda uso o TrueNAS baseado em FreeBSD
É uma pena que a versão nova tenha mudado para Linux, embora para outras pessoas isso possa ser uma opção melhor
No meu caso, separei NAS, virtualização e roteamento em equipamentos diferentes
O novo TrueNAS era mais lento do que o antigo, mas, como facilita o gerenciamento de apps no estilo Docker, parece bom para iniciantes ou pequenas empresas
Acho que, quanto mais infraestrutura você monta, menor fica o custo marginal para experimentar coisas novas, então todos esses testes valem a pena
Na maioria dos casos, Linux + NFS ou SMB já é suficiente
Reduzindo camadas desnecessárias, dá para operar com muito mais estabilidade
Afinal, se no fim de semana a família ficar sem internet ou sem filmes, a reclamação é grande
É uma pena porque o Mac Mini é muito eficiente energeticamente para uso como servidor
e compartilha um texto comparando TrueNAS Core vs Scale
Depois planejam separar NAS e servidor de computação
O autor usou Restic + Backblaze B2, mas eu prefiro a combinação Restic + BorgBase
O BorgBase tem como pontos fortes preços simples e um bom serviço,
e o Pikapods, da mesma empresa, também é interessante para usuários de homelab
É mais barato: 1 TB por 5 dólares por mês
Quase todo mundo fala de backup em nuvem, mas eu estou pensando em manter um servidor de backup na casa de um amigo
Porque o hardware é barato, o software é aberto e a privacidade é difícil
Graças a Wireguard e Tailscale, esse tipo de backup off-site ficou mais fácil
Queria saber se alguém já fez algo assim
Pretendo expandir da mesma forma para a casa de um amigo
Gerencio fotos com Immich em vez de iCloud e, com Tailscale, fica mais fácil garantir privacidade
Faço replicação de snapshots com ZFS + zrepl e compartilho um texto com o processo de resolução de problemas, resumido por IA
No começo fazia backup local, depois levava o disco pessoalmente e passava a fazer só sincronização incremental
Com o recurso untrusted peer do Syncthing, dá para pegar espaço emprestado com um amigo e ainda manter os dados criptografados
PCs para homelab consomem muito menos energia do que desktops comuns
O desktop do exemplo consome 600 kWh por ano, mas meu HP EliteDesk fica em torno de 100 kWh
Se você não precisa de GPU, até um notebook já basta
Usar um PC gamer antigo para TrueNAS ou OMV é uma boa escolha
HDDs devem ser conectados por SATA, não por USB, para maior estabilidade
Brincam que os preços dos HDDs continuam altos por causa da demanda dos datacenters de IA
Dá para fazer otimização de economia de energia com BIOS e powertop
Rodar outros serviços em cima de um sistema operacional de NAS parece uma arquitetura invertida
Parece melhor colocar os recursos de NAS sobre um sistema operacional de servidor comum
A maioria dos serviços roda em bare metal, e coisas como Home Assistant ou Nextcloud ficam isoladas em contêineres
Estou montando um cluster Kubernetes baseado em Talos Linux distribuído entre várias casas
Conecto tudo com Wireguard e coloco caixas com ZFS em cada zona para replicação de snapshots
Uso o Traefik como gateway e o CrunchyPGO para separar líder e seguidor
Eu rodo TrueNAS em uma VM sobre xcp-ng
Conectei um controlador SAS dedicado via passthrough e antes usava esxi, mas migrei tudo para xcp-ng
Configurei bind9 para DNS e nginx como proxy reverso
Também rodo outras VMs em um Dell OptiPlex Micro
A maioria dos homelabs não tem carga pesada, então o mais importante é capacidade de RAM e eficiência energética
Uma máquina de 4 núcleos e baixo consumo já é suficiente
Como quase não há processamento de IA, não preciso de desempenho de desktop