Background image: Matthieu's World Background image: Matthieu's World
Social Icons

Ton premier VPS en 30 minutes : le guide rapide pour vibecoder

8 min de lecture
Par Matthieu Cousin

Table des matières

Tu as codé ton projet. Il tourne en local. Maintenant tu veux le mettre en ligne.

Trente minutes chrono, et c'est en ligne. Pas de théorie inutile, que du concret.

C'est la version courte et remise à jour de mon guide technique complet. Ici, tu vas au plus direct : un serveur, un domaine, une app en ligne. Si tu veux le setup avancé, avec un VPN WireGuard entre plusieurs serveurs, les rebonds SSH et la restriction par IP, c'est là-bas que ça se passe.

Guide écrit en février 2026, mis à jour en septembre 2026. Le script de sécurisation est passé en v7, et une étape de fermeture des ports d'admin s'est ajoutée à la fin. Les prix cités sont ceux constatés début 2026, vérifie les grilles actuelles avant d'acheter.

Ce qu'on va faire

  1. Acheter un VPS (~5€/mois)
  2. Acheter un nom de domaine (~10€/an)
  3. Configurer le DNS
  4. Sécuriser le VPS
  5. Installer Coolify
  6. Fermer les ports d'administration
  7. Déployer ton projet

Prérequis : Un terminal SSH. Je recommande Termius (gratuit, simple).


Étape 1 : Acheter un VPS (5 min)

Mon choix : OVH

Pour ~5€/mois, tu as :

  • 4 vCPU, 8 Go RAM, 75 Go SSD
  • Backup quotidien inclus, c'est ça qui fait la différence
  • Données en France

👉 Acheter un VPS chez OVH

Alternative : Contabo (même prix, mais backup hebdo seulement), Hetzner (un peu moins cher et payable à la minute).

Ce que tu reçois par mail

