🎯 Objetivo
Configurar uma VPS Linux na Hostinger para hospedar um site corporativo (engenharia BIM) em
Next.js 15.4.5 + React 19.1.0 + TypeScript + Tailwind, com blog em MDX, galeria de projetos e visualização 3D (
Three.js), integrado a deploy automatizado via GitHub (sem intervenção manual).
🧱 Stack do Site
Framework:
Next.js 15.4.5
Linguagem: TypeScript
Front-end: React 19.1.0
Estilo: Tailwind CSS
Recursos: MDX (blog),
Three.js (3D), galeria/portfólio
Repositório: GitHub (branch principal para deploy)
🖥️ Infraestrutura / VPS
Servidor: Hostinger VPS (Linux)
Web Server: Nginx ou Apache (à escolha do profissional)
Node.js: versão compatível com
Next.js 15
Process Manager: PM2 (ou similar)
SSL: Let’s Encrypt
Domínio:
bimxp.net (HTTPS + redirecionamento)
🛠️ Tarefas (por bloco)
1) Configuração da VPS
Instalar/atualizar SO e pacotes essenciais
Configurar firewall (ex.: UFW/iptables) e hardening básico
Instalar
Node.js e npm (ou nvm)
Instalar e configurar Git (chaves SSH, permissões, usuário de deploy)
2) Configuração do Web Server
Instalar e configurar Nginx/Apache
Criar virtual host para
bimxp.net
HTTPS com Let’s Encrypt + redirecionamento 80 → 443
Reverse proxy para a aplicação Node (porta interna → 443)
3) Deploy da Aplicação
Instalar e configurar PM2 (ou similar) para:
rodar em produção
restart automático em falhas/boot
logs separados (out/err)
Build de produção do
Next.js
Configurar variáveis de ambiente (arquivo .env seguro)
Definir estrutura de logs e rotação (logrotate)
4) Integração com GitHub (CRUCIAL)
Configurar deploy automatizado:
Webhook GitHub → VPS
Script de deploy executando:
git pull
npm install
npm run build
pm2 restart <app>
Definir branch principal (main/master) para disparar o deploy
(Opcional) Proteger branch principal (regras de merge)
5) Otimizações
Cache de arquivos estáticos (Nginx/Apache)
Compressão: gzip/brotli
Ajustes de performance do
Next.js (imagens, headers, isr/ssr conforme necessário)
6) segurança
http security headers (csp, hsts, x-content-type-options, etc.)
Proteções básicas contra ataques comuns (rate limit, fail2ban)
Backups automáticos (ver seção abaixo)
7) Backup
Rotina automática (diária/semanal) de:
Código (snapshot ou mirror do repo)
Ambiente (.env seguro) e configs Nginx/Apache
Uploads/estáticos gerados (se aplicável)
Armazenamento externo ou volume separado + instruções de restore
8) Monitoramento
Monitoramento básico do serviço (PM2/healthcheck)
Alertas de downtime
Logs de acesso e erro (Nginx/Apache) + consulta rápida documentada
🔁 Fluxo de Trabalho (IMPORTANTE)
Atualizações semanais do blog:
Você faz push → GitHub dispara webhook → VPS executa deploy automaticamente
Zero intervenção manual
Rollback:
Possibilidade de reverter para a versão anterior (ex.: Pm2 deploy com releases, ou tag/commit fixo de fallback com script documentado)
📦 Entregáveis
VPS configurada e segura
Site acessível via HTTPS (
bimxp.net)
Deploy automatizado via GitHub funcionando (testado)
Documentação completa:
passos de instalação
variáveis de ambiente
scripts de deploy/rollback
como checar logs e estado do app
Acesso SSH entregue (usuário de deploy e permissões)
Backup configurado e testado
Script de deploy documentado e validado ponta a ponta
⏱️ Prazo
Início: imediato
Conclusão: até 1 semana
Prazo de Entrega: 30 de Agosto de 2025