Business Digital

Installer NocoDB sur Coolify : tutoriel pratique 2026

11 min de lecture

NocoDB transforme une base PostgreSQL ou MySQL existante en interface no-code à la Airtable, avec vues grille, kanban, calendrier, formulaires publics et API REST générée automatiquement. Pour une PME ouest-africaine qui veut donner un outil de saisie collaboratif à des équipes terrain (commerciaux, livreurs, comptables) sans payer 24 USD par utilisateur sur Airtable, le déploiement NocoDB self-hosted via Coolify devient une option imbattable. Ce tutoriel pas-à-pas montre comment installer NocoDB en moins de trente minutes sur un VPS Hetzner, le sécuriser correctement, et brancher une première base PostgreSQL externe.

Le parcours suppose une instance Coolify déjà fonctionnelle. Si ce n’est pas le cas, l’installation Coolify se fait via le script officiel curl -fsSL https://cdn.coollabs.io/coolify/install.sh | sudo bash documenté dans le tutoriel d’installation ClickHouse sur Coolify qui couvre la même mécanique de prérequis VPS, DNS et certificat TLS automatique. Une fois Coolify en place, NocoDB s’ajoute comme service via le catalogue intégré.

📍 Guide principal : NocoDB 2026 : alternative open source à Airtable — vue d’ensemble du produit, cas d’usage PME et limitations. À lire avant ce tutoriel d’installation pour cadrer le projet.

Pourquoi déployer NocoDB via Coolify plutôt qu’en direct

NocoDB est distribué officiellement comme image Docker, ce qui rend possible un déploiement via docker run ou un docker-compose.yml à la main. Le passage par Coolify apporte trois bénéfices opérationnels concrets. Premier bénéfice : la console graphique partagée entre développeurs et exploitants évite les SSH récurrents pour redémarrer un service ou consulter les logs. Deuxième bénéfice : Traefik intégré (proxy par défaut Coolify) gère automatiquement le certificat TLS Let’s Encrypt et la redirection HTTPS, ce qui évite la configuration manuelle d’un reverse proxy nginx. Troisième bénéfice : les sauvegardes automatiques vers S3 ou stockage compatible se configurent dans une fiche, sans script cron à maintenir.

La limite à connaître : NocoDB n’a pas de mode cluster managé. Coolify déploie une instance unique. Pour une PME jusqu’à 200 utilisateurs simultanés et 100 000 lignes par table, c’est largement suffisant. Au-delà, basculer vers un cluster Kubernetes ou un déploiement avec réplication PostgreSQL externe devient pertinent — mais pas pour la vaste majorité des cas d’usage PME ouest-africains.

Prérequis avant de commencer

  • Un VPS Linux récent (Debian 12 ou Ubuntu 24.04 LTS) avec 2 vCPU et 4 Go de RAM minimum. Hetzner CX22 (≈ 4,15 EUR/mois, environ 2 700 FCFA) ou Contabo VPS XS suffisent pour démarrer.
  • Coolify v4 installé et accessible via son interface web HTTPS.
  • Un nom de domaine pointant vers l’IP publique du VPS, avec un sous-domaine dédié (par exemple nocodb.exemple.com) — DNS propagé avant l’étape 4.
  • Une base PostgreSQL ou MySQL externe pour stocker les métadonnées NocoDB (recommandé en production) ou acceptation du SQLite intégré pour démarrer rapidement.
  • Accès admin sur Coolify et compte SMTP fonctionnel pour les emails NocoDB (invitations, mots de passe oubliés).

Le mode SQLite intégré est confortable pour un POC ou un usage interne moins de 50 utilisateurs. Pour un déploiement production multi-équipes, basculer immédiatement sur PostgreSQL externe — la migration ultérieure existe mais reste fastidieuse.

Étape 1 — Provisionner une base PostgreSQL externe pour NocoDB

NocoDB stocke deux choses : ses métadonnées internes (utilisateurs, projets, vues) et les données métier (les « bases » que NocoDB expose). Les deux peuvent vivre dans la même PostgreSQL ou être séparées. La séparation est recommandée : une base nocodb_meta pour les métadonnées, une ou plusieurs bases métier connectées en sources de données externes. Cela facilite les sauvegardes différenciées et les migrations futures.

Dans Coolify → projet tools-prod → environnement production, cliquez + New ResourceDatabasePostgreSQL. Nommez l’instance postgres-shared, gardez la version 16 ou 17 par défaut, acceptez les volumes persistants. Coolify génère un mot de passe pour l’utilisateur admin — copiez-le dans votre coffre-fort. Cliquez Deploy et attendez l’état Running (deux à trois minutes).

-- Connexion via le terminal Coolify de l'instance postgres-shared
CREATE DATABASE nocodb_meta
  WITH ENCODING = 'UTF8' LC_COLLATE = 'C' LC_CTYPE = 'C' TEMPLATE = template0;

CREATE USER nocodb_app WITH PASSWORD 'mot-de-passe-long-aleatoire';
GRANT ALL PRIVILEGES ON DATABASE nocodb_meta TO nocodb_app;

La création se fait depuis le terminal Coolify de l’instance PostgreSQL ou via psql en SSH. Vérifiez avec \l que la base nocodb_meta apparaît, et avec \du que l’utilisateur nocodb_app existe avec les droits accordés. La chaîne de connexion côté NocoDB s’écrit avec les query params officiels : pg://postgres-shared:5432?u=nocodb_app&p=<password>&d=nocodb_meta.

Étape 2 — Déployer NocoDB depuis le catalogue Coolify

Coolify v4 inclut NocoDB dans son catalogue de services prêts à l’emploi, ce qui simplifie le déploiement par rapport à un docker-compose.yml manuel. Le formulaire structuré pré-remplit les variables d’environnement essentielles, monte les volumes persistants et configure le réseau Docker interne automatiquement.

Dans le projet tools-prod+ New ResourceService, cherchez NocoDB dans la liste et cliquez. Renseignez le nom de l’instance (par exemple nocodb-main). Dans la section Environment Variables, configurez les variables critiques :

  • NC_DB : la chaîne de connexion PostgreSQL créée à l’étape 1, au format officiel NocoDB pg://postgres-shared:5432?u=nocodb_app&p=<password>&d=nocodb_meta
  • NC_AUTH_JWT_SECRET : un secret aléatoire long (32+ caractères) généré via openssl rand -hex 32 côté serveur
  • NC_PUBLIC_URL : l’URL publique finale, par exemple https://nocodb.exemple.com
  • NC_DISABLE_TELE : true pour désactiver la télémétrie sortante (recommandé en environnement contrôlé)

Cliquez Deploy. Coolify télécharge l’image officielle nocodb/nocodb depuis Docker Hub, démarre le conteneur, applique les variables et bascule sur Running. Surveillez les logs Docker via l’onglet Logs — la phase de bootstrap NocoDB peut prendre 60 à 90 secondes le temps de créer les schémas dans nocodb_meta. Si une erreur de connexion à la base apparaît, vérifiez le réseau Docker et le mot de passe PostgreSQL.

Étape 3 — Exposer NocoDB en HTTPS via Traefik

Coolify expose le port HTTP interne 8080 de NocoDB sur le réseau Docker, mais pas en façade Internet par défaut. La publication HTTPS via Traefik (proxy par défaut de Coolify, alternative Caddy disponible) requiert un mapping de domaine et l’activation du certificat Let’s Encrypt automatique.

Dans la fiche nocodb-main → onglet Network, ajoutez le domaine nocodb.exemple.com sur le port 8080. Cochez Generate SSL Certificate. Coolify met à jour la configuration Traefik en quelques secondes, génère le certificat Let’s Encrypt automatiquement et publie l’endpoint HTTPS. Vérifiez l’accès via le navigateur — la console NocoDB doit s’afficher avec son écran de création du premier compte super-admin.

Si une erreur 502 Bad Gateway apparaît, Traefik n’arrive pas à joindre le conteneur NocoDB sur le port interne. Inspectez les logs Traefik et vérifiez que NocoDB est bien en état Running. Une 404 signale un problème DNS — confirmer la propagation avec dig nocodb.exemple.com. Un timeout indique le pare-feu — confirmer que les ports 80 et 443 sont ouverts en sortie via sudo ufw status.

Étape 4 — Créer le compte super-admin et la première base

Le premier accès à NocoDB déclenche un flux de bootstrap qui crée le compte super-admin de l’instance. Ce compte a tous les droits — il faut le sécuriser avec un mot de passe fort (16+ caractères, généré aléatoirement) et activer si possible un MFA via une extension SSO ou une intégration OIDC.

Une fois connecté, créez votre premier projet en cliquant + New Project. Choisissez Connect to External Database pour brancher une base PostgreSQL existante (par exemple votre base e-commerce ou CRM), ou Create New pour démarrer une base SQLite ou PostgreSQL gérée par NocoDB. Pour un usage PME, connecter une base existante donne immédiatement accès à toutes les tables et colonnes existantes via une interface no-code, sans modifier le schéma.

NocoDB scanne le schéma, détecte les clés étrangères, infère les relations et propose une vue grille par défaut sur chaque table. Vous pouvez ensuite créer des vues kanban (sur une colonne enum), calendrier (sur une colonne date), gallery (sur une colonne image), et formulaires publics partageables par lien. Chaque vue est sauvegardée par utilisateur et peut être partagée en lecture ou écriture avec d’autres comptes.

Étape 5 — Activer les sauvegardes automatiques NocoDB

La persistence Coolify repose sur des volumes Docker locaux. Sans sauvegarde externe, la perte du VPS équivaut à la perte de toutes les métadonnées NocoDB et de la base PostgreSQL. Coolify intègre une fonction de backup automatique vers S3 ou stockage compatible (Backblaze B2, Hetzner Storage Box, Wasabi) — activez-la dès que l’instance contient des données utiles.

Dans la fiche postgres-shared → onglet Backups, ajoutez une destination de stockage (endpoint S3, bucket, clés d’accès chiffrées). Configurez la fréquence : un backup quotidien à 03h00 UTC avec rétention 30 jours est un bon point de départ. Coolify exécute alors un pg_dump chiffré et le pousse vers le stockage cible. Pour les fichiers attachés NocoDB (uploads), configurer en parallèle un backup du volume Docker correspondant.

Testez la procédure de restauration deux fois par an minimum sur un VPS jetable — c’est le seul moyen de savoir que vos sauvegardes fonctionnent. Documentez la procédure exacte dans un runbook accessible à toute l’équipe d’astreinte. Une équipe qui n’a jamais restauré ne sait pas si ses sauvegardes fonctionnent vraiment.

Étape 6 — Brancher une intégration et tester l’API REST

NocoDB génère automatiquement une API REST authentifiée pour chaque table de chaque projet. Cette API permet de connecter n’importe quel front-end ou automatisation (n8n, Make.com auto-hébergé, scripts Python). Les endpoints sont documentés dans Swagger directement depuis l’interface NocoDB → projet → API Snippet.

# Récupérer un token API depuis Account Settings → Tokens
export NC_TOKEN="xxx"

# Lister 10 lignes de la table customers du projet ecommerce
curl -H "xc-token: $NC_TOKEN" \
  "https://nocodb.exemple.com/api/v2/tables/<table-id>/records?limit=10"

# Créer une nouvelle ligne
curl -X POST -H "xc-token: $NC_TOKEN" -H "Content-Type: application/json" \
  -d '{"name":"Test Client","email":"test@exemple.com"}' \
  "https://nocodb.exemple.com/api/v2/tables/<table-id>/records"

La requête doit renvoyer les lignes en JSON avec leur ID et leurs colonnes. Si vous obtenez une erreur 401, vérifiez que le token API est valide et inclus dans le header xc-token. Une 404 indique un mauvais identifiant de table — récupérez-le depuis l’URL de la table dans la console NocoDB. L’API supporte aussi le filtre, le tri et la pagination via les query params where, sort, offset, limit documentés dans Swagger.

Erreurs fréquentes en déploiement NocoDB sur Coolify

Symptôme Cause probable Correctif
Conteneur en boucle Restarting Erreur de connexion à PostgreSQL Vérifier NC_DB et que postgres-shared est Running
HTTPS 502 Bad Gateway Traefik ne joint pas le conteneur Vérifier que le port 8080 est exposé et NocoDB en Running
Lenteur à l’ouverture de NocoDB (>10 s) VPS sous-dimensionné en RAM Passer à 4 Go RAM minimum (Hetzner CX22 minimum)
Emails (invitations) non envoyés SMTP non configuré Renseigner NC_SMTP_HOST, NC_SMTP_USER, NC_SMTP_PASSWORD
Permissions insuffisantes sur la base externe User PostgreSQL sans GRANT complet Accorder ALL PRIVILEGES au user NocoDB sur la base cible

Adaptation au contexte ouest-africain

Pour une PME basée à Dakar, Abidjan, Bamako ou Cotonou qui veut un outil collaboratif type Airtable sans payer 24 USD par utilisateur et par mois, le coût NocoDB Coolify tient en moins de 7 EUR par mois (≈ 4 500 FCFA) sur Hetzner CX22 — soit moins de 5 % du coût Airtable pour 5 utilisateurs. La latence réseau de 50 à 80 ms vers Hetzner Falkenstein reste acceptable pour un usage de saisie collaborative interne. Pour les équipes terrain mobiles avec une connexion 4G inégale, NocoDB propose un mode hors-ligne basique sur l’application web qui synchronise au retour de connectivité.

Côté souveraineté des données, héberger NocoDB sur un VPS Hetzner ou Contabo en Europe simplifie les audits de conformité OHADA et locale (Sénégal loi 2008-12, Côte d’Ivoire CDP) par rapport à Airtable Cloud aux US. Pour une vue d’ensemble des choix sur l’écosystème no-code, voir le comparatif NocoDB vs Airtable vs Baserow.

Pour creuser ce sujet

Cette installation Coolify mono-instance couvre les besoins d’une équipe de 5 à 200 utilisateurs avec 10 à 100 tables connectées. Trois extensions naturelles selon les besoins : connecter NocoDB à un cluster ClickHouse pour des dashboards analytiques sur grosses volumétries (voir le tutoriel ClickHouse Coolify) ; brancher n8n ou Make auto-hébergé pour automatiser les workflows entre NocoDB et d’autres outils ; intégrer un SSO via OIDC (Keycloak ou Authentik) pour centraliser l’authentification multi-applications.

Mots-clés associés : NocoDB Coolify, no-code self-hosted, alternative Airtable PME, PostgreSQL Coolify, Traefik TLS, sauvegarde S3, OHADA souveraineté données, API REST NocoDB.

Partager