Après l'achat, OVH t'envoie :

  • L'adresse IP de ton VPS
  • Le username (ubuntu ou root selon l'image que tu as choisie)
  • Le mot de passe temporaire

Note tout dans ton gestionnaire de mots de passe.


Étape 2 : Acheter un nom de domaine (5 min)

Pour que ton projet soit accessible via monprojet.com (et pas juste une IP), il te faut un nom de domaine.

Où acheter ?

Prends-le chez Cloudflare. Tu auras le domaine, le DNS et le proxy au même endroit, ce qui t'évite le montage à trois prestataires que j'ai moi-même et que je ne recommande pas. J'explique pourquoi dans l'article sur le domaine, le DNS et le SSL, avec les autres options si tu veux comparer.

Compte une dizaine d'euros par an pour un .com.

Pourquoi maintenant ? Parce que la propagation DNS peut prendre quelques minutes. En le faisant maintenant, le temps qu'on sécurise le VPS, ce sera prêt.


Étape 3 : Configurer le DNS (5 min)

Le DNS, c'est ce qui fait le lien entre ton nom de domaine et l'IP de ton VPS. Ici on pose juste les deux enregistrements qu'il faut ; si tu veux comprendre les quatre couches du système, registrar, DNS, SSL et proxy, j'ai démonté le mécanisme dans un autre article.

Ce qu'il faut créer

Dans l'interface DNS de ton registrar, crée ces deux enregistrements :

TypeNomValeurTTL
A@IP de ton VPS3600
A*IP de ton VPS3600

Le premier (@) fait pointer tondomaine.com vers ton VPS.

Le second (*) est un wildcard : il permet coolify.tondomaine.com, n8n.tondomaine.com, etc. sans config supplémentaire.

Vérifier la propagation

Utilise dnschecker.org pour vérifier que ton domaine pointe bien vers l'IP du VPS. Ça peut prendre 5-10 minutes (parfois plus).

En attendant, on passe à la sécurisation.


Étape 4 : Sécuriser le VPS (10 min)

Première connexion

Ouvre Termius et connecte-toi avec les identifiants reçus par mail :

ssh root@IP_DE_TON_VPS

Si ton image OVH t'a donné un utilisateur ubuntu plutôt que root, connecte-toi avec celui-là, tu passeras en root au moment du script.

Première chose à faire, change le mot de passe temporaire :

passwd

Exécuter le script de sécurisation

J'ai créé un script qui fait tout automatiquement :

  • Crée un utilisateur SSH dédié, avec sudo sans mot de passe
  • Génère une clé ED25519 (impossible à brute-forcer)
  • Change le port SSH (adieu le 22 par défaut, ça coupe 90% des scans)
  • Désactive l'authentification par mot de passe
  • Configure le firewall UFW en mode compatible Docker
  • Installe Fail2Ban (ban d'une heure après 5 tentatives)
  • Active les mises à jour de sécurité automatiques
  • Crée un swap de 2 Go
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/Mathunterix/script-vp-secure/main/script-vps-secure-coolify-v7.sh)"

Un assistant te pose six questions : type de serveur, nom d'utilisateur SSH, port SSH, restriction d'IP, génération de clé, et quelques options (IPv6, ICMP).

Sur le type de serveur, choisis mode 1 (Maître) si c'est ton premier VPS, celui où Coolify va tourner. Le mode Remote sert aux VPS pilotés à distance par un Coolify installé ailleurs, et c'est lui qui est proposé par défaut, donc ne valide pas sans regarder.

Attention au copier-coller. Si tu copies la commande depuis Notion ou Google Docs, les tirets peuvent être remplacés par des tirets typographiques que le terminal ne comprend pas. Copie depuis le README GitHub, ou retape les tirets à la main.

⚠️ Important : Note TOUT

Le script va te donner :

  • Un nouveau username
  • Un nouveau port SSH
  • Une clé privée SSH

Copie tout dans ton gestionnaire de mots de passe AVANT de continuer.

Tester la nouvelle connexion

Ne ferme pas ta session actuelle. Ouvre un nouvel onglet dans Termius et teste :

ssh -i ~/.ssh/ta_cle NOM_USER@IP_DU_VPS -p NOUVEAU_PORT

Si ça marche, retourne dans la première session et tape CONFIRMER. Si ça ne marche pas, ne tape rien.

C'est le filet de sécurité du script : sans confirmation de ta part dans les 5 minutes, il annule tout ce qu'il vient de faire, dans l'ordre inverse. Un Ctrl+C ou une session SSH qui tombe déclenchent le même retour en arrière. Autrement dit, tu ne peux pas te verrouiller dehors.


Étape 5 : Installer Coolify (5 min)

C'est quoi Coolify ?

Coolify, c'est un logiciel qui te donne accès à plein d'autres logiciels (Supabase, N8N, PostgreSQL...) et te permet de les installer en un clic, sans taper de lignes de commande.

Chaque logiciel tourne dans son propre conteneur, isolé des autres. Si une ressource a un problème, elle ne contamine pas le reste. Plus de problèmes de packages incompatibles. Et tu gères les mises à jour facilement.

Installation

curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash

Tu peux retrouver ce script ici.

Attends quelques minutes. À la fin, tu obtiens une URL :

http://IP_DE_TON_VPS:8000

→ Ouvre cette URL et crée ton compte admin.

Configurer le domaine HTTPS

Deux réglages à faire, et ils ne servent pas à la même chose.

D'abord le domaine de Coolify lui-même, dans Settings → General → FQDN. Entre https://coolify.tondomaine.com. C'est ce qui te permet d'accéder au dashboard en HTTPS au lieu de l'IP et du port 8000.

Ensuite le wildcard, qui sert à tes futures apps :

  1. Serverslocalhost
  2. Champ Wildcard Domain
  3. Entre : https://tondomaine.com
  4. Save
  5. Restart Proxy

Important : bien mettre https:// au début dans les deux cas. Coolify génère automatiquement le certificat SSL via Let's Encrypt. Ce que fait vraiment ce certificat, et pourquoi tu n'as plus à le payer, c'est expliqué ici.

Avant de passer à la suite, vérifie que https://coolify.tondomaine.com répond bien. L'étape suivante en dépend.


Étape 6 : Fermer les ports d'administration (2 min)

C'est l'étape que tout le monde saute, et c'est la plus importante du guide.

Pendant l'installation, Coolify a ouvert les ports 8000, 6001 et 6002 sur Internet. C'est normal, il en a besoin pour que tu crées ton compte admin avant d'avoir un domaine.

Sauf qu'une fois le HTTPS en place, ces ports n'ont plus aucune raison d'être joignables depuis l'extérieur.

Résultat ? Ton dashboard reste accessible en clair sur le port 8000, par n'importe qui connaissant ton IP.

Il y a un piège en plus : Docker écrit ses propres règles dans iptables et passe devant UFW. Fermer un port dans UFW ne suffit donc pas pour un port publié par un conteneur, il faut aussi bloquer côté Docker.

Le second script fait les deux :

sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/Mathunterix/script-vp-secure/main/securisation-post-coolify.sh)"

D'abord il vérifie que ton domaine HTTPS répond. Logique : te couper le port 8000 alors que le HTTPS ne marche pas encore, ça te laisserait sans aucun accès au dashboard.

Ensuite il ferme 8000, 6001 et 6002, côté UFW et côté Docker.

Et si tu as installé Supabase, il ferme aussi 5432 et 6543. Ta base n'a rien à faire sur Internet.

Même filet qu'à l'étape 4 : si tu ne confirmes pas dans les 5 minutes, tout est restauré.

À la fin, il ne reste que trois portes ouvertes sur ton serveur : ton port SSH, le 80 et le 443.


Étape 7 : Déployer ton projet (5 min)

Préparer ton projet pour Coolify

Avant de déployer, demande à Claude de créer un Dockerfile adapté :

"Crée un Dockerfile pour mon projet en suivant les bonnes pratiques de déploiement Coolify."

Pourquoi un Dockerfile plutôt que le mode automatique ? Je détaille la raison ici, avec les trois autres pièges du passage en production. En attendant : avec un Dockerfile, tu contrôles ce qui se passe.

Le truc, c'est que Claude connaît Docker, mais pas les contraintes propres à Coolify. Il va te générer un docker-compose.yaml valide pour Docker et cassé pour Coolify, avec une section networks: qui provoque des 504 une fois sur trois et des ports: qui exposent tes services sur Internet en clair.

📥 Télécharge ma documentation Coolify, le fichier que je donne à Claude avant chaque déploiement. Les quatre interdits, la checklist Next.js, et les pièges qui ne laissent rien dans les logs.

Déployer depuis GitHub

  1. Dans Coolify : Projects → + Add
  2. Crée un environnement (ex: "production")
  3. + New Resource → Application
  4. Connecte ton repo GitHub
  5. Sélectionne Dockerfile comme méthode de build
  6. Configure ton domaine : https://monprojet.tondomaine.com
  7. Deploy

Coolify va :

  • Cloner ton repo
  • Builder l'image Docker
  • Générer le certificat SSL
  • Lancer ton app

Ajouter les variables d'environnement

Dans les settings de ton application : Environment Variables

Copie toutes les variables de ton .env.local. Attention aux URLs : remplace localhost par ton vrai domaine.


Checklist finale

  • ☐ VPS acheté et accessible
  • ☐ Nom de domaine acheté
  • ☐ DNS configuré (A + wildcard)
  • ☐ Script de sécurisation exécuté et confirmé
  • ☐ Nouvelle connexion SSH testée
  • ☐ Coolify installé
  • ☐ FQDN et wildcard domain configurés
  • ☐ Ports 8000, 6001, 6002 fermés
  • ☐ Projet déployé et en ligne

Problèmes courants

"Permission denied" lors du déploiement

Vérifie que ta clé SSH GitHub est bien configurée dans Coolify (Settings → Keys & Tokens).

Le site affiche une erreur 502

Regarde les logs dans Coolify (Deployments → Logs). Souvent c'est une variable d'environnement manquante.

Le certificat SSL ne se génère pas

Vérifie que ton DNS pointe bien vers l'IP du VPS (dnschecker.org). Attends 5-10 min si tu viens de le configurer. Si ça résiste, le problème vient presque toujours d'une couche que tu crois avoir configurée et qui ne l'est pas.

Coolify inaccessible après sécurisation

Si c'est après l'étape 4, le script ouvre automatiquement les ports 80 et 443. Vérifie avec sudo ufw status.

Si c'est après l'étape 6, c'est normal : le port 8000 est fermé pour de bon. Passe par https://coolify.tondomaine.com. Et si ce domaine ne répond pas non plus, laisse filer les 5 minutes sans confirmer, le script restaure tout.

Bonus : installer Claude Code sur ton VPS

Si tu as des problèmes sur ton VPS, Claude Code peut t'aider à les résoudre. Mais pour ça il doit avoir accès au code, et il ne l'a que si tu l'installes directement sur le serveur. Voici comment faire, très rapidement.

Dans ton terminal, tu tapes :

curl -fsSL https://claude.ai/install.sh | bash

Pour aller plus loin

Ce guide te donne le minimum pour déployer. Si tu veux aller plus loin :

📺 Ma playlist VPS complète (9 vidéos)
Sécurisation avancée, Supabase self-hosted, backups S3, monitoring.

📝 Sauvegarder son infrastructure
S3 Storage avec Scaleway, backup PostgreSQL automatique.

📝 Ce qui marche en dev mais pas en prod
Les pièges du déploiement et comment les éviter.

Tu veux mon workflow complet ?

Dans mon accompagnement, je te donne :

  • Mon script de sécurisation à jour
  • Ma documentation Coolify pour Claude
  • Mes templates de Dockerfile par stack
  • Mon workflow de déploiement continu

Découvrir l'accompagnement

Besoin d’un coup de main pour cette partie technique ?

Je sais que parfois, même bien expliqué, un workflow reste intimidant.
Si tu préfères qu’on le mette en place ensemble, contacte-moi : je suis freelance en automatisation, et je peux t’aider à passer de “je devrais le faire” à “c’est déjà en place”.

Sinon, continue de piocher dans les ressources du site, elles sont faites pour ça ✌️

Commentaires