Como montar um home lab para aprender DevOps sem gastar muito
Montar um home lab para aprender DevOps pode parecer um investimento alto à primeira vista, mas com planejamento e escolhas inteligentes é possível construir um ambiente completo de aprendizado gastando muito pouco — ou até nada. Este artigo mostra o caminho prático para criar seu laboratório pessoal usando hardware modesto, software livre e créditos gratuitos de nuvem, tudo alinhado à proposta da série Temas — Lista Final (1200 temas).
1. Planejamento e definição de objetivos para o home lab
Antes de instalar qualquer software, defina claramente quais habilidades DevOps você quer praticar. As áreas mais comuns incluem:
- CI/CD: pipelines automatizados de build, teste e deploy
- Containers: Docker, Docker Compose e orquestração básica
- Infraestrutura como código (IaC): Terraform, Ansible, Vagrant
O escopo mínimo viável para começar é: um servidor Linux, Docker Engine, um sistema de versionamento (Git) e uma ferramenta de CI/CD. Ferramentas mais complexas como Kubernetes, service mesh ou monitoramento distribuído podem ficar para uma segunda fase.
Ferramentas gratuitas e open source substituem perfeitamente soluções pagas:
| Necessidade | Solução paga | Alternativa gratuita |
|---|---|---|
| Versionamento | GitHub Enterprise | GitLab CE, Gitea |
| CI/CD | CircleCI, Travis CI | Jenkins, Drone CI |
| IaC | Terraform Cloud (pago) | Terraform CLI + backend local |
| Monitoramento | Datadog, New Relic | Prometheus + Grafana |
2. Hardware acessível e reutilização de equipamentos antigos
Você não precisa comprar servidores novos. Opções reais de baixo custo:
- PC ou notebook antigo: um computador com 4 GB de RAM e processador dual-core já roda Ubuntu Server e alguns containers
- Raspberry Pi 4/5: excelente para serviços leves (DNS, Git, monitoramento) com consumo elétrico mínimo
- Máquinas virtuais no próprio computador: VirtualBox ou VMware Player permitem simular múltiplos servidores sem hardware extra
- VPS baratos: provedores como Hetzner, Contabo ou Hostinger oferecem VPS por menos de R\$ 20/mês
- Créditos gratuitos em nuvem: AWS Free Tier (12 meses), Oracle Cloud Always Free (recursos permanentes) e Google Cloud Free Tier
Exemplo de configuração mínima funcional:
Hardware: Notebook antigo com 8 GB RAM, SSD 120 GB, processador i5 de 3ª geração
SO: Ubuntu Server 22.04 LTS (sem interface gráfica)
Serviços: Docker Engine, GitLab CE (container), Jenkins (container)
Custo: R$ 0 (equipamento já disponível)
3. Instalação e configuração do sistema operacional e virtualização
Distribuições Linux leves e estáveis para home lab:
- Ubuntu Server: ampla documentação, suporte a longo prazo (LTS)
- Debian: estável, consome poucos recursos
- Alpine Linux: extremamente leve, ideal para containers e dispositivos com pouca RAM
Hypervisors gratuitos para criar múltiplos servidores virtuais:
- Proxmox VE: completo, baseado em KVM, interface web, suporte a containers LXC
- Hyper-V Server: versão gratuita da Microsoft, boa integração com Windows
- KVM + virt-manager: nativo no Linux, performático e maduro
Gerenciamento de containers com Docker:
# Instalação do Docker Engine no Ubuntu Server
sudo apt update
sudo apt install docker.io docker-compose-v2 -y
sudo systemctl enable --now docker
sudo usermod -aG docker $USER
# Teste rápido
docker run hello-world
Para um ambiente com múltiplos serviços, use Docker Compose:
# docker-compose.yml básico
version: '3.8'
services:
gitea:
image: gitea/gitea:latest
ports:
- "3000:3000"
volumes:
- ./gitea-data:/data
jenkins:
image: jenkins/jenkins:lts
ports:
- "8080:8080"
volumes:
- ./jenkins-data:/var/jenkins_home
4. Ferramentas essenciais de DevOps gratuitas e auto-hospedadas
Versionamento e CI/CD
Gitea é uma alternativa leve ao GitLab, consome menos de 512 MB de RAM e oferece CI/CD integrado (Gitea Actions):
docker run -d --name=gitea \
-p 3000:3000 -p 22:22 \
-v ./gitea-data:/data \
gitea/gitea:latest
Jenkins continua sendo a ferramenta mais flexível para pipelines:
docker run -d --name=jenkins \
-p 8080:8080 -p 50000:50000 \
-v ./jenkins-data:/var/jenkins_home \
jenkins/jenkins:lts
Automação de infraestrutura
Ansible é agente-free e funciona via SSH. Exemplo de playbook simples:
---
- name: Configurar servidor web
hosts: webservers
tasks:
- name: Instalar Nginx
apt:
name: nginx
state: present
- name: Iniciar serviço
service:
name: nginx
state: started
enabled: yes
Vagrant cria ambientes reproduzíveis com VirtualBox:
# Vagrantfile
Vagrant.configure("2") do |config|
config.vm.box = "ubuntu/jammy64"
config.vm.network "private_network", type: "dhcp"
config.vm.provision "shell", inline: <<-SHELL
apt update
apt install -y docker.io
SHELL
end
5. Práticas de monitoramento e logging com baixo custo
Prometheus + Grafana formam a dupla mais usada para métricas:
# docker-compose para monitoramento
services:
prometheus:
image: prom/prometheus:latest
volumes:
- ./prometheus.yml:/etc/prometheus/prometheus.yml
ports:
- "9090:9090"
grafana:
image: grafana/grafana:latest
ports:
- "3001:3000"
environment:
- GF_SECURITY_ADMIN_PASSWORD=admin
Para logs centralizados, Loki (Grafana Labs) é mais leve que Elasticsearch:
docker run -d --name=loki \
-p 3100:3100 \
grafana/loki:latest
Uptime Kuma monitora serviços e envia alertas por Telegram, Discord ou e-mail:
docker run -d --name=uptime-kuma \
-p 3002:3001 \
louislam/uptime-kuma:latest
6. Laboratório de redes e segurança para simular ambientes reais
Crie redes isoladas com bridges no Proxmox ou VirtualBox. Exemplo com VirtualBox:
Configuração de rede no VirtualBox:
- Adaptador 1: NAT (acesso à internet)
- Adaptador 2: Rede Interna (comunicação entre VMs)
- Adaptador 3: Host-Only (acesso do host às VMs)
Simule firewalls com pfSense ou OPNsense em VM:
# Download da ISO do pfSense
wget https://frafiles.netgate.com/mirror/downloads/pfSense-CE-2.7.2-RELEASE-amd64.iso.gz
# Crie VM com 2 placas de rede: WAN (NAT) e LAN (Rede Interna)
Para segurança de containers, use Trivy para escanear vulnerabilidades:
docker run --rm \
-v /var/run/docker.sock:/var/run/docker.sock \
aquasec/trivy image nginx:latest
Lynis audita a segurança do sistema host:
sudo apt install lynis -y
sudo lynis audit system
7. Documentação, versionamento de configurações e dicas de manutenção
Mantenha todas as configurações em um repositório Git. Estrutura sugerida:
home-lab/
├── docker-compose/
│ ├── monitoring.yml
│ ├── ci-cd.yml
│ └── gitea.yml
├── ansible/
│ ├── playbooks/
│ └── inventory.ini
├── vagrant/
│ ├── Vagrantfile
│ └── provision.sh
├── dotfiles/
│ ├── .bashrc
│ └── .vimrc
└── docs/
├── setup.md
├── troubleshooting.md
└── architecture.md
Documente cada serviço em Markdown. Use Docusaurus ou Wiki.js para criar uma wiki local:
docker run -d --name=wiki \
-p 4000:3000 \
-v ./wiki-data:/data \
requarks/wiki:latest
Estratégias de backup essenciais:
# Script simples de snapshot com rsync
#!/bin/bash
BACKUP_DIR="/backup/$(date +%Y-%m-%d)"
mkdir -p "$BACKUP_DIR"
rsync -av --exclude='*.log' /home/lab/docker-data/ "$BACKUP_DIR"
# Compactar e enviar para nuvem (opcional)
tar -czf "$BACKUP_DIR.tar.gz" "$BACKUP_DIR"
Use snapshots do Proxmox ou VirtualBox antes de mudanças arriscadas. Mantenha um container com cron para backups automáticos.
Com este roteiro, você monta um home lab funcional, gratuito e escalável. Comece pequeno, adicione ferramentas conforme sua evolução e documente cada passo. O aprendizado prático em DevOps não exige grandes investimentos — exige planejamento e curiosidade.
Referências
- Documentação oficial do Docker Engine — Guia completo de instalação e configuração do Docker em diversas distribuições Linux
- GitLab CE vs Gitea: comparação detalhada — Página oficial de instalação do GitLab Community Edition com requisitos de hardware
- Tutorial de Ansible para iniciantes (Red Hat) — Documentação oficial com exemplos práticos de playbooks e inventários
- Prometheus + Grafana: guia de monitoramento — Tutorial oficial de integração entre Prometheus e Grafana para dashboards
- Uptime Kuma: monitoramento open source — Repositório oficial com instruções de instalação via Docker e configuração de alertas
- Oracle Cloud Always Free Resources — Página oficial com detalhes dos recursos gratuitos permanentes (incluindo VMs ARM)
- Proxmox VE: instalação e primeiros passos — Documentação oficial do hypervisor open source com exemplos de configuração de redes e VMs