Quando leio a palavra “homelab” me vêm a cabeça racks de servidores, dezenas de cabos, luzes piscando e muito barulho de ventoinha. O meu homelab não poderia estar mais longe disso. Ele consiste de um Raspberry Pi 4 com 4Gb de RAM e armazenamento dividido entre um SSD de 240 GB para o sistema operacional (overkill, não usa mais de 20Gb) e um HD externo de 2TB para o resto. Como o Raspberry não conseguiria alimentar a si mesmo + SSD + HD externo (se fosse apenas o Pi e o SSD ele conseguiria), eu utilizo um USB-dock com fonte própria para alimentar os discos.

Raspberry Pi 4 com SSD e HD externo
Raspberry Pi 4, SSD, HD externo, USB-dock, smartplug e sensor de temperatura smart. Os components do homelab

Serviços

O objetivo inicial do homelab era utilizá-lo como um NAS (network attached storage) e guardar minhas fotos e arquivos em geral nele. Porém, ao começar a pesquisar, descobri as possibilidades que um simples Raspberry Pi com 4Gb de RAM pode proporcionar.

neofetch

Essas “possibilidades” são os serviços que podem rodar no Pi. Streaming de mídia, VPN, sua própria cloud, as possibilidades são (quase) infinitas.

Dashboard criada com o homepage com os serviços que rodo no meu homelab.
Dashboard criada com o homepage com os serviços que rodo no meu homelab.

A seguir temos a lista de serviços que rodo no Pi (bare-metal):

  • OpenMediaVault
    • Implementa um sistema de gerenciamento automático de configuração do Debian, ou seja, ele modifica os arquivos de configuração do Debian conforme sua conveniência. Isso permite que ele transforme o Pi em um servidor de armazenamento em rede (NAS) fácil de usar e gerenciar.
  • Tailscale
    • VPN de configuração simples. Esse é um dos poucos serviços que rodam “bare-metal”, ou seja, sem estar containerizado. Utilizo para acessar a rede de casa sem estar necessariamente conectado a ela. Dá a opção de rotear todo o tráfego da rede por ele, utilizando a sua rede mesmo estando na rua (no 4G ou no wi-fi do aeroporto, por exemplo).

Alguns ds serviços rodam em containers Docker. Uma lista atualizada dos arquivos compose destes serviços pode ser encontrada no seguinte link .

A seguir temos a lista de serviços que rodo em containers Docker:

  • Portainer
    • Software de gerenciamento de containers. A maioria dos serviços que rodo são containerizados. A interface gráfica do portainer ajuda na criação e manutenção dos containers.
  • Immich
    • Gerenciamento de fotos. Possui recursos avançados de pesquisa e aprendizado de máquina. É utilizado para substituir o iCloud/Google photos.
    • Obs: A performance no Pi não é a das melhores. Por isso, durante importação em massa de fotos para o serviço é recomendado desativar outros containers. Além disso, as tarefas de ML podem ser carregadas em um outro dispositivo mais potente (recomendado) e, ao importar fotos, é recomendado também desativá-las.
  • Home Assistant
    • Plataforma de automação residencial. Minha casa está longe de ser smart, então, por enquanto, o Home Assistant está ligado apenas a uma tomada inteligente que permite monitorar o consumo de energia do homelab.
  • Transmission
    • Cliente de torrent. Auto-explicativo.
  • homepage
    • Dashboard com integração com centenas de serviços. Todos os que utilizo possuem integração nativa, gerando a captura de tela anterior.
  • Plex
    • Streaming de mídia armazenada no Pi. É utilizado para substituir serviços de streaming (Netflix, Apple TV, etc.).
    • Obs: Plex não é open-source e possui algumas features atrás de paywall (mensal/anual ou “one-time fee”). Existe o Jellyfin , que é FOSS e funciona de forma parecida com o Plex. Obtive mais sucesso com o Plex do que com o Jellyfin, mas acredito que os problemas foram por causa hardware, não do software (podia estar entre o teclado e cadeira também).
    • Obs 2: O Pi não tem placa gráfica dedicada para realizar o “transcoding” da mídia (converter a mídia para um formato que o destinatário consiga reproduzir) e possui dificuldade com playback de arquivos 4k. Em relação ao transcoding, se faz necessário confirmar que o destinatário consiga transmitir o arquivo diretamente, de forma que o Plex faça “direct play” da mídia. No meu caso, uso um Roku 4K que roda bem a maioria dos arquivos (menos 4K, embora o nome sugira).
  • Jellyfin :
    • Deixo rodando como backup do Plex.
  • tautulli : gerenciamento e monitoramento do Plex
    • Obs: alternativa para usuários do Jellyfin é o Jellystat .
  • Calibre-web :
    • Oferece uma interface infinitamente melhor do que do Calibre para navegar, ler e baixar eBooks usando um banco de dados Calibre válido. Pode conectar a um Kindle enviar livros diretamente para o dispositivo.
  • Audibookshelf :
    • Gerenciador de audiolivros. Permite escutar os audiolivros diretamente no navegador ou enviar para o dispositivo. No iOs uso Plappa , no android uso o próprio app da Audiobookshelf para escutar os livros.
  • *arr stack
    • A *arr stack são serviços projetados para baixar, classificar, organizar e monitorar automaticamente suas coleções de músicas, filmes, livros eletrônicos ou programas de TV, gerenciar indexers e mantê-los em sincronia com outros aplicativos. Abaixo seguem alguns exemplos de serviços da *arr stack:
    • sonarr : séries
    • radarr : filmes
    • bazarr : legendas
    • prowlarr : gerenciador de indexers/sites de download
    • overseerr : gerenciador de pedidos de mídia para o Plex
      • Obs: alternativa para usuários do Jellyfin é o Jellyseerr .

Lista de componentes

Item Link
Raspberry Pi 4 4Gb https://www.amazon.de/dp/B09TTNF8BT?ref=ppx_yo2ov_dt_b_fed_asin_title&th=1
FLIRC case https://www.amazon.de/Raspberry-Pi-FLIRC-Case-Aluminium-silber/dp/B07WG4DW52?th=1
Power supply https://www.amazon.de/dp/B07TMPC9FG?ref=ppx_yo2ov_dt_b_fed_asin_title
MicroHDMI https://www.interdiscount.ch/fr/product/hama-adaptateur-video-micro-hdmi-0002568203
Sata to USB UGreen* https://pt.aliexpress.com/item/4000756910303.html
Rack https://pt.aliexpress.com/item/1005005968725807.htm
UH700 usb hub https://www.digitec.ch/en/s1/product/tp-link-uh700-micro-usb-docking-stations-usb-hubs-2760145
2TB Wd elements HDD https://www.galaxus.ch/en/s1/product/wd-elements-2-tb-external-hard-drives-448766?supplier=406802
Xiaomi Mijia Thermometer https://www.aliexpress.com/item/1005006327843865.html
Basilus smart plug https://produto.mercadolivre.com.br/MLB-2124708337-tomada-inteligente-smart-wifi-google-home-alexa-automacao-_JM

*Um salve para James A. Chambers e seu blog post sobre como bootar o Pi através de um SSD. Lá existe uma lista de aparelhos SSD e de adaptadores USB/SATA que são compatíveis com o Pi.