Site em atualização!Qualquer dúvida ou informação, entre em contato pelos canais de atendimento.
Pacote estático · Independente
Verificando pacote…

Publique este site em qualquer hospedagem.

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.

Voltar ao site
Como funciona

Três passos, cinco minutos, zero servidor.

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.

2. Descompacte na hospedagem

Suba via painel (Gerenciador de Arquivos), FTP, rsync ou arraste no dashboard. Sem Node, sem banco, sem build no servidor.

3. Pronto — teste em 1 minuto

Abra uma rota profunda direto (testa o fallback SPA) e confira robots.txt, sitemap.xml e health.json no ar.

Destinos

O mesmo .zip, dez destinos — GitHub e FTP são opções.

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 host

HostGator, Hostinger, Locaweb, KingHost… — descompacte o .zip em public_html/

Descompacte dist/rseng-static.zip em public_html/

Napoleon / KingHost via FTP

Opção

Servidor ftp.rsengenharia.eng.br:/www — upload incremental com checksum (OPCIONAL)

npm run deploy:ftp:full

Netlify

Opção

Arraste dist/client/ no dashboard ou netlify deploy --prod

netlify deploy --dir dist/client --prod

Vercel

Opção

outputDirectory dist/client — rewrites já configurados

npx vercel --prod

Cloudflare Pages

Opção

Build npm run build:static, saída dist/client

npx wrangler pages deploy dist/client

GitHub Pages

Opção

Workflow static-portable.yml desativável — .nojekyll + 404.html (OPCIONAL)

Ative .github/workflows/static-portable.yml

S3 / R2 / Spaces

Opção

Bucket estático + error document /404.html

aws s3 sync dist/client/ s3://bucket --delete

VPS / Nginx

Opção

Qualquer VPS com o snippet pronto

rsync -av dist/client/ /var/www/rseng/

IIS / Windows Server

Opção

web.config com SPA rewrite já incluso

Copie dist/client/ para o site no IIS

Docker / self-hosted

Independente

Imagem nginx:alpine servindo o pacote — zero dependência externa

docker compose -f docker-compose.portable.yml up -d

Guia completo para cada provedor em docs/PUBLISH-ANYWHERE.md no repositório — incluindo subpasta (BASE_PATH) e domínio próprio (SITE_URL).

Independente

Valide e sirva sem nenhuma conta.

Servidor zero-dependência

Node puro servindo o pacote como qualquer hospedagem vê — sem Vite, sem FTP, sem GitHub.

npm run portable:serve

Checklist unificado

Valida fallbacks, adaptadores, rotas e — com --url — o site já no ar.

npm run portable:check

Docker self-hosted

Imagem Nginx com o pacote — self-hosted em qualquer VPS.

docker compose -f docker-compose.portable.yml up -d
Pós-deploy

Seis checagens, um minuto.

  • Home abre com layout completo

    Sem tela branca, CSS e JS carregados

    /
  • Rota profunda abre direto

    Testa o fallback SPA do host

    /obras/golden-mall-rosario
  • URL inexistente cai no 404 do site

    Não erro padrão do servidor

    /essa-pagina-nao-existe
  • robots.txt acessível

    SEO + sitemap referenciado

    /robots.txt
  • sitemap.xml acessível

    URLs canônicas do SITE_URL

    /sitemap.xml
  • health.json retorna ok:true

    Modo "static", sem backend

    /health.json

Automatize com node scripts/portable-check.mjs --url https://meudominio.com. Detalhes do FTP opcional (Napoleon/KingHost) em /deploy.