Next.js è oggi la scelta predefinita se stai creando un sito web o un'applicazione in React che deve caricarsi velocemente e posizionarsi bene nei risultati di ricerca. Il rendering lato server e l'App Router fanno una differenza che una classica applicazione SPA composta da un semplice build statico non può offrire. Il problema è che un'applicazione di questo tipo richiede un processo Node.js in esecuzione in background, non solo una directory con file HTML, quindi l'hosting su un hosting condiviso standard di solito non funziona. Su Saplo, installi Next.js come qualsiasi altra applicazione dal catalogo, e Saplo lo esegue immediatamente come servizio gestito con riavvio automatico. Di seguito, ti mostriamo come farlo da zero, inclusa la connessione del tuo repository Git.
Next.js su Saplo, a chi è destinato?
Prima di iniziare l'installazione, verifica se è la scelta giusta per il tuo progetto:
- hai o stai creando un progetto in Next.js con App Router - Saplo rileva la struttura del progetto ed esegue
next startcome servizio, non devi scrivere tu stesso la configurazione di pm2 o systemd, - hai bisogno di SSR o ISR, non solo di una build statica - se il tuo sito è completamente statico, uno stack React o Astro dallo stesso Catalogo delle applicazioni sarà più economico e leggero,
- vuoi implementazioni con
git pushinvece del caricamento manuale dei file - colleghi il repository una volta, e ogni push sul branch di produzione costruisce e implementa automaticamente una nuova versione, - la tua fattura per l'hosting del progetto, che oggi si trova su Vercel o Netlify, sta aumentando - migri il codice uno a uno,
next.config.*rimane invariato, paghi per il Box invece che per il consumo delle funzioni.
Se il tuo progetto è un frontend puro senza bisogno di rendering lato server, controlla nel Catalogo delle applicazioni lo stack React o Astro; entrambi sono più leggeri ed economici da mantenere.
Requisiti
Per ospitare Next.js su Saplo, hai bisogno di:
- Un Box nel piano L o superiore - Saplo raccomanda ufficialmente questo livello per Next.js, perché il rendering lato server richiede più RAM rispetto a un normale sito statico; i piani inferiori sono sufficienti solo per un traffico di test molto ridotto.
- Un minimo di 512 MB di RAM libera e 2 GB di spazio su disco solo per il processo dell'applicazione.
- Un Dominio o sottodominio
*.saploapp.plincluso in ogni piano, dove verrà ospitata l'applicazione. - Un repository Git su GitHub, GitLab o Bitbucket, se vuoi utilizzare il deploy automatico (opzionale per iniziare, puoi anche caricare l'applicazione come archivio
.ziptramite il Pannello). - Di solito NON hai bisogno di un database separato, a meno che la tua applicazione non si connetta a uno; Saplo non te lo impone.
Installazione passo dopo passo
- Nel Pannello Saplo, vai su Catalogo delle applicazioni e seleziona Next.js (categoria "Framework").
- Seleziona un Box del piano L o superiore e il nome dell'applicazione - da questo verrà creato il sottodominio predefinito
<name>.saploapp.pl; puoi aggiungere il tuo Dominio ora o in seguito. - Conferma l'installazione. Il motore provisiona il modulo sul Box e avvia lo scheletro di Next.js (equivalente a
create-next-app), in modo che ci sia subito qualcosa da vedere sotto il Dominio prima di distribuire il tuo codice. - Saplo avvia l'applicazione come servizio gestito con riavvio automatico, e nginx sul Box instrada il traffico dal Dominio alla porta del processo Next.js.
- Al termine dell'installazione, il Dominio del passo 2 mostra una pagina iniziale funzionante - da questo momento puoi distribuire il tuo progetto su di essa.
Deploy del tuo codice tramite Git
- Nei dettagli dell'applicazione, trova la sezione Git / CI-CD e clicca su "Connetti GitHub", conferma l'installazione dell'app "Saplo Deploy" sul tuo account o organizzazione e indica il repository con il progetto Next.js.
- Nella directory principale del repository, deve essere presente il file
saplo.yaml, lo genererai con il comandosaplo initoppure lo scriverai manualmente (esempio sotto). - Esegui il commit e il push del file
saplo.yamlsul branch di produzione (di defaultmain, lo cambierai nella sezionebranches.productiondello stesso file). - Ogni successivo
git pushsu questo branch avvia una build e un deploy automatici, lo stato lo vedi nel pannello nella scheda Deploymenti e come un indicatore verde o rosso accanto al commit su GitHub. - Se la build o l'healthcheck falliscono, la precedente versione funzionante dell'applicazione rimane al suo posto, Saplo non la sostituisce con una danneggiata.
Esempio di un file saplo.yaml minimo per Next.js:
name: my-project
stack: nextjs
runtime:
node: "22"
build:
install: npm ci
command: npm run build
start:
command: npm start
port: 3000
Il push di questo file è uguale a qualsiasi altro commit:
git add saplo.yaml
git commit -m "add saplo.yaml"
git push origin main
Next.js su Saplo vs. alternative
| Vercel / Netlify | VPS proprio | Next.js su Saplo | |
|---|---|---|---|
| Modello di fatturazione | consumo di funzionalità e trasferimento, aumenta con il traffico | costo fisso del server, tutta la configurazione manuale | costo fisso del Box, nessuna tariffa per le chiamate |
| Distribuzioni da Git | sì, nativo | devi assemblarlo tu (CI/CD, webhook) | sì, git push per il ramo di produzione |
| Configurazione del server | nessuna, completamente gestito | completa, ma tutto il lavoro è tuo | servizio gestito con riavvio automatico, senza pm2 e systemd manuali |
| Migrazione di un progetto esistente | punto di partenza | richiede la costruzione dell'ambiente da zero | next.config.* rimane invariato, aggiungi solo saplo.yaml |
| Dominio personalizzato e SSL | incluso nel piano | lo configuri tu | incluso in ogni piano, certificato automatico |
Domande frequenti
Devo collegare Git subito, o posso iniziare senza?
Puoi iniziare senza Git. L'installazione dal Catalogo delle applicazioni crea uno scheletro Next.js funzionante e puoi effettuare la prima distribuzione del tuo codice caricando un archivio .zip nel Pannello. Puoi collegare Git in qualsiasi momento successivo.
Perché si raccomanda il Box L e non un piano inferiore? Perché il rendering lato server (SSR) mantiene il processo Node.js costantemente in memoria e risponde a ogni nuova richiesta, a differenza di una pagina statica, che una volta costruita risiede sul disco. I piani inferiori sono sufficienti per i test, ma sotto un traffico di produzione reale mancheranno di RAM sufficiente. Il Box L costa 139 € all'anno.
Cosa succede se il file saplo.yaml non è presente nel repository?
Alla prima distribuzione senza questo file, il deploy fallirà. Nelle distribuzioni successive, se il file scompare da un commit specifico, Saplo utilizzerà la configurazione dell'ultima distribuzione riuscita.
Devo impostare manualmente la porta dell'applicazione?
Non devi, la porta predefinita è 3000 e la maggior parte dei progetti Next.js non richiede la sua modifica. Se la tua applicazione la cambia, impostala nella sezione start.port del file saplo.yaml.
Posso avere più applicazioni Next.js su un singolo Box? Sì, il Catalogo delle applicazioni consente di installare molti moduli su un singolo Box, ciascuno con il proprio sottodominio o Dominio, finché ci sono sufficiente RAM e spazio su disco assegnati al piano.
Puoi configurare Next.js su Saplo da zero a un Dominio funzionante in pochi minuti, e ogni git push successivo distribuisce una nuova versione senza il tuo intervento. Se stai migrando un progetto esistente da Vercel o Netlify e qualcosa non funziona come dovrebbe, scrivici, ti aiuteremo a scegliere la configurazione in saplo.yaml.
- #Git Deploy
- #JavaScript
- #Next.js
- #Guida
- #React
