Installer NocoDB avec Docker Compose en 2 minutes

Installer NocoDB avec Docker Compose en 2 minutes

Vous cherchez une alternative Open Source à Airtable ? Notion ? ou encore Teable ? NocoDB est fait pour vous ! En effet, cet outil de Base de Données en No-Code est très populaire et convient à la fois à une utilisation personnelle, professionnelle ou encore collaborative !

Présentation

Il s'agit d'un logiciel que vous pouvez auto-héberger qui vous permet de transformer, et de peupler une base de données relationnelle (comme PostgreSQL, MySQL, etc.) en un outil de gestion de données avec une interface web intuitive.
Il devient ainsi possible de gérer des tables, des relations, des vues, des permissions, tout ça sans écrire une seule ligne de SQL. Très utile pour un outil de collaboration,  ainsi la création de Dashboards, Kanban ou autre devient à la portée de tout le monde !

Comme il s'agit d'un logiciel totalement Open Source, voici le lien de son repository Github pour avoir accès à son code source, créer des issues etc... :

GitHub - nocodb/nocodb: 🔥 🔥 🔥 Open Source Airtable Alternative
🔥 🔥 🔥 Open Source Airtable Alternative. Contribute to nocodb/nocodb development by creating an account on GitHub.

Installation

Pour un déploiement simple avec seulement 2 fichiers et une seule commande pour lancer la stack, Docker Compose est un des modes de déploiement le plus efficace. Pour ce faire, il suffit de créer le fichier docker-compose.yml suivant :

services: 
  nocodb: 
    depends_on: 
      root_db: 
        condition: service_healthy
    env_file: .env
    image: nocodb/nocodb:latest
    ports: 
      - 80:8080
    restart: always
    volumes: 
      - nc_data:/usr/app/data
  root_db: 
    env_file: .env
    healthcheck: 
      interval: 10s
      retries: 10
      test: pg_isready -U $POSTGRES_USER -d $POSTGRES_DB
      timeout: 2s
    image: postgres:16.6
    restart: always
    volumes:
      - db_data:/var/lib/postgresql/data
volumes:
  db_data:
  nc_data:

Il déploie un premier conteneur nocodb qui écoute ici sur le port 80 de l'hôte et qui possède une dépendance au conteneur de Base de Données PostgreSQL qui est déployé plus bas.

Pour les variables d'environnement, voici le fichier .env à créer :

POSTGRES_DB=root_db
POSTGRES_PASSWORD=password
POSTGRES_USER=postgres
NC_DB=pg://root_db:5432?u=${POSTGRES_USER}&p=${POSTGRES_PASSWORD}&d=${POSTGRES_DB}

J'ai simplifié et optimisé la version qui est proposé dans la documentation officielle afin d'utiliser les variables Bash.

Déploiement

Maintenant que nos fichiers  docker-compose.yml et .env sont en place et que les valeurs ont bien été adaptées, il suffit d'exécuter la commande

docker compose up -d

Accédez ensuite à l'interface web de NocoDB en localhost

Après avoir crée le compte principal, vous aurez terminé le déploiement de NocoDB !