NocoDB is an open-source no-code platform that converts any SQL database into a smart spreadsheet interface. Users can collaborate, filter and visualize data without writing queries. It supports REST and GraphQL APIs, automation and integration with third-party tools. Great for managing projects, CRM data, or inventory without deep technical knowledge. A strong alternative to paid platforms like Airtable.
Setup
docker-compose.yaml (mysql)
version: '3'
networks:
docker_net:
external: true
volumes:
db_data: {}
nc_data: {}
services:
nocodb:
image: nocodb/nocodb:latest
container_name: nocodb
restart: unless-stopped
depends_on:
root_db:
condition: service_healthy
environment:
NC_DB: "mysql2://root_db:3306?u=noco&p=$PASSWORD&d=root_db"
ports:
- 8080:8080
volumes:
- nc_data:/usr/app/data
networks:
- docker_net
root_db:
image: mysql:8.3.0
container_name: nocodb_mysql
restart: unless-stopped
environment:
MYSQL_DATABASE: root_db
MYSQL_PASSWORD: $PASSWORD
MYSQL_ROOT_PASSWORD: $ROOT_PASSWORD
MYSQL_USER: noco
healthcheck:
retries: 10
test:
- CMD
- mysqladmin
- ping
- "-h"
- localhost
timeout: 20s
volumes:
- db_data:/var/lib/mysql
networks:
- docker_net
docker-compose.yaml (pg)
version: '3'
networks:
docker_net:
external: true
volumes:
db_data: {}
nc_data: {}
services:
nocodb:
image: nocodb/nocodb:latest
container_name: nocodb
restart: unless-stopped
depends_on:
root_db:
condition: service_healthy
environment:
NC_DB: "pg://root_db:5432?u=postgres&p=$PASSWORD&d=root_db"
ports:
- 8080:8080
volumes:
- nc_data:/usr/app/data
networks:
- docker_net
root_db:
image: postgres
container_name: nocodb_pg
restart: unless-stopped
environment:
POSTGRES_DB: root_db
POSTGRES_PASSWORD: $PASSWORD
POSTGRES_USER: postgres
healthcheck:
interval: 10s
retries: 10
test: "pg_isready -U \"$$POSTGRES_USER\" -d \"$$POSTGRES_DB\""
timeout: 2s
volumes:
- db_data:/var/lib/postgresql/data
networks:
- docker_net