Dans mon précédent article, je décrivais comment Coolify avait structuré mes déploiements sur VPS. Aujourd’hui, on pousse l’idée plus loin : est-ce qu’on peut transformer n’importe quelle machine — ordinateur portable, PC fixe ou VPS — en une plateforme d’hébergement accessible depuis Internet ?
La réponse est oui. Et la combinaison Coolify + Cloudflare Tunnel est ce qui rend ça possible, même dans des configurations réseau réputées difficiles.
Le piège caché : le CGNAT
Avant de commencer, un point souvent ignoré dans les guides d’auto-hébergement : le CGNAT (Carrier-Grade NAT).
De nombreux FAI mutualisent une seule IP publique entre plusieurs abonnés. Concrètement, même avec une redirection de port parfaitement configurée sur votre routeur, vos services restent hors de portée depuis l’extérieur.
Comment vérifier si vous êtes concerné ?
- Dans les paramètres de votre routeur, notez l’IP affichée en WAN / Internet.
- Comparez avec l’IP publique visible sur whatsmyip.org.
- Si les deux adresses diffèrent, vous êtes derrière CGNAT.
Plage CGNAT typique :
100.64.0.0→100.127.255.255
Pas d’inquiétude — les tunnels Cloudflare sont précisément conçus pour contourner ce problème. Et Coolify apporte l’interface et l’orchestration qui transforment le tout en une vraie plateforme de déploiement.
La stack : votre propre Vercel, chez vous ou sur VPS
L’objectif : marier Coolify (gestion et déploiement des apps) avec Cloudflare Tunnel (exposition sécurisée sur Internet sans ouverture de port). Résultat : une alternative auto-hébergée à Vercel, Netlify ou Heroku — sur votre propre matériel.

Étape 1 — Installer Coolify
L’installation se fait en une seule commande, que vous soyez en local ou sur un VPS distant :
curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash
Ce script prend également en charge l’installation de Docker Engine s’il n’est pas déjà présent.
Si vous travaillez sur votre PC en local, lancez cette commande directement dans votre terminal.
Si vous utilisez un VPS, connectez-vous d’abord en SSH :
ssh user@<ip-du-vps>
puis exécutez la commande d’installation.
Une fois l’installation terminée, accédez au tableau de bord depuis votre navigateur :
- Machine locale → http://localhost:8000
- VPS →
http://<votre-ip-publique>:8000
Créez votre compte administrateur. Vous disposez désormais d’une interface capable de déployer Node.js, Next.js, Python, WordPress ou n’importe quelle base de données directement depuis votre infrastructure.

Étape 2 — Déployer un projet de démonstration
Pour valider la configuration, déployons un projet depuis un dépôt GitHub public.
- Dans Coolify, choisissez “Dépôt public”.
- Collez l’URL du dépôt. Pour la démo :https://github.com/sony-level/Portfolio_Website
- Sélectionnez Docker comme Build Pack, puis cliquez sur Continuer.

Avant de lancer le déploiement, vérifiez la section Réseau — c’est indispensable pour lier un domaine personnalisé par la suite :
| Champ | Valeur |
|---|---|
| Ports exposés | 3000 |
| Mappings de ports | 3000:3000 |
Cliquez sur Déployer. Une fois le build terminé, Coolify génère une URL au format :
http://xo0gcogkks04ks4sgkk84oww.<votre-ip>.sslip.io
Ce lien est-il accessible ?
- Oui (VPS ou FAI sans CGNAT) → votre alternative Vercel est en ligne. Félicitations.
- Non (CGNAT ou machine locale) → passez à l’étape 3.
En attendant, votre application reste accessible localement. Si Coolify tourne sur
http://10.0.0.1:8000/, votre app répond surhttp://10.0.0.1:3000/.
Domaine personnalisé sans CGNAT
Pour associer votre propre domaine :
- Ajoutez un enregistrement DNS de type A ciblant votre IP publique.
- Dans Coolify, mettez à jour le champ Domaine de votre application.
- Enregistrez et redéployez.
Étape 3 — Contourner le CGNAT avec Cloudflare Tunnel
Si votre URL publique reste inaccessible, voici comment exposer vos services proprement et en toute sécurité.
3.1 Installer cloudflared
Téléchargez et installez cloudflared depuis la documentation officielle Cloudflare.
3.2 Authentifier votre machine
cloudflared tunnel login
Un navigateur s’ouvre pour autoriser l’accès à votre compte Cloudflare.
3.3 Créer un tunnel
cloudflared tunnel create <NOM_DU_TUNNEL>
Cette commande retourne un UUID. Conservez-le, vous en aurez besoin pour les étapes suivantes.
3.4 Fichier de configuration
Dans le répertoire ~/.cloudflared/, créez un fichier config.yml :
url: http://localhost:8000
tunnel: <VOTRE-UUID>
credentials-file: /root/.cloudflared/<VOTRE-UUID>.json
3.5 Associer un sous-domaine
Assurez-vous que votre domaine principal est bien géré dans Cloudflare, puis :
cloudflared tunnel route dns <UUID-ou-NOM> <sous-domaine.exemple.com>
3.6 Lancer le tunnel
cloudflared tunnel run <UUID-ou-NOM>
Si vous gérez plusieurs tunnels, spécifiez le chemin de configuration :
cloudflared tunnel --config /chemin/vers/config.yml run <NOM>
3.7 Vérifier l’état du tunnel
cloudflared tunnel info
Visitez sous-domaine.exemple.com : votre tableau de bord Coolify est maintenant accessible depuis n’importe où, en HTTPS, sans port ouvert.
Étape 4 — Exposer votre application sur son propre sous-domaine
Le tunnel pointe actuellement vers Coolify (port 8000). Pour diriger le trafic directement vers votre application (port 3000), ajoutez une route dédiée.
Via le tableau de bord Cloudflare
- Accédez à Réseaux > Tunnels.
- Cliquez sur votre tunnel → Routes → Ajouter une route.
- Sélectionnez Application publiée.
- Renseignez :
- Sous-domaine :
www - URL du service :
http://localhost:3000
- Sous-domaine :
- Cliquez sur Ajouter la route.
Mise à jour dans Coolify
- Ouvrez votre projet → Configuration > Général.
- Modifiez le champ Domaines :
www.exemple.com - Enregistrez et redéployez.
Résultat
Votre application — qu’elle tourne sur un vieux laptop recyclé ou un VPS à 5€/mois — est maintenant accessible depuis n’importe quel coin du monde à www.exemple.com, en HTTPS, sans port ouvert, sans configuration réseau complexe.
C’est ça, la promesse de Coolify + Cloudflare Tunnel : une plateforme d’auto-hébergement complète, accessible à tous, quelle que soit votre configuration réseau.
Bon auto-hébergement !
