Criando um painel de controle (Dashboard) para seu servidor com o Homepage
Veja como criar um painel de controle para seus serviços.
Introdução
OHomepage é um software que funciona como uma página inicial personalizada para servidores domésticos. Ele serve para organizar e centralizar o acesso a diversos serviços que rodam em uma mesma máquina ou rede. Em vez de decorar endereços IP e números de portas diferentes (como 192.168.2.14:4533 ou 192.168.2.14:8384), o usuário acessa uma única página web que contém ícones e links para todas as suas ferramentas.Para que serve?
Em um servidor com sistema Linux, é comum instalar vários programas que possuem interface web. Conforme a quantidade de serviços cresce, a tarefa de gerenciar os endereços de acesso se torna confusa. O Homepage resolve isso criando uma interface visual limpa, onde o administrador pode agrupar serviços por categorias, monitorar o uso de processador (CPU) e memória RAM, e visualizar o status de cada aplicação em tempo real.Pré-requisitos
Para seguir este procedimento, é necessário ter oDocker e o Docker Compose instalados no sistema. No caso deste exemplo, utilizamos um sistema Gentoo com systemd, mas os comandos funcionam em qualquer distribuição que suporte Docker.Passo 1: Organização dos diretórios
O primeiro passo é criar uma pasta para guardar os arquivos de configuração do painel. Manter os arquivos organizados facilita a manutenção e o backup. Execute os comandos no terminal:mkdir -p ~/homepage/config
cd ~/homepage
Passo 2: Configuração do Docker Compose
O Docker Compose é uma ferramenta que utiliza um arquivo de "receita" para subir o serviço. Vamos criar o arquivodocker-compose.yml. Note que utilizamos a porta 3001 para o acesso e definimos uma variável de segurança para permitir o acesso pelo endereço IP da rede local.cat << EOF > ~/homepage/docker-compose.yml
services:
homepage:
image: ghcr.io/gethomepage/homepage:latest
container_name: homepage
ports:
- 3001:3000
environment:
- HOMEPAGE_ALLOWED_HOSTS=192.168.2.14:3001
volumes:
- ./config:/app/config
- /var/run/docker.sock:/var/run/docker.sock:ro
restart: unless-stopped
EOF
Passo 3: Configuração dos serviços
Agora vamos configurar o arquivoservices.yaml, que contém os links e ícones que aparecerão na tela. Usaremos como exemplo serviços de infraestrutura, mídia e projetos pessoais.cat << EOF > ~/homepage/config/services.yaml
- Infraestrutura:
- Tailscale:
icon: si-tailscale
href: https://login.tailscale.com/
description: Rede privada segura
- NoMachine:
icon: mdi-remote-desktop
href: nx://192.168.2.14:4000
description: Acesso remoto ao desktop
- Mídia e Arquivos: - Navidrome: icon: sh-navidrome href: http://192.168.2.14:4533 description: Servidor de músicas - Syncthing: icon: si-syncthing href: http://192.168.2.14:8384 description: Sincronização de arquivos
- Projetos: - Berry Bank: icon: mdi-piggy-bank href: http://192.168.2.14:5000 description: Sistema financeiro doméstico EOF
- Mídia e Arquivos: - Navidrome: icon: sh-navidrome href: http://192.168.2.14:4533 description: Servidor de músicas - Syncthing: icon: si-syncthing href: http://192.168.2.14:8384 description: Sincronização de arquivos
- Projetos: - Berry Bank: icon: mdi-piggy-bank href: http://192.168.2.14:5000 description: Sistema financeiro doméstico EOF
Passo 4: Limpeza de itens padrão
O Homepage traz alguns links de exemplo (como GitHub e Reddit) que podem poluir a interface. Para removê-los, criamos um arquivo de favoritos vazio:cat << EOF > ~/homepage/config/bookmarks.yaml
# Arquivo vazio para remover links padrão
EOF
Passo 5: Inicialização do painel
Com os arquivos criados, basta iniciar o contêiner. O parâmetro-d faz com que o programa rode em segundo plano.cd ~/homepage
docker compose up -d
Como acessar
Após a execução, o painel estará disponível através do navegador de qualquer computador ou celular conectado na mesma rede. Basta digitar o endereço IP do servidor seguido da porta escolhida. Exemplo:http://192.168.2.14:3001
Faz tempo que estava com essa idéia de ter um painel de controle no servidor.
_________________________________________________________
Rule number one: Always listen 'to' Buck!
Enquanto o cursor estiver pulsando, há vida!