
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 process manager, le TLS, et une nuit sur nginx. Pour beaucoup de side projects, il suffit de Git en entrée et HTTPS en sortie — le job d'un PaaS façon Heroku. Ce guide compare ce chemin (exemple suivi : Railway) avec Vercel, Render et un droplet classique, pour héberger une app Next.js sans devenir sysadmin.
Quand le VPS est du travail en trop
Une plateforme construit depuis le dépôt, lance le process, termine le TLS et redémarre en cas de crash. Vous gardez les variables d'environnement, la facture, et le niveau de maturité de l'app. Vous ne patchiez plus Ubuntu.
Améliorations
Il faut toujours minifier et compresser les assets, garder les secrets hors Git, et regarder les Core Web Vitals. Un PaaS ne remplace pas gzip et Brotli à l'origine ou un CDN — vous n'écrivez juste plus le bloc nginx vous-même.
Bénéfices SEO
Envoyer une app Next.js sur Railway depuis Git
Railway détecte Node (Nixpacks/Railpack). Une app Next.js standard avec un script start suffit. Préférez GitHub à un zip. Le lien d'invitation ci-dessus ajoute actuellement 20 $ de crédits pour vous à l'inscription — c'est l'offre Railway, pas un coupon FastMinify, et le montant peut changer.
1. Un dépôt qui build sans CI magique
package.json avec build et start (ou next start). Lockfile commité. Aucun secret dans .env Git — variables dans l'UI Railway.
2. Créer le projet depuis GitHub
Nouveau projet Railway → deploy from GitHub → choisir le dépôt. Le premier deploy casse souvent sur une env var manquante ; c'est normal. Ajoutez DATABASE_URL ou les clés, redéployez.
3. Domaine généré, puis le vôtre
L'URL *.up.railway.app confirme que l'app boot. Domaine custom ensuite. Le TLS est émis pour vous.
4. Regarder la première facture, pas le screenshot
Hobby inclut un petit crédit d'usage ; Pro davantage. CPU, RAM et egress hors forfait sont facturés à la seconde. Un service arrêté ne coûte rien. Lisez les tarifs Railway avant de laisser un gros process Node tourner 24/7.
Checklist
Dockerfile si Nixpacks se trompe, s'il manque un paquet système, ou si l'image est déjà la source de vérité. Lintez-le dans le navigateur : linter Dockerfile en ligne (règles DL style Hadolint, pas un build). Couplez avec le formateur Dockerfile.
Épinglez l'image de base
Évitez FROM node:latest (DL3007). Tag de distro piné. Railway build ce Dockerfile s'il est à la racine.
Écoutez PORT
Ne figez pas 3000 en production si la plateforme injecte PORT. Next.js le respecte avec next start -p $PORT ou équivalent.
Erreurs qui brûlent un premier deploy PaaS
Un ENV AWS_SECRET= dans le Dockerfile ou un .env commité fuite dans les logs et les layers. Les variables Railway existent pour que l'image reste générique.
À retenir — Validez la syntaxe .env avec le checker FastMinify ; ne collez jamais de tokens live dans un textarea public.
Sur Vercel, le routing serverless Next.js est imposé. Sur Railway vous lancez en général next start en process long. output: 'standalone' aide. Le middleware Edge purement Vercel n'apparaît pas par magie.
À retenir — Faites un build production sur le laptop avant le premier push PaaS.
Un PaaS ne minifie pas votre JS client. Next le fait pour l'app ; pas pour un widget.js dans public/. Pour ces restes, le minificateur JavaScript en ligne.
À retenir — Mesurez le transfert sur l'URL Railway, pas seulement en localhost.
Avant de cliquer sur deploy
FastMinify reste dans l'onglet — utile quand le dépôt n'est pas cloné sur cette machine. Minifiez le CSS restant, lintez le Dockerfile, vérifiez Compose si Docker tourne encore en local.
Railway facture l'usage au-delà des crédits du plan. Un service oublié avec un tas Node de 2 Go, c'est la surprise. Arrêtez les services inutiles. Même famille d'erreur qu'un Droplet jamais détruit — autre dashboard.
PaaS vs Vercel vs VPS
Vercel est le moindre effort pour un frontend Next.js. Un VPS gagne si vous voulez un noyau custom, du mail, du SSH. Railway est au milieu : deploy Git, facture à l'usage, de la place pour un worker et une base à côté de l'app.
Si vous avez besoin de
Commencez par
Railway n'est pas la seule réponse
Une carte, pas un classement. Tarifs et free tiers bougent — lisez la page vendeur avant de signer.
Vercel
L'équipe Next.js. Meilleur DX App Router, previews, Edge. Moins naturel pour un worker long ou une base classique dans le même projet sans vendeurs en plus.
Avantages :
Inconvénients :
Render
Deploys Git, web services, Postgres, workers. Cousin de Railway. Prenez le dashboard où 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, certbot, vous possédez la box. App Platform est le PaaS DigitalOcean. Mieux si vous pensez déjà en SSH et voulez une IPv4 à vous.
Avantages :
Inconvénients :
FastMinify avant la première URL de prod
Le build production Next.js minifie le JS de l'app. Pas un widget.js copié dans public/, ni un snippet CMS. Utilisez le minificateur JavaScript en ligne et le minificateur CSS en ligne. En cas de fichier vendeur illisible : déminificateur JavaScript en ligne.
Si Railway (ou un autre) build un Dockerfile, lintez-le d'abord. Compose en local : valider Docker Compose en ligne. Vérifiez les fichiers .env pour les clés en double avant de recopier les noms dans l'UI PaaS. Tout ça est sur le hub outils DevOps en ligne.
Envoyez l'URL, gardez le VPS pour plus tard
Si le job est un side project Next.js plus éventuellement un worker, un PaaS coûte moins de soirées qu'un Droplet. Railway est l'exemple détaillé (lien affilié). Vercel reste le défaut pour le seul frontend Next.js. Un VPS reste le bon choix têtu quand vous voulez du SSH. Minifiez les restes et lintez les Dockerfiles dans FastMinify dans tous les cas — gratuit et local.
Articles connexes

Convertir du texte, un fichier ou une image en Base64 (et inversement) sans backend — data URI CSS, pièce jointe email, payload JWT. 100 % local.

Compilez un extrait SCSS ou LESS (variables, mixins) en CSS dans le navigateur, sans npm run build — pour une revue, un snippet ou une machine sans Node.

Un ratio de contraste texte/fond insuffisant est l'erreur d'accessibilité la plus fréquente sur le web. Vérifiez AA/AAA en collant deux couleurs, sans plugin ni extension.