O Caddy é um servidor web moderno, leve e de alto desempenho escrito em Go, conhecido principalmente por gerenciar certificados SSL/TLS gratuitos automaticamente (via Let's Encrypt / ZeroSSL) sem exigir ferramentas adicionais como o Certbot. Ele simplifica drasticamente a configuração de proxies reversos, páginas estáticas e APIs com uma sintaxe muito mais limpa que o Nginx ou Apache.
Combinado com o poder dos servidores VPS da HypeHost - equipados com armazenamento SSD ultrarrápido, uplink de alta velocidade e proteção AntiDDoS de mais de 12 Tbps inclusa -, o Caddy torna-se a solução ideal para colocar aplicações em produção em poucos minutos.
Este guia orienta a instalação e configuração do Caddy em distribuições Ubuntu/Debian e da família RHEL (AlmaLinux, Rocky Linux e CentOS).
Requisitos
Um servidor VPS ou Bare Metal na HypeHost com Ubuntu, Debian, AlmaLinux, Rocky Linux ou CentOS;
Acesso de usuário com privilégios
sudoourootvia SSH;Um domínio ou subdomínio com registro A apontado para o endereço IPv4 da sua VPS;
Portas 80/TCP (HTTP) e 443/TCP (HTTPS) liberadas no firewall.
Passo 1: Instalar o Caddy no Servidor
Conecte-se à sua VPS via SSH e utilize o repositório oficial da distribuição correspondente:
No Ubuntu ou Debian:
sudo apt update && sudo apt install -y debian-keyring debian-archive-keyring apt-transport-https curl curl -1sLF 'https://dl.cloudsmith.io/public/caddy/stable/gpg.key' | sudo gpg --dearmor -o /usr/share/keyrings/caddy-stable-archive-keyring.gpg curl -1sLF 'https://dl.cloudsmith.io/public/caddy/stable/debian.deb.txt' | sudo tee /etc/apt/sources.list.d/caddy-stable.list sudo apt update sudo apt install caddy -y
No AlmaLinux, Rocky Linux ou CentOS:
sudo dnf install 'dnf-command(copr)' -y sudo dnf copr enable @caddy/caddy -y sudo dnf install caddy -y
Passo 2: Habilitar e Iniciar o Serviço
Após a instalação, ative o serviço para inicializar junto com o sistema operacional:
sudo systemctl enable --now caddy
Para verificar se o Caddy está ativo e em execução:
sudo systemctl status caddy
(O status deve constar como active (running)).
Passo 3: Liberar as Portas no Firewall
O Caddy necessita das portas HTTP e HTTPS abertas para responder aos visitantes e realizar a validação do certificado SSL automático:
No Ubuntu / Debian (UFW):
sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw reload
No AlmaLinux / Rocky Linux / CentOS (Firewalld):
sudo firewall-cmd --permanent --add-service=http sudo firewall-cmd --permanent --add-service=https sudo firewall-cmd --reload
Passo 4: Configurar o Caddyfile
O arquivo principal de configuração do Caddy fica localizado em /etc/caddy/Caddyfile. É nele que são definidos os sites e redirecionamentos.
Abra o arquivo para edição:
sudo nano /etc/caddy/Caddyfile
Apague o conteúdo padrão e escolha o modelo que melhor atende à sua necessidade:
Cenário A: Servir um Site Estático (HTML/CSS/JS)
seudominio.com.br {
root * /var/www/html
file_server
}Cenário B: Proxy Reverso para Aplicação Local (ex: Node.js, Docker, n8n, Golang)
Se você possui uma aplicação rodando em uma porta interna da máquina (como a porta 3000 ou 8080), o Caddy atua como intermediário seguro:
app.seudominio.com.br {
reverse_proxy 127.0.0.1:3000
}Certificado SSL Automático: Assim que você insere um domínio válido no início do bloco, o Caddy detecta o apontamento DNS, emite e renova o certificado SSL/TLS de forma automática sem requerer intervenção manual.
Pressione Ctrl + O e dê Enter para salvar; pressione Ctrl + X para sair.
Passo 5: Validar e Recarregar as Configurações
Antes de aplicar as alterações, valide se o arquivo não possui erros de sintaxe:
caddy validate --config /etc/caddy/Caddyfile
Em seguida, recarregue o serviço sem derrubar as conexões ativas:
sudo systemctl reload caddy
Comandos Úteis do Caddy
Recarregar configurações sem parar o site:
sudo systemctl reload caddyReiniciar o serviço:
sudo systemctl restart caddyAcompanhar os logs de acesso e erros em tempo real:
sudo journalctl -u caddy -f
