Como montar um servidor caseiro com hardware reciclado
1. Planejamento e seleção do hardware reciclado
O primeiro passo para montar um servidor caseiro sustentável é identificar componentes viáveis em equipamentos descartados. Placas-mãe de desktops corporativos (como Dell Optiplex, HP EliteDesk ou Lenovo ThinkCentre) são excelentes candidatas, pois oferecem soquetes LGA1155/1150 com processadores Intel Core i3/i5 de 2ª a 4ª geração, que consomem entre 35W e 65W. Esses processadores têm desempenho suficiente para serviços básicos como servidor de arquivos, web server e banco de dados.
Ao avaliar fontes de alimentação, priorize modelos com eficiência 80 Plus (ou superiores) e capacidade entre 250W e 400W. Uma fonte de 300W é suficiente para um sistema com placa-mãe, CPU, 8GB de RAM e dois discos rígidos. Verifique se a fonte possui conectores SATA suficientes e se os cabos estão em bom estado. Gabinetes de torre média oferecem melhor fluxo de ar que modelos slim.
Priorize peças de desktops corporativos descartados, disponíveis em leilões de empresas ou lixões eletrônicos. Servidores de pequenas empresas (como Dell PowerEdge T110) também são opções, mas consomem mais energia e geram mais ruído. Para um servidor caseiro 24/7, opte por hardware com TDP total inferior a 100W.
2. Escolha do sistema operacional e software de servidor
Para hardware reciclado com 2GB a 8GB de RAM, o Ubuntu Server LTS ou Debian são escolhas leves e gratuitas. Ambos oferecem suporte de longo prazo e vasta documentação. A instalação básica requer apenas 1GB de RAM e 5GB de espaço em disco.
Exemplo de configuração de rede estática no Ubuntu Server:
# Editar o arquivo /etc/netplan/00-installer-config.yaml
network:
ethernets:
enp0s3:
dhcp4: no
addresses:
- 192.168.1.100/24
gateway4: 192.168.1.1
nameservers:
addresses: [8.8.8.8, 8.8.4.4]
version: 2
Após a instalação, instale os serviços iniciais:
# Servidor de arquivos Samba
sudo apt install samba samba-common-bin
# Web server Nginx
sudo apt install nginx
# Banco de dados MariaDB
sudo apt install mariadb-server
3. Montagem física e conexões
Antes de montar, limpe todos os componentes com ar comprimido e álcool isopropílico. Remova poeira acumulada nas ventoinhas, dissipadores e slots de memória. Teste os contatos com uma borracha macia nos conectores dourados da RAM e placas de expansão.
Passo a passo da montagem:
- Instale a CPU no soquete, alinhando a seta do processador com o canto do soquete
- Aplique pasta térmica (grão de arroz) e fixe o cooler
- Insira os módulos de memória nos slots corretos (consulte o manual da placa-mãe)
- Conecte os cabos SATA nos discos reciclados (HDD ou SSD)
- Fixe a placa-mãe no gabinete com os parafusos adequados
- Conecte os cabos de energia da fonte (24 pinos, 4/8 pinos CPU, SATA)
Organize os cabos com abraçadeiras para melhorar a ventilação. Posicione o gabinete em local arejado, longe de fontes de calor. Se possível, adicione uma ventoinha de 120mm na frente para entrada de ar e outra atrás para exaustão.
4. Configuração de armazenamento e backups
Para discos reciclados, crie partições com sistema de arquivos ext4. Exemplo de estrutura com dois discos de 500GB:
# Particionar com fdisk
sudo fdisk /dev/sda
# Criar partição primária (n), tamanho total, escrever (w)
# Repetir para /dev/sdb
# Formatar como ext4
sudo mkfs.ext4 /dev/sda1
sudo mkfs.ext4 /dev/sdb1
# Montar pontos
sudo mkdir -p /mnt/disco1 /mnt/disco2
sudo mount /dev/sda1 /mnt/disco1
sudo mount /dev/sdb1 /mnt/disco2
Para implementar RAID 1 (espelhamento) com mdadm:
sudo apt install mdadm
sudo mdadm --create /dev/md0 --level=1 --raid-devices=2 /dev/sda1 /dev/sdb1
sudo mkfs.ext4 /dev/md0
sudo mkdir /mnt/raid
sudo mount /dev/md0 /mnt/raid
Configure backups automáticos com rsync e cron:
# Script de backup /usr/local/bin/backup.sh
#!/bin/bash
rsync -avz --delete /mnt/raid/ /mnt/backup_externo/
# Agendar no crontab (executar diariamente às 3h)
0 3 * * * /usr/local/bin/backup.sh
5. Segurança básica e acesso remoto
Configure o firewall UFW para permitir apenas serviços essenciais:
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp # SSH
sudo ufw allow 80/tcp # HTTP
sudo ufw allow 443/tcp # HTTPS
sudo ufw allow 51820/udp # WireGuard
sudo ufw enable
Para SSH com chaves, gere um par no cliente e copie para o servidor:
# No cliente
ssh-keygen -t ed25519
ssh-copy-id usuario@192.168.1.100
# No servidor, edite /etc/ssh/sshd_config
PasswordAuthentication no
PubkeyAuthentication yes
Instale o WireGuard para VPN:
sudo apt install wireguard
# Configurar /etc/wireguard/wg0.conf com chaves e rede 10.0.0.0/24
sudo systemctl enable wg-quick@wg0
sudo systemctl start wg-quick@wg0
6. Testes de desempenho e estabilidade
Execute testes de estresse para validar a estabilidade do hardware reciclado:
# Estresse de CPU com stress
sudo apt install stress
stress --cpu 4 --timeout 60s
# Teste de memória com memtester
sudo apt install memtester
sudo memtester 1024 5
# Monitorar temperatura
sudo apt install lm-sensors
sensors
Verifique o uptime e logs do sistema:
uptime
journalctl -xe
dmesg | grep -i error
Para monitoramento contínuo, instale o htop e netdata:
sudo apt install htop
bash <(curl -Ss https://my-netdata.io/kickstart.sh)
7. Manutenção e expansão futura
Configure atualizações automáticas de segurança:
sudo apt install unattended-upgrades
sudo dpkg-reconfigure --priority=low unattended-upgrades
Para expandir serviços, instale Docker:
sudo apt install docker.io docker-compose
# Exemplo: executar Nextcloud
docker run -d -p 8080:80 nextcloud
Estratégias para substituir componentes defeituosos:
- Mantenha um disco reserva (mesmo modelo) para RAID
- Teste fontes de alimentação com multímetro antes de instalar
- Documente as especificações de cada componente (modelo, voltagens, compatibilidade)
Com hardware reciclado bem selecionado e configurado, é possível obter um servidor caseiro confiável, com custo próximo de zero e consumo energético inferior a 50W em idle.
Referências
- Ubuntu Server Guide - Official Documentation — Guia completo de instalação e configuração do Ubuntu Server, incluindo rede estática e serviços básicos
- Debian Administrator's Handbook — Referência completa para administração de servidores Debian, com exemplos práticos de configuração
- Samba Official Documentation — Documentação oficial do Samba para configuração de servidor de arquivos em rede local
- Nginx Beginner's Guide — Tutorial introdutório do Nginx com exemplos de configuração de virtual hosts e proxy reverso
- mdadm RAID Management Guide — Wiki oficial do kernel Linux sobre configuração e gerenciamento de RAID com mdadm
- WireGuard Quick Start — Guia rápido de instalação e configuração do WireGuard para VPN segura
- Stress Tool Manual — Documentação da ferramenta stress para teste de estresse de CPU e memória em sistemas Linux