1. Gere o pacote
Compila o site em HTML estático com SEO, fallback SPA e adaptadores para todos os hosts. Saída: dist/rseng-static.zip.
Um único .zip com tudo dentro — HTML, CSS, JS, imagens e regras de cada servidor. GitHub e KingHost continuam disponíveis, mas como opções, nunca como exigência.
Compila o site em HTML estático com SEO, fallback SPA e adaptadores para todos os hosts. Saída: dist/rseng-static.zip.
Suba via painel (Gerenciador de Arquivos), FTP, rsync ou arraste no dashboard. Sem Node, sem banco, sem build no servidor.
Abra uma rota profunda direto (testa o fallback SPA) e confira robots.txt, sitemap.xml e health.json no ar.
GitHub Pages e FTP Napoleon/KingHost são apenas 2 das 10 opções — o mesmo .zip sobe em qualquer host.
cPanel genérico
Qualquer hostHostGator, Hostinger, Locaweb, KingHost… — descompacte o .zip em public_html/
Descompacte dist/rseng-static.zip em public_html/Napoleon / KingHost via FTP
OpçãoServidor ftp.rsengenharia.eng.br:/www — upload incremental com checksum (OPCIONAL)
npm run deploy:ftp:fullNetlify
OpçãoArraste dist/client/ no dashboard ou netlify deploy --prod
netlify deploy --dir dist/client --prodVercel
OpçãooutputDirectory dist/client — rewrites já configurados
npx vercel --prodCloudflare Pages
OpçãoBuild npm run build:static, saída dist/client
npx wrangler pages deploy dist/clientGitHub Pages
OpçãoWorkflow static-portable.yml desativável — .nojekyll + 404.html (OPCIONAL)
Ative .github/workflows/static-portable.ymlS3 / R2 / Spaces
OpçãoBucket estático + error document /404.html
aws s3 sync dist/client/ s3://bucket --deleteVPS / Nginx
OpçãoQualquer VPS com o snippet pronto
rsync -av dist/client/ /var/www/rseng/IIS / Windows Server
Opçãoweb.config com SPA rewrite já incluso
Copie dist/client/ para o site no IISDocker / self-hosted
IndependenteImagem nginx:alpine servindo o pacote — zero dependência externa
docker compose -f docker-compose.portable.yml up -dGuia completo para cada provedor em docs/PUBLISH-ANYWHERE.md no repositório — incluindo subpasta (BASE_PATH) e domínio próprio (SITE_URL).
Node puro servindo o pacote como qualquer hospedagem vê — sem Vite, sem FTP, sem GitHub.
npm run portable:serveValida fallbacks, adaptadores, rotas e — com --url — o site já no ar.
npm run portable:checkImagem Nginx com o pacote — self-hosted em qualquer VPS.
docker compose -f docker-compose.portable.yml up -dHome abre com layout completo
Sem tela branca, CSS e JS carregados
/Rota profunda abre direto
Testa o fallback SPA do host
/obras/golden-mall-rosarioURL inexistente cai no 404 do site
Não erro padrão do servidor
/essa-pagina-nao-existerobots.txt acessível
SEO + sitemap referenciado
/robots.txtsitemap.xml acessível
URLs canônicas do SITE_URL
/sitemap.xmlhealth.json retorna ok:true
Modo "static", sem backend
/health.jsonAutomatize com node scripts/portable-check.mjs --url https://meudominio.com. Detalhes do FTP opcional (Napoleon/KingHost) em /deploy.