Infraestrutura self-hosted
Cluster Docker Swarm, VPN, firewall com failover, monitoramento e e-mail marketing próprio, para rodar os serviços da operação em um ambiente sob controle da empresa.
Problema que resolve
- Dependência de um único link de internet. Uma queda na conexão do escritório para o que depende dela.
- Serviços sem padrão de implantação. Instalar e atualizar serviços em servidores avulsos é um trabalho manual e difícil de repetir.
- Acesso seguro a sistemas internos. Automações na nuvem precisam falar com sistemas da rede interna, sem expor esses sistemas à internet.
- Custo e controle de dados. Assinaturas por contato ou por usuário crescem junto com a operação, e os dados ficam em ambientes de terceiros, como no caso do e-mail marketing.
Como funciona
Uma infraestrutura própria em camadas, da borda do escritório até os serviços.
Escritório: firewall de borda com failover
Um firewall OPNsense na borda do escritório administra os níveis de conexão: link dedicado, link de backup e 4G como plano C. Ele também filtra DNS para bloquear domínios maliciosos.
Acesso: VPN
Uma VPN liga o escritório aos servidores na nuvem, e as automações alcançam os sistemas internos por esse túnel privado. Os painéis administrativos só podem ser acessados pela VPN.
Nuvem: exposição mínima
Na borda da nuvem, ficam abertas só as portas web e a da VPN. Os serviços públicos ficam atrás de túnel/CDN.
Aplicações: cluster Docker Swarm
Servidores Debian na Hetzner formam um cluster Docker Swarm, e os nós se comunicam pela rede privada do provedor. Cada serviço é descrito em um arquivo de configuração, o que torna implantações e atualizações repetíveis, e permite redistribuir serviços entre os servidores do cluster.
Arquivos: bucket privado
Os arquivos ficam em um bucket privado, com criptografia.
Monitoramento: alertas no WhatsApp
Os nós do cluster são monitorados, com alertas automáticos no WhatsApp. Além disso, cada servidor envia um heartbeat para um serviço externo.
Serviços: n8n, Chatwoot e Mautic
O cluster roda os serviços da operação comercial, como o n8n e o Chatwoot. O Mautic atende o e-mail marketing, com contatos e campanhas no ambiente da própria empresa.
Decisões de projeto
- Rede privada por padrão. Só fica exposto o que realmente precisa ser público.
- Hardening por script idempotente. O mesmo script prepara todos os servidores Debian e pode rodar de novo sem efeitos indesejados.
- Configuração descrita em arquivos. Saber como cada serviço está configurado não depende da memória de uma pessoa, e reconstruir o ambiente fica mais simples.
- Self-hosted onde compensa. Serviços ficam em casa quando o controle dos dados ou o custo justificam, sem a meta de hospedar tudo.
O que entrega
- Internet do escritório protegida contra a queda de um link
- Painéis administrativos fora da internet pública
- Implantações e atualizações repetíveis
- Avisos automáticos no WhatsApp quando um servidor precisa de atenção
- Dados e serviços em um ambiente sob controle da empresa
Stack
- Docker Swarm
- Hetzner
- Debian
- OPNsense
- VPN
- Mautic
- n8n
- Chatwoot