Table des matières
Tu veux connecter n8n à ta base Supabase auto-hébergée sans exposer ton port PostgreSQL au monde entier ? Voici comment faire proprement.
🧠 Ce setup repose sur deux VPS :
- VPS maître : héberge Supabase
- VPS agent : héberge n8n
Les deux sont connectés via WireGuard, et déployés via Coolify. J'ai détaillé comment faire dans cet article.
⚙️ Pré-requis
- Supabase déployé via Coolify
- Les deux VPS sont reliés par WireGuard
- Tu connais leurs IP privées WireGuard :
- VPS maître (Supabase) :
10.0.0.1
(exemple) - VPS agent (n8n) :
10.0.0.2
(exemple)
- VPS maître (Supabase) :
🧱 Étape 1 – Configurer Supabase pour écouter sur WireGuard
1.1 Modifier postgresql.conf
Depuis Coolify, ouvre un terminal dans le conteneur supabase-db-(suivi de chiffres)
:

Tape cette commande :
sed -i "s/^#listen_addresses = 'localhost'/listen_addresses = '*'/'" /var/lib/postgresql/data/postgresql.conf
1.2 Ouvrir le port 5432 sur l’IP WireGuard uniquement
Dans Coolify > Ressource Supabase > Edit Compose File
, ajoute ceci dans supabase-db
, sous volumes:
:
ports:
- "10.0.0.1:5432:5432"
🌟 Cela permet d'ouvrir le port par lequel communique PostgreSQL. Ce port ne sera visible que via le VPN, car l'adresse 10.0.0.*
est privée.
1.3 Redémarrer Supabase
Clique sur Restart, puis depuis le VPS n8n, tape :
nc -zv 10.0.0.1 5432
✅ Si open
s’affiche, c’est bon !
🌐 Étape 2 – Utiliser Supabase avec n8n : deux options
Option 1 – Utiliser Supabase pour héberger n8n
Cela permet de sauvegarder tes workflows et credentials sur un VPS séparé (le maître).
🔹 Avantage : si ton VPS agent plante, tu conserves tout.
🔸 Inconvénient : Supabase sera très sollicité. Si ton VPS maître est peu puissant, cela peut ralentir n8n.
Personnellement, je n’ai pas retenu cette option, mais elle est idéale si tu as un bon VPS ou un VPS dédié à la base de données.
Option 2 – Utiliser Supabase comme base externe pour certains workflows
Ici, n8n utilise sa propre base (via PostgreSQL local intégré à Coolify), mais se connecte à Supabase pour stocker ou lire des données spécifiques via des nodes Postgres.
🔹 Avantage : léger pour les deux VPS
🔸 Tu gères les connexions manuellement dans tes workflows
Dans ce cas, l’étape précédente suffit. Il te reste simplement à configurer les credentials dans n8n.
🛠️ Si tu choisis l’option 1 : heberger n8n sur Supabase
🔐 3.1 Récupérer les identifiants PostgreSQL
Depuis Coolify, récupère dans la ressource Supabase :
- HOST :
10.0.0.1
- PORT :
5432
- DB NAME :
postgres
- USER :
postgres
- PASSWORD : visible dans
SERVICE_PASSWORD_POSTGRES
3.2 Créer une ressource n8n
sans base intégrée
Dans Coolify (VPS agent) :
- Ne coche pas “Connect to Predefined Network”
- Dans
Environment Variables
, ajoute :
- DB_TYPE=postgresdb
- DB_POSTGRESDB_HOST=10.0.0.1
- DB_POSTGRESDB_PORT=5432
- DB_POSTGRESDB_DATABASE=postgres
- DB_POSTGRESDB_USER=postgres
- DB_POSTGRESDB_PASSWORD=ton_mdp_postgres
- DB_POSTGRESDB_SCHEMA=public
Remplace ton_mdp_postgres
par le vrai mot de passe.
Clique sur Save puis Redeploy.
✅ 3.3 – Tester la connexion
- Lance n8n via son sous-domaine
- Crée un workflow, sauvegarde-le
- Va dans Supabase et vérifie si les tables
n8n_workflow_entity
, etc. sont créées
🎉 Si oui : connexion réussie !
🧠 Bonnes pratiques & rappels de sécurité
Astuce | Pourquoi |
---|---|
🔒 Ne jamais exposer le port 5432 en public | Un scan de port, et ta base est compromise |
🥳 Utiliser WireGuard | Crée un tunnel chiffré invisible pour les échanges |
🌟 Ce que tu gagnes
- Une base Supabase privée, accessible uniquement via VPN
- Un n8n connecté directement à PostgreSQL, sans brique intermédiaire
- Une architecture scalable avec VPS agent / maître
- Et surtout… la tranquillité d’esprit 🔐
Tu n'as pas encore mis en place ton VPN pour laisser tes VPS communiquer entre eux de manière sécurisée ? ➡️ Suis le guide
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 ✌️