Vai al contenuto principale

Introduzione

Per sviluppare e ospitare su Square Cloud, è essenziale seguire una sequenza strutturata di configurazioni e prerequisiti. Questa guida tecnica coprirà l’intero processo, dalla configurazione iniziale al deploy in produzione.

Prerequisiti

  • Account Square Cloud: Registrati tramite la pagina di registrazione usando la tua email.
  • Piano a pagamento attivo: Garantisce risorse dedicate e prestazioni ottimizzate per la tua applicazione. Consulta i nostri piani disponibili e scegli quello più adatto alle tue esigenze.

Creazione del progetto

Prima di iniziare, assicurati di avere Node.js e npm installati sul tuo sistema. Se non li hai ancora, puoi scaricarli dal sito ufficiale di Node.js. Per creare un nuovo progetto Next.js, esegui il seguente comando:
npx create-next-app@latest my-app
In questo comando, my-app è il nome del tuo nuovo progetto. Puoi sostituire my-app con qualsiasi nome desideri per il tuo progetto. Il comando npx è uno strumento fornito con npm, il gestore di pacchetti di Node.js. Viene utilizzato per eseguire pacchetti Node.js installati localmente nel tuo progetto oppure disponibili in remoto sul registro npm. create-next-app è un pacchetto disponibile sul registro npm che configura automaticamente un nuovo progetto Next.js. Si occupa di tutta la configurazione iniziale, come la creazione della directory del progetto, l’installazione delle dipendenze necessarie e la configurazione dei file di base. @latest è un tag che specifica che vuoi utilizzare l’ultima versione del pacchetto create-next-app. Questo garantisce che tu stia sempre usando la versione più aggiornata e, di conseguenza, che tu abbia accesso alle funzionalità più recenti.

Configurazione della porta 80

La porta 80 è la porta predefinita per il traffico HTTP. Per ospitare un sito web Next.js su Square Cloud, è fondamentale configurare l’uso della porta 80. In Next.js, puoi impostare il parametro -p 80 nello script di avvio per garantire che il tuo sito web funzioni correttamente su questa porta.
package.json
{
  "name": "my-app",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "dev": "next dev",
    "build": "next build",
    "start": "next start -p 80",
    "lint": "next lint"
  },
  "dependencies": {
    "react": "^18",
    "react-dom": "^18",
    "next": "14.1.0"
  },
  "devDependencies": {
    "autoprefixer": "^10.0.1",
    "postcss": "^8",
    "tailwindcss": "^3.3.0",
    "eslint": "^8",
    "eslint-config-next": "14.1.0"
  }
}

Compilazione del progetto

Genera l’output di produzione prima di caricare:
npm run build
Questo genererà il bundle di Next.js per la produzione, creando la cartella .next.

Distribuzione

Dopo aver preparato i file del tuo progetto, puoi ora caricarli su Square Cloud e ospitare il tuo progetto. Per farlo, crea un file ZIP contenente tutti i file del tuo progetto.
Assicurati di non includere la cartella cache da .next.

Tramite dashboard

1

Accedi alla pagina di upload

Accedi alla pagina di upload e carica il file zip del tuo progetto.
2

Configura il tuo ambiente

Dopo aver caricato il tuo zip, dovrai configurare il nome, il file principale o il runtime environment e altre impostazioni per il tuo progetto.
Se stai caricando un progetto web, assicurati di selezionare “Web Publication” e di impostare un sottodominio per il tuo progetto.
3

Esegui il deploy del tuo progetto

Infine, clicca sul pulsante “Deploy” per ospitare il tuo progetto su Square Cloud.
Dopo il deploy, puoi monitorare lo stato e i log del tuo progetto dalla dashboard.
Caricamento dell'applicazione su Square Cloud

Tramite CLI

Per utilizzare questo metodo, devi creare un file di configurazione chiamato squarecloud.app nella directory principale del tuo progetto. Questo file conterrà la configurazione necessaria per il tuo progetto.

Scopri di più su: come creare il file di configurazione per Square Cloud.

Il file squarecloud.app è un file di configurazione che verrà utilizzato per configurare la tua applicazione; verrà usato per definire il tuo ambiente.
1

Installa la CLI

Per prima cosa, devi avere la CLI installata nel tuo ambiente. Se non la hai ancora, esegui il seguente comando nel tuo terminale:
npm install -g @squarecloud/cli
Se la hai già, ti consigliamo di aggiornarla. Per farlo, esegui il seguente comando nel tuo terminale:
squarecloud update
2

Autenticati

Ora, per autenticarti e utilizzare gli altri comandi della CLI, troverai la tua chiave di autorizzazione qui cliccando su “Request API Key”. Dopo aver ottenuto la tua chiave di autorizzazione, esegui il seguente comando:
squarecloud auth login
3

Carica il tuo progetto

Infine, per eseguire il deploy della tua applicazione su Square Cloud tramite la CLI, devi eseguire il seguente comando:
squarecloud upload 
Oppure, se hai creato lo zip manualmente, puoi usare:
squarecloud upload --file <path/to/zip> 

Risorse aggiuntive

Per maggiori informazioni su Next.js e i suoi strumenti, visita la documentazione ufficiale di Next.js. Lì troverai guide dettagliate, tutorial e documentazione delle API per aiutarti a sfruttare al meglio Next.js.

CI/CD

Abbiamo una GitHub Action che semplifica l’aggiornamento del tuo progetto. Puoi vedere di più qui
Puoi creare un workflow come questo:
name: "Deploy Nextjs app"
on:
  push:
    tags:
      - "v*"
jobs:
  build-and-deploy:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: actions/setup-node@v4
        with:
          node-version: 22

      - 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 }} 
          token: '${{ secrets.SQUARE_CLOUD_TOKEN }}'

Risoluzione dei problemi

Dominio personalizzato

Per utilizzare un dominio personalizzato (ad esempio, mysite.com) invece dell’URL predefinito mysite.squareweb.app, hai bisogno del piano Standard o superiore. Il sottodominio è definito dal campo SUBDOMAIN nel file di configurazione.

Requisiti minimi di RAM

Minimo: 512MB di RAM per siti web/API semplici. Per siti con framework (Next.JS, React, Vue, Angular, ecc.), consigliamo sempre almeno 1GB di RAM. Per applicazioni più grandi, alloca più RAM per evitare che l’applicazione esaurisca la memoria e si arresti in modo anomalo.

Impossibile trovare questo sito.

Verifica che il sottodominio/dominio corrisponda a quanto configurato nel campo SUBDOMAIN o nelle impostazioni del dominio personalizzato. Se hai appena caricato il sito, attendi fino a 60 secondi affinché Square abiliti il primo accesso.

Il sito ha impiegato troppo tempo per rispondere…

Verifica di aver configurato correttamente la porta 80 e l’host 0.0.0.0 nell’applicazione. Consigliamo di utilizzare le variabili d’ambiente forzate di Square: PORT e HOST dal file .env.

Contattaci

Se continui a riscontrare difficoltà tecniche, il nostro team di supporto specializzato è disponibile ad assisterti. Contattaci e saremo felici di aiutarti a risolvere qualsiasi problema.