Quais os melhores containers para ter em casa no nosso homelab?

Olá a todos!

No seguimento dos últimos posts onde temos utilizado mais docker, tem me sido perguntado quais os docker containers que deveríamos ter no nosso homelab. Assim sendo, vamos explorar um catalogo dos meus containers Docker favoritos que para mim são essenciais para potenciar qualquer ambiente de homelab.

Gestão de Containers – Simplificando as coisas com o Portainer.

Portainer wordmark Vector Logo - Download Free SVG Icon | Worldvectorlogo

Para começar, e como não me canso de repetir aqui, a gestão dos nossos containers é a chave para manter a ordem no nosso homelab. Pessoalmente não conheço nada não-empresarial que faz isso de forma mais eficaz do que o Portainer, um painel de controlo de containers intuitivo e gratuito. O Portainer fornece uma interface de webui que facilita a monitorização, a gestão e a manutenção dos nossos containers Docker.

Mas o Portainer não é o único jogador neste campo. Outra excelente opção é o Cockpit, uma interface de administração fácil de usar para servidores Linux que nasceu no Fedora. O Cockpit permite gerir os teus containers Docker, monitorizar o desempenho do nossos sistema e até mesmo atualizar o nosso servidor, tudo a partir de uma interface web.

Containers de Media – Plex e Jellyfin. What else.

PLEX - Bindings | openHAB

Jellyfin - DockServer Wiki

 

Acho que este acaba por ser o primeiro ponto onde a maior parte do pessoal se debruça quando começa um homelab.
Neste campo e dependendo da necessidade de cada um tanto o Plex Media Server como o Jellyfin são escolhas excelentes para a gerir a nossa coleção de media. O Plex é conhecido pela sua interface amigável e capacidade de organizar e transmitir filmes, séries e música com facilidade. Além disso, suporta transcoding por hardware, permitindo a reprodução em vários dispositivos.

Por outro lado, o Jellyfin é uma alternativa opensource ao Plex. Também fornece uma experiência de media de alta qualidade, mas com a vantagem de ser software livre.
Com o Jellyfin, tens o controlo total sobre a tua biblioteca de media e a capacidade de personalizar o servidor de acordo com as tuas preferências, inclusive colocar uma interface extremamente semelhante a do netflix para aquela malta que gosta das coisas todas da mesma forma.

Além disso, se forem interessados em música, não se esqueçam de verificar o Airsonic, que nos permite criar o nosso  próprio serviço de streaming de música pessoal. Também de código aberto, o Airsonic suporta uma variedade de formatos de áudio e é uma excelente opção para audiófilos.

Quem não gosta de um bom negócio?

Já alguma vez se perguntaram como os scalpers conseguem os melhores negócios e os melhores preços?
Parte da resposta vem de um pequeno software chamado changedetection. Com versão em container, podemos colocar uma pagina a ser observada num intervalo pré definido, para receber um alerta para alteração de preço, subida ou descida, ou outro tipo de alteração.

Self-hosted web page change monitoring

Reverse Proxy – Traefik e Nginx a Garantir a Segurança

Traefik v2.6+ - Traefik v2.6+

Agora que temos a nossa coleção de media organizada, é crucial expô-la com segurança. O Traefik é um dos melhores reverse proxies disponíveis. Com uma configuração fácil e suporte para certificados SSL automáticos, o Traefik permite-nos expor os nossos serviços de forma segura e com estilo. Ele funciona bem com aplicações web, incluindo serviços de media, blogs e muito mais.

Outra opção popular é o Nginx, que é um servidor web e proxy reverso altamente flexível. Embora não seja exclusivamente um container Docker, é frequentemente utilizado em ambientes  cujo backend service é fornecido por um container, para fornecer acesso seguro.
O Nginx é altamente personalizável e oferece uma ampla gama de recursos avançados, tornando-o uma escolha sólida para gestores de sistemas experientes.

Stacks Docker Compose – Vamos maximizar a nossa eficiência?

Agora que discutimos os containers individuais, é hora de falar sobre a orquestração de vários containers simultaneamente.
Por exemplo quando precisamos de uma app cujo backend de database está num servidor de mysql mas o binário não vem incluído no docker da app. Iremos necessitar de uma forma de orquestrar a stack de forma a ter a DB disponivel antes de arrancar o layer da APP. Aqui o Docker Compose é uma ferramenta poderosa para definir e executar aplicações de múltiplos containers como uma única unidade.
Quais as stacks que recomendo?

  1. Stack de Monitorização (Prometheus, Grafana, Node Exporter): Este stack é perfeito para monitorizar o desempenho do nosso homelab. O Prometheus é um sistema de monitorização de código aberto que recolhe métricas de sistemas e aplicações. O Grafana é uma plataforma de visualização que nos permite criar painéis impressionantes (dashboards) para acompanhar os nossos dados. O Node Exporter é usado para exportar métricas do sistema para o Prometheus.
  2. Stack de Blog (Ghost/Wordpress, Nginx, MariaDB): Se tens aspirações a ter um blog e ventilar o que te vai na alma, esta stack é para ti. O Ghost e o WordPress são sistemas de gestão de conteúdo (CMS) de código aberto, e são perfeitos para criar um blog pessoal ou profissional. Com o Nginx a funcionar como proxy reverso e o MariaDB como a base de dados, podemos configurar um blog de forma rápida e segura.
  3. Stack de Autenticação (Keycloak, PostgreSQL): Como não me canso de sublinhar, a segurança é fundamental. O Keycloak é uma plataforma de gestão de identidade e acesso de código aberto que nos permite adicionar autenticação segura aos nossos serviços. O PostgreSQL é o sistema de gestão de base de dados robusto que suporta o Keycloak.
  4. Stack de Automatização (Home Assistant, Node-RED, MQTT): Se és como eu e estás interessado em automação residencial, este stack é um must-have. O Home Assistant é um sistema de domótica de código aberto que nos permite controlar e automatizar dispositivos domésticos inteligentes. Por sua vez, o Node-RED é uma ferramenta de automação opensource que nos permite criar fluxos de automação visualmente. O MQTT é um protocolo de mensagens leve que facilita a comunicação entre dispositivos.

E chegamos ao fim de mais um post semanal. Sim, sei que foi uma lista muito pequena, com pouco conteúdo, mas neste post quis mostrar por onde começar.
Quero que todos entendam que ao explorar o vasto mundo dos containers Docker, o nosso homelab torna-se um campo de inovação. A gestão eficaz de containers, o armazenamento e a partilha de media, a segurança através de reverse proxies e a orquestração com Docker Compose são apenas algumas das possibilidades emocionantes que podemos explorar no nosso ambiente de laboratório.

Não tenham medo de experimentar novos containers e stacks – sempre com os procedimentos de segurança que falamos na semana passada em mente – para alcançar os vossos objetivos pessoais e profissionais. O nosso homelab é o nosso campo de jogo, onde irás aprender, experimentar e crescer.

Esperamos que este guia tenha sido informativo e inspirador na tua jornada de descoberta do mundo dos containers Docker. A tecnologia está ao nosso serviço para nos ajudar a atingir as nossas metas, portanto, aproveita ao máximo o teu homelab e mantém-te atualizado com as inovações tecnológicas que continuam a surgir.

Até à próxima, um abraço, e alguma sugestão ou reparo sabem onde me encontrar.
Nuno