Gestão de serviços em casa
Com o evoluir do homelab e a criação de mais serviços internos, começa a ser difícil manter tudo organizado e esta é a solução a que eu cheguei.
![Gestão de serviços em casa](/content/images/size/w2000/2022/05/IMG_20211119_231118v4.jpg)
Com o evoluir do homelab e a criação de mais serviços internos, começa a ser difícil manter tudo organizado e esta é a solução a que eu cheguei.
Existem alguns pontos que eu acho essenciais para ter a minha rede de serviços organizada.
- Tudo tem de ter um friendly name, não me é possível decorar todos os IPs e todas as portas de todos os serviços.
- Preciso de ter um único local onde me posso dirigir para encontrar tudo o que tenho disponível.
- A adição de novos serviços tem de ser simples e sem problemas.
- HTTPS deve ser simples e estar activo em todos os serviços disponíveis online.
Assim sendo, estou a utilizar os seguintes serviços:
- Pi-hole para DNS local
- NGINX Proxy Manager para gerir certificados e redireccionar os pedidos para os servidores e portas correctas
- Heimdall para ter um dashboard dos meus serviços
Pi-hole
Após criar um novo serviço, seja ele um docker container, uma VM, um plugin do TrueNAS, etc, é preciso criar um friendly name, e é ai que o Pi-hole entra para criar um domínio na minha rede interna.
Para quem usa o Pi-hole como adBlocker fica a saber que o Pi-hole também tem a possibilidade de criar domínios que são acessíveis a quem utiliza esse mesmo Pi-hole, assim sendo, sempre que crio um novo serviço que vai ficar ligado durante algum tempo vou ate ao Pi-hole e crio lá um domínio a apontar para o meu NGINX Proxy Manager (pois é este que vai redireccionar tudo para a porta correcta).
![](https://blog.jejay.me/content/images/2022/05/image.png)
Como se pode ver na imagem acima todos os domínios estão a apontar para o IP 192.168.50.11, mas na realidade, só o NGINX Proxy Manager é que esta a correr na porta 80 e 443 naquele mesmo IP. O NGINX Proxy Manager é depois utilizado para redireccionar os pedidos para o IP correcto e porta correcta.
A razão para não utilizar o IP correcto da maquina onde o serviço está a correr, é porque muitas vezes tenho serviços a correr na mesma maquina em portas diferentes, e o Pi-hole sozinho só cria o domínio, eu iria ser obrigado a aceder aos serviços utilizando sempre a porta onde ele está a correr, e eu não quero ter de andar a decorar portas.
NGINX Proxy Manager
Agora que o domínio já esta a apontar para o NGINX é preciso ligar o domínio ao IP e porta correcta.
Este passo é bastante simples, basta adicionar mais uma linha aos nossos hosts e configurar para que todos os pedidos que venham com um certo domínio X vão para o IP Y na porta Z.
![](https://blog.jejay.me/content/images/2022/05/image-1.png)
No caso de existir um serviço externo, pode-se abrir a porta 80 e 443 do router, apontar directamente para o NGINX Proxy Manager e depois é so adicionar mais um host com o domínio publico e apontar para o serviço correcto.
Este serviço também é capaz de gerir certificados utilizando o Let's encrypt.
![](https://blog.jejay.me/content/images/2022/05/image-2.png)
Heimdall
Por fim, é preciso aceder ás aplicações e de preferência com um só click e é ai que entra o Heimdall.
Este é um excelente dashboard de aplicações que requer 0 de configuração, e é super simples i intuitivo.
Basta instalar, meter a correr, e depois aceder ao dashboard e começar a adicionar as nossas aplicações.
À data da criação desta publicação, o Heimdall suporta 345 aplicações diferentes por default, dando também a possibilidade ao utilizador de adicionar as suas próprias aplicações personalizadas.
![](https://blog.jejay.me/content/images/2022/05/68747470733a2f2f692e696d6775722e636f6d2f4d72433451704e2e676966.gif)