--- title: NocoDB created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, database, low-code, no-code, sql, postgres, mysql, mariadb, sqlite, airtable, typescript] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Database, https://github.com/nocodb/nocodb] --- # 🗄️ NocoDB > **L'alternative open source à Airtable** : transforme n'importe quelle base SQL en feuille de calcul collaborative avec vues, formulaires, automatisations et API instantanée. ## 📋 Informations Générales | Champ | Valeur | | :--- | :--- | | **Site web** | [nocodb.com](https://nocodb.com/) | | **GitHub** | [nocodb/nocodb](https://github.com/nocodb/nocodb) | | **License** | AGPL-3.0 | | **Langage** | TypeScript (Node.js) | | **Étoiles GitHub** | 63k ⭐ | | **Dernière MAJ** | 2026-06-05 | | **Catégorie** | [[cat-database\|Database]] | ## 📝 Description **NocoDB** est une **plateforme no-code/low-code** qui transforme n'importe quelle base de données relationnelle (PostgreSQL, MySQL, MariaDB, SQLite, MSSQL, ClickHouse) en une interface de type **Airtable** : tableurs, vues multiples, formulaires, automatisations, webhooks, API REST/GraphQL automatiques. Le projet est né en 2020 et a explosé en popularité pendant le *license-changing crisis* d'Airtable, devenant **le** choix de référence pour qui veut la flexibilité d'Airtable **en self-hosted** et **sur ses propres données**. NocoDB se branche en effet sur une base existante **sans rien migrer** : il génère les schémas, lit/écrit en direct, et expose une API REST automatique pour chaque table. Contrairement à Airtable, **vos données restent dans Postgres/MySQL** : vous pouvez les requêter avec n'importe quel outil SQL standard, les sauvegarder, les répliquer. C'est l'un des plus gros avantages pour les homelabs qui veulent garder la main sur leur stack. À comparer à **Baserow** (plus simple, plus jeune, license MIT) et à **Airtable** (propriétaire, cloud-only depuis peu de restrictions sur les usages commerciaux). - ✅ **Connexion directe** à PostgreSQL, MySQL, MariaDB, SQLite, MSSQL, ClickHouse - ✅ **Vues multiples** : Grid, Gallery, Kanban, Calendar, Form, Map - ✅ **API auto-générée** : REST + GraphQL pour chaque table - ✅ **Formulaires publics** pour collecter des données - ✅ **Automatisations** : trigger (row added/updated) → action (email, webhook, scripts JS) - ✅ **Webhooks entrants et sortants** - ✅ **Authentification** : DB, OIDC, SAML (via extension) - ✅ **RBAC** avec rôles et partage de bases - ✅ **Import/Export** CSV, XLSX, JSON - ✅ **Partage de vues** avec liens publics protégés par mot de passe **Public cible** : équipes qui veulent structurer des données sans coder une app custom, makers, startups, homelabs. **Idéal** pour remplacer Airtable, Notion-DB, ou un Google Sheets en cascade. ## 🚀 Installation ### Option 1 : Docker Compose (recommandé) ```yaml # docker-compose.yml version: '3.8' services: nocodb: image: nocodb/nocodb:latest container_name: nocodb restart: unless-stopped environment: NC_DB: "pg://nocodb-db:5432/nocodb?u=nocodb&p=changez_moi&d=nocodb" NC_AUTH_JWT_SECRET: "CHANGEZ_CE_SECRET_LONG_ET_ALEATOIRE" ports: - "8080:8080" volumes: - nocodb-data:/usr/app/data depends_on: - nocodb-db labels: - "traefik.enable=true" - "traefik.http.routers.nocodb.rule=Host(`nocodb.example.com`)" - "traefik.http.routers.nocodb.entrypoints=websecure" - "traefik.http.routers.nocodb.tls.certresolver=letsencrypt" - "traefik.http.services.nocodb.loadbalancer.server.port=8080" nocodb-db: image: postgres:16-alpine container_name: nocodb-db restart: unless-stopped environment: POSTGRES_DB: nocodb POSTGRES_USER: nocodb POSTGRES_PASSWORD: "changez_moi" volumes: - nocodb-db:/var/lib/postgresql/data volumes: nocodb-data: nocodb-db: ``` ### Option 2 : SQLite (usage léger/personnel) ```bash docker run -d --name nocodb \ -p 8080:8080 \ -v /opt/nocodb:/usr/app/data \ nocodb/nocodb:latest ``` ### Option 3 : Binaires Voir la [release page](https://github.com/nocodb/nocodb/releases) — disponibles pour Linux, macOS, Windows. ## ⚙️ Configuration Initiale 1. **Premier accès** : `https://nocodb.example.com` → créer le compte super-admin (premier compte créé devient admin) 2. **Créer un projet** : New Project → External Database → saisir la SQLAlchemy URI 3. **Créer la première table** : New Table → importer un CSV ou créer les colonnes manuellement 4. **Créer des vues** : menu de la table → + Add View (Grid, Kanban, Form, etc.) 5. **Configurer l'API** : chaque table expose automatiquement `/api/v1/db/...` — générer un token API dans Account Settings → Tokens 6. **Brancher des automatisations** : menu table → Webhooks / Automations → trigger (record added) → action (HTTP request, email, etc.) ## 🔄 Alternatives ### Open Source - **Baserow** — Concurrent direct, UI plus simple, MIT, basé sur Postgres - **Directus** — Plutôt headless CMS, plus orienté dev - **Teable** — Plus récent, basé sur Postgres, look Airtable très fidèle - **Grist** — Tableur relationnel puissant, plus orienté calculs - **Mathesar** — Tableur orienté Postgres, UI plus brute ### Propriétaires - **Airtable** — Le standard, cloud, freemium agressif - **Notion** — Bases de données + wiki, freemium - **ClickUp** — Project management avec tables - **Retool Tables** — Plus orienté dev - **Softr** — Connecté à Airtable pour publier des apps ### Comparaison | Critère | NocoDB | Baserow | Airtable | Teable | | :--- | :--- | :--- | :--- | :--- | | Licence | AGPL-3.0 | MIT | Propriétaire | Apache-2.0 | | Self-hosted | ✅ | ✅ | ❌ | ✅ | | Back-end DB | Multi (PG, MySQL, SQLite) | Postgres | Propriétaire | Postgres | | API REST/GraphQL | ✅ | ✅ | ✅ | ✅ | | Vues Kanban/Form | ✅ | ✅ | ✅ | ✅ | | Automatisations | ✅ | ✅ | ✅ | Limité | | Limite d'enregistrements | Aucune (limite BDD) | Aucune | 50k/table (gratuit) | Aucune | | Maturité | Très mature | Mature | Très mature | Récent | **Verdict** : NocoDB est **la référence** quand on veut la flexibilité d'Airtable **sur ses propres données**. Pour un usage plus simple et collaboratif, **Baserow** est une alternative solide en MIT. ## 🔐 Sécurité - **Authentification** : email/password par défaut, OIDC / SAML via extension Pro - **HTTPS obligatoire** via [[app-traefik]] — NocoDB sert aussi l'API - **RBAC** : rôles par base, partage granulaire - **2FA** disponible pour les comptes - **Secrets** : `NC_AUTH_JWT_SECRET` doit être long et stocké hors de l'image - **Backups** : [[app-backup]] (restic) sur le volume `nocodb-data` et la base Postgres ## 📚 Ressources - [Site officiel](https://nocodb.com/) - [GitHub nocodb/nocodb](https://github.com/nocodb/nocodb) - [Documentation](https://docs.nocodb.com/) - [Démo en ligne](https://app.nocodb.com/) ## Pages Liées - [[cat-database]] — Catégorie Database - [[app-postgres]] — BDD recommandée - [[app-mysql]] — Alternative BDD - [[app-backup]] (restic) — Sauvegardes - [[app-traefik]] — Reverse-proxy HTTPS - [[recettes-docker-compose]] — Recettes - [[securisation-home-lab]] — Bonnes pratiques - [[glossaire-homelab]] — Glossaire