
Déployer Next.js sans VPS : Railway, Render ou Droplet
Évitez SSH et nginx pour un side project Next.js. Comparez Railway, Render, Vercel et un VPS, puis déployez depuis Git après avoir minifié les assets dans le navigateur.
L'app est finie. Il manque une URL.
Un next dev local n'est pas la production. Louer un VPS, c'est SSH, un gestionnaire de processus, le TLS et une nuit passée sur nginx. Pour beaucoup de projets personnels, il suffit de Git en entrée et de HTTPS en sortie, ce que fait un PaaS comme Heroku. Ce guide compare cette voie (exemple suivi : Railway) avec Vercel, Render et un Droplet classique, pour héberger une application Next.js sans devenir administrateur système.
Quand le VPS est du travail en trop
Une plateforme construit l'application depuis votre dépôt, lance le processus, assure le TLS et redémarre en cas de plantage. Vous gardez les variables d'environnement, la facture et le niveau de maturité de l'application. Vous n'avez plus Ubuntu à mettre à jour.
Améliorations
Il faut toujours minifier et compresser les ressources, garder les secrets hors de Git et surveiller les Core Web Vitals. Avec next start, Next.js compresse déjà les réponses en gzip par défaut ; pour Brotli ou un CDN, consultez notre guide sur gzip et Brotli côté serveur d'origine. Un PaaS vous évite seulement d'écrire le bloc nginx.
Bénéfices SEO
Envoyer une app Next.js sur Railway depuis Git
Railway construit votre dépôt avec Railpack par défaut (Nixpacks reste pris en charge) et lance le script start de package.json : une application Next.js standard n'exige donc aucune configuration. Connecter un dépôt GitHub est le plus simple. Le lien d'invitation ci-dessus ajoute actuellement 20 $ de crédits pour vous à l'inscription. C'est l'offre de Railway, pas un coupon FastMinify, et le montant peut changer.
1. Un dépôt qui se compile tout seul
Vérifiez que package.json contient les scripts build et start (next build et next start pour une application standard) et que le lockfile est versionné. Ne versionnez aucun secret dans .env et définissez les variables dans l'interface de Railway.
2. Créer le projet depuis GitHub
Dans Railway, créez un projet depuis GitHub et choisissez le dépôt. Le premier déploiement échoue souvent faute d'une variable d'environnement, ce qui est normal. Ajoutez DATABASE_URL ou vos clés d'API, puis redéployez.
3. Domaine généré, puis le vôtre
Utilisez l'URL générée *.up.railway.app pour vérifier que l'application démarre. Ajoutez ensuite votre propre domaine. Railway émet le certificat TLS pour vous.
4. Lire la première facture, pas la capture du tableau de bord
À la date de rédaction, le forfait Hobby coûte 5 $ par mois et inclut 5 $ d'utilisation ; Pro coûte 20 $ et en inclut 20. Au-delà, le CPU, la RAM et le trafic sortant sont facturés à l'usage, et un service arrêté ne consomme ni CPU ni RAM. Lisez la page des tarifs de Railway avant de laisser tourner un gros processus Node jour et nuit.
Checklist
Un Dockerfile s'impose quand Railpack se trompe, qu'il manque un paquet système ou que l'image fait déjà foi. Analysez-le dans le navigateur avant le premier déploiement avec le linter Dockerfile en ligne, qui applique un sous-ensemble de règles DL dans le style de Hadolint et ne construit pas l'image. Associez-le au formateur Dockerfile.
Épinglez l'image de base
Évitez FROM node:latest (DL3007) et fixez un tag précis de distribution. Railway construit ce Dockerfile s'il se trouve à la racine du dépôt.
Écoutez PORT
Ne figez pas le port 3000 en production quand la plateforme injecte PORT. next start lit lui-même la variable PORT (3000 n'est que la valeur par défaut), tout comme le server.js du mode standalone : -p $PORT est facultatif.
Erreurs qui font échouer un premier déploiement sur un PaaS
Une ligne ENV AWS_SECRET= dans le Dockerfile ou un fichier .env versionné fuit dans les logs et les couches de l'image. Les variables de Railway existent pour que l'image reste générique.
À retenir — Validez la syntaxe du fichier .env avec le validateur ENV de FastMinify, et ne collez jamais de vrais jetons dans un champ de texte public.
Vercel exécute Next.js en fonctions serverless et route les requêtes pour vous. Sur Railway, vous lancez en général next start comme processus Node de longue durée. Avec output: 'standalone', Next.js produit un dossier serveur autonome. Les fonctions liées à la plateforme Vercel, comme Edge Config ou les tâches cron, ne vous suivent pas chez un autre hébergeur.
À retenir — Lancez un build de production sur votre ordinateur avant le premier envoi vers le PaaS.
Un PaaS ne minifie pas votre JavaScript côté client. Next.js le fait pour l'application, mais pas pour un widget.js placé dans public/. Pour ces fichiers isolés, utilisez le minificateur JavaScript en ligne.
À retenir — Mesurez le transfert sur l'URL Railway, en plus de localhost.
Avant de lancer le déploiement
FastMinify travaille dans l'onglet du navigateur, ce qui aide quand le dépôt n'est pas cloné sur cette machine. Minifiez le CSS restant, passez le Dockerfile au linter et vérifiez Compose si Docker tourne encore en local.
Railway facture l'usage au-delà des crédits inclus dans le forfait. Un service oublié qui occupe 2 Go de RAM suffit à transformer un projet personnel en facture surprise. Arrêtez les services inutiles, ou activez Serverless pour qu'un service inactif se mette en veille (le trafic sortant, par exemple une connexion ouverte à une base de données, le maintient éveillé). Un Droplet jamais détruit est la même erreur sur un autre tableau de bord.
PaaS vs Vercel vs VPS
Vercel demande le moins d'effort pour un frontend Next.js. Un VPS l'emporte quand il vous faut un noyau sur mesure, un serveur de messagerie ou un accès SSH. Railway se place entre les deux : déploiement depuis Git, facturation à l'usage, et de la place pour un worker et une base de données à côté de l'application.
Si vous avez besoin de
Commencez par
Railway n'est pas la seule réponse
Une carte, pas un classement. Les tarifs et les offres gratuites évoluent : lisez la page du fournisseur avant de vous engager.
Vercel
Conçu par l'équipe de Next.js, avec la prise en charge la plus directe de l'App Router, des prévisualisations et d'Edge. Moins naturel si vous avez besoin d'un worker de longue durée ou d'une base de données classique dans le même projet, sans fournisseur supplémentaire.
Avantages :
Inconvénients :
Render
Déploiements depuis Git, services web, Postgres, workers en arrière-plan. Proche cousin de Railway. Choisissez la plateforme sur laquelle vous avez déjà un compte.
Avantages :
Inconvénients :
Droplet DigitalOcean (ou App Platform)
Un Droplet est un VPS : vous installez Node, Caddy ou nginx et certbot, et la machine vous appartient. App Platform est le PaaS de DigitalOcean. Un Droplet convient si vous travaillez déjà en SSH et voulez une adresse IPv4 publique à vous.
Avantages :
Inconvénients :
FastMinify avant la première URL de production
Le build de production de Next.js minifie le JavaScript de l'application, mais pas un widget.js copié dans public/ ni un extrait de CMS. Pour ces fichiers isolés, utilisez le minificateur JavaScript en ligne et le minificateur CSS en ligne. Quand un fichier tiers devient illisible en production, le déminificateur JavaScript en ligne le remet en forme.
Si Railway ou un autre hébergeur construit un Dockerfile, analysez-le d'abord. Si vous utilisez encore Compose en local, vous pouvez valider Docker Compose en ligne. Cherchez les clés en double dans vos fichiers .env avant de recopier les noms dans l'interface du PaaS. Tous ces outils figurent sur le hub outils DevOps en ligne.
Envoyez l'URL, gardez le VPS pour plus tard
Pour un projet Next.js personnel, avec éventuellement un worker, un PaaS demande moins de soirées qu'un Droplet. Railway est l'exemple détaillé ici (lien affilié). Vercel reste le choix par défaut pour le seul frontend Next.js, et un VPS reste la bonne option quand vous voulez du SSH. Dans tous les cas, minifiez les fichiers restants et analysez les Dockerfiles dans FastMinify : cette étape est gratuite et locale.
Préparez les assets, puis déployez où vous avez choisi
Articles connexes

Collez un token et un JWKS pour vérifier une signature RS256, ES256 ou HS256 dans le navigateur. Choix par kid, erreurs mesurées, claims à contrôler.

HTTP/2 et HTTP/3 changent le trajet des fichiers, pas leur poids. Mesures de taille, de compilation et de bundling : ce que la minification apporte encore.

Convertissez un epoch Unix en date lisible et inversement, distinguez secondes et millisecondes, et évitez les pièges de fuseau, de JWT et de changement d’heure.