Como hospedar uma aplicação SolidJS
Como hospedar aplicações SolidJS na Square Cloud
Hospedar SolidJS na Square Cloud é simples e extremamente eficiente. Dependendo da arquitetura do seu projeto, você seguirá pelo caminho do deploy estático (Solid + Vite) ou rodará um servidor SolidStart.
1. Solid + Vite (estático)
No Solid + Vite, o build gera arquivos estáticos em dist/. No seu terminal local, execute:
npm run buildPublique o conteúdo de dist/ no runtime estático (MAIN=index.html, ou vite.html para rotas de SPA, com SUBDOMAIN e MEMORY=512), sem processo Node.js. Veja Deploy de site estático (HTML, React, Vite).
2. SolidStart (SSR)
O SolidStart roda um servidor de verdade, que permite renderização no servidor (SSR). Rode npm run build: ele gera .output/server/index.mjs, que lê a PORT e o HOST definidos pela Square Cloud (80 e 0.0.0.0). Crie um arquivo squarecloud.app:
MAIN=.output/server/index.mjs
MEMORY=1024
VERSION=recommended
DISPLAY_NAME=Meu app SolidStart
SUBDOMAIN=meu-app-solidstart
3. Preparando o Deploy (.zip)
Para garantir que o deploy seja rápido e sem erros, seu arquivo .zip deve conter apenas o essencial:
- Para Vite: o conteúdo de
dist/(veja aqui). - Para SolidStart: a pasta
.output/, opackage.jsone osquarecloud.app.
Dica: Nunca envie a pasta
node_modules. A Square Cloud fará a instalação limpa das dependências no servidor.
4. Variáveis de Ambiente (ENV)
- Variáveis
VITE_são lidas no build e ficam visíveis para qualquer visitante: defina-as no.envantes de rodarnpm run build, e nunca coloque segredos nelas. - Variáveis do dashboard (aba Variáveis de Ambiente da aplicação) só servem para código de servidor (SolidStart) e são lidas quando a aplicação inicia. Configure chaves como
API_URLouDB_AUTHali.
5. Dicas de Performance
- Hidratação: Se estiver usando SSR com SolidStart, monitore o uso de memória. O SolidJS é muito eficiente, mas o processo de hidratação no servidor consome recursos durante picos de tráfego.
- Cache: Use o armazenamento em cache da Square Cloud para assets estáticos (imagens, CSS) para diminuir o tempo de carregamento inicial (LCP).
Atualizado em: 04/10/2026
Obrigado!
