Como hospedar aplicações Next
1. Pré-requisitos
- Conta e Plano Ativo: O deploy de webservers exige uma conta ativa na plataforma.
- Ambiente Node.js: Certifique-se de que seu projeto está utilizando uma versão do Node.js compatível com a Square Cloud.
2. Estratégias de build (compilação)
Diferente de aplicações simples de backend, o Next.js precisa ser compilado antes de rodar. Você tem duas opções na Square Cloud:
Opção A: Build na Square Cloud
Para que a Square Cloud realize o build durante o deploy, você precisa ajustar seu arquivo package.json:
- Mova as bibliotecas de
devDependenciesparadependencies(especialmente o próprionext,reactereact-dom). - Passe no comando de inicialização o
npm run buildalém do comando de iniciar. (Ex.:npm run build && npm run start)
Dica: Por ser ambiente de produção, é instalado apenas 'dependências', sem 'devdependencies'. Para instalar qualquer pacote, informe ele apenas em 'dependencies'
Opção B: build local
Se você preferir enviar o projeto já compilado:
- Rode
npm run buildna sua máquina. - Certifique-se de incluir a pasta oculta
.nextsem a subpastacacheno seu arquivo de compactação (.zip).
3. Configuração do package.json
O ponto mais crítico para o funcionamento do Next.js na Square Cloud é a porta. O comando next start padrão utiliza a porta 3000, mas para produção use a porta 80.
Ajuste seu script de início no package.json:
{
"scripts": {
"dev": "next dev",
"build": "next build",
"start": "next start -p 80"
}
}
4. Realizando o deploy
- Compactação: Crie um arquivo
.zipcontendo seu código fonte, opackage.jsone (se optou pela Opção B) a pasta.next. Nunca inclua a pastanode_modules. - Upload: No Dashboard da Square Cloud, clique em enviar nova aplicação.
- Publicação Web: No menu de envio, ative a opção "Publicar na Web".
- Subdomínio: Defina o nome do seu subdomínio gratuito (ex:
meu-site.squareweb.app). - Comando de Início: O comando padrão será:
npm run start5. Domínios personalizados (plano Standard ou superior)
Para projetos profissionais, você pode configurar seu próprio domínio (ex: www.seusite.com.br):
- Realize o apontamento na aba Network do Dashboard.
- A Square Cloud fornece SSL (HTTPS) automático e gratuito para o seu domínio, garantindo segurança e melhores rankings no SEO.
6. Dicas de otimização
- Variáveis de Ambiente: Utilize a aba ENV no Dashboard para definir variáveis como
NEXT_PUBLIC_API_URL. Lembre-se que variáveis que começam comNEXT_PUBLIC_são expostas no lado do cliente. - Logs: Utilize o terminal do Dashboard para acompanhar o processo de hidratação e possíveis erros de SSR.
7. Extra: CI/CD
Temos uma GitHub Action que facilita a atualização do seu projeto com menor downtime possível. Esta é uma opção onde você não precisa buildar na Square, portanto, na Square haverá apenas o comando de 'start' sem o build. Você pode criar um workflow como este para atualizar seu projeto a cada tag lançada:
name: "Deploy Nextjs app"
on:
push:
tags:
- "v*"
jobs:
build-and-deploy:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: actions/setup-node@v6
with:
node-version: 24
- name: Install dependencies
run: npm install
- name: Build website
run: npm run build && chmod -R 777 .next next.config.ts package.json
- name: Add website to zip
run: zip -r project.zip package.json .next next.config.ts public -x ".next/cache/*"
- name: Deploy on Square Cloud
uses: squarecloudofc/github-action@v2
with:
command: commit --file project.zip ${{ secrets.SQUARECLOUD_APP_ID }} --restart
token: '${{ secrets.SQUARE_CLOUD_TOKEN }}'
A Action da Square, usada no final, já instala a CLI, faz o login e envia o commit para a aplicação.
Atualizado em: 06/05/2026
Obrigado!
