Node.js n'est pas un framework, mais un runtime JavaScript côté serveur. Contrairement à Next.js ou Nuxt, la pile "Node.js" du catalogue Saplo n'impose aucune convention ni structure de projet. Tu écris ton propre serveur HTTP en Express, Fastify, Koa, NestJS ou sans aucun framework, et Saplo s'assure que le processus tourne en permanence et redémarre après une panne. C'est l'option la plus universelle pour le backend du catalogue : elle convient à une API pour une application mobile, un bot Discord ou un serveur de websockets, pourvu que le projet expose lui-même un port HTTP.
À qui s'adresse Node.js sur Saplo
Avant de commencer l'installation, vérifie si c'est le bon choix pour ton projet :
- API pour une application mobile ou un frontend SPA - tu exposes REST ou GraphQL, et le frontend (React, Vue) est déployé séparément depuis le même répertoire,
- bot ou intégration en arrière-plan - webhooks, bots Discord et Slack, workers de files d'attente,
- backend sur websockets - nginx côté Saplo laisse passer l'en-tête
Upgrade, donc les connexions de longue durée fonctionnent sans configuration supplémentaire, - tu as un projet Node.js prêt et tu veux des déploiements avec
git push- tu connectes le référentiel une seule fois, et Saplo construit et redémarre le processus automatiquement.
Si ton projet est dans un framework spécifique avec sa propre convention de build et de démarrage (Next.js, Nuxt), choisis son stack dédié dans le catalogue - tu obtiendras une configuration prête à l'emploi sans avoir à spécifier manuellement la commande de démarrage.
Exigences
Pour installer Node.js sur Saplo, tu as besoin de :
- Une Box de plan L ou supérieur - le processus Node est maintenu en mémoire constante, il a donc besoin de plus de RAM qu'un site statique.
- Minimum 512 Mo de RAM libre et 3 Go d'espace disque pour le processus de l'application lui-même.
- Un domaine ou sous-domaine
*.saploapp.plinclus dans le prix de chaque plan. - Un dépôt Git, si tu souhaites utiliser le déploiement automatique (facultatif au début, tu peux aussi télécharger l'application en archive
.zipvia le panneau).
Installation étape par étape
- Dans ton Panneau Saplo, va dans le Catalogue d'applications et choisis Node.js (catégorie "Applications").
- Indique une Box de plan L ou supérieur et le nom de l'application - cela crée un sous-domaine par défaut.
- Choisis la version de Node.js (18, 20 ou 22, 20 par défaut) et valide l'installation.
- Le moteur crée un starter Express minimaliste -
package.jsonetserver.jsavec un seul endpoint - et le lance via supervisor sur le port 3000, tandis que nginx proxy le trafic du Domaine vers ce port. - Une fois l'installation terminée, le Domaine de l'étape 2 affiche le starter fonctionnel - à partir de ce moment, tu le remplaces par ton propre code via git deploy.
Déployer ton propre code via Git
- Dans les détails de l'application, trouve la section Git / CI-CD et clique sur "Connecter GitHub", confirme l'installation de l'application "Saplo Deploy" et indique le dépôt avec le projet Node.
- Place le fichier
saplo.yamldans le répertoire racine du dépôt. Contrairement aux piles avec une convention spécifique (Next.js, Nuxt), la pile Node.js n'a pas de commande de démarrage par défaut - tu dois explicitement indiquerstart.command, sinon la construction réussira, mais le processus ne démarrera pas. - Valide et pousse le fichier vers la branche de production (par défaut
main). - Chaque
git pushsuivant sur cette branche lance la construction et le redémarrage du processus, tu peux voir le statut dans l'onglet Déploiements. - Le port d'application par défaut est 3000 - nginx y dirige le trafic depuis 80/443, à moins que tu ne le modifies dans
start.port.
Exemple de fichier saplo.yaml minimal pour Node.js :
name: my-project
stack: node
runtime:
node: "22"
build:
install: npm ci
start:
command: node index.js
port: 3000
env:
NODE_ENV: production
Node.js sur Saplo vs alternatives
| Render / Railway | VPS personnel | Node.js sur Saplo | |
|---|---|---|---|
| Modèle de facturation | consommation de ressources, augmente avec le trafic | coût fixe du serveur, configuration manuelle | coût fixe de la Box |
| Déploiements Git | oui, nativement | à configurer soi-même (CI/CD) | oui, git push vers la branche de production |
| Redémarrage après un crash | entièrement géré | pm2 ou systemd manuellement | service géré avec redémarrage automatique |
| Tout framework HTTP | oui | oui | oui, sans convention imposée |
Questions fréquentes
Est-ce que n'importe quel framework - Express, Fastify, NestJS - fonctionnera ?
Oui, la stack Node.js n'impose pas de framework. Elle exige seulement que le processus écoute sur le port indiqué dans start.port (par défaut 3000).
Que se passe-t-il si j'oublie start.command dans saplo.yaml ?
Le build réussira, mais le processus ne démarrera pas. Tu verras l'erreur dans l'onglet Déploiements. Ajoute start.command et pousse une nouvelle version.
Les websockets fonctionnent-ils via Nginx de Saplo ?
Oui, le reverse proxy laisse passer l'en-tête Upgrade, donc les connexions WebSocket de longue durée fonctionnent sans configuration supplémentaire.
Puis-je avoir une base de données à côté de l'application ?
Oui, tu peux créer une base de données (Postgres, MySQL, Redis) comme application distincte à partir du catalogue et connecter la variable de connexion dans env de ton saplo.yaml.
Vais-je obtenir un SSL et mon propre Domaine ?
Oui, le certificat SSL est automatique et tu as un Domaine ou sous-domaine *.saploapp.pl inclus dans le Prix de chaque plan.
Tu peux déployer Node.js sur Saplo de zéro à un Domaine fonctionnel en quelques minutes, et chaque git push suivant redémarre le processus avec une nouvelle version sans ton intervention. Si ton projet utilise un framework spécifique avec sa propre convention (Next.js, Nuxt), vérifie sa stack dédiée dans le même catalogue.
- #Backend
- #Git Deploy
- #JavaScript
- #Node.js
- #Guide
