NocoDB
An Open Source Airtable Alternative Build With Vue.js
Turns any MySQL, PostgreSQL, SQL Server, SQLite & MariaDB into a smart-spreadsheet.
Quick try
1-Click Deploy
Heroku
Using Docker
docker run -d –name nocodb -p 8080:8080 nocodb/nocodb
Using Npm
npx create-nocodb-app
Using Git
git clone https://github.com/nocodb/nocodb-seed
cd nocodb-seed
npm install
npm start
GUI
Access Dashboard using : http://localhost:8080/dashboard
Screenshots
Features
Rich Spreadsheet Interface
⚡ Search, sort, filter, hide columns with uber ease
⚡ Create Views : Grid, Gallery, Kanban, Gantt, Form
⚡ Share Views : public & password protected
⚡ Personal & locked Views
⚡ Upload images to cells (Works with S3, Minio, GCP, Azure, DigitalOcean, Linode, OVH, BackBlaze)!!
⚡ Roles : Owner, Creator, Editor, Commenter, Viewer, Commenter, Custom Roles.
⚡ Access Control : Fine-grained access control even at database, table & column level.
App Store for workflow automations :
⚡ Chat : Microsoft Teams, Slack, Discord, Mattermost
⚡ Email : SMTP, SES, Mailchimp
⚡ SMS : Twilio
⚡ Whatsapp
⚡ Any 3rd Party APIs
Programmatic API access via :
⚡ REST APIs (Swagger)
⚡ GraphQL APIs.
⚡ Includes JWT Authentication & Social Auth
⚡ API tokens to integrate with Zapier, Integromat.
Production Setup
NocoDB requires a database to store metadata of spreadsheets views and external databases.
And connection params for this database can be specified in NC_DB environment variable.
Docker
Example MySQL
docker run -d -p 8080:8080
-e NC_DB=”mysql2://host.docker.internal:3306?u=root&p=password&d=d1″
-e NC_AUTH_JWT_SECRET=”569a1821-0a93-45e8-87ab-eb857f20a010″
nocodb/nocodb
Example Postgres
docker run -d -p 8080:8080
-e NC_DB=”pg://host:port?u=user&p=password&d=database”
-e NC_AUTH_JWT_SECRET=”569a1821-0a93-45e8-87ab-eb857f20a010″
nocodb/nocodb
Example SQL Server
docker run -d -p 8080:8080
-e NC_DB=”mssql://host:port?u=user&p=password&d=database”
-e NC_AUTH_JWT_SECRET=”569a1821-0a93-45e8-87ab-eb857f20a010″
nocodb/nocodb
Docker Compose
git clone https://github.com/nocodb/nocodb
cd docker-compose
cd mysql or pg or mssql
docker-compose up
Environment variables
Variable
Mandatory
Comments
If absent
NC_DB
Yes
See our database URLs
A local SQLite will be created in root folder
DATABASE_URL
No
JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment
DATABASE_URL_FILE
No
path to file containing JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment
NC_PUBLIC_URL
Yes
Used for sending Email invitations
Best guess from http request params
NC_AUTH_JWT_SECRET
Yes
JWT secret used for auth and storing other secrets
A Random secret will be generated
NC_SENTRY_DSN
No
For Sentry monitoring
NC_CONNECT_TO_EXTERNAL_DB_DISABLED
No
Disable Project creation with external database
NC_DISABLE_TELE
No
Disable telemetry
NC_BACKEND_URL
No
Custom Backend URL
http://localhost:8080 will be used
Running locally
git clone https://github.com/nocodb/nocodb
cd nocodb
# run backend
cd packages/nocodb
npm install
npm run watch:run
# open localhost:8080/dashboard in browser
# run frontend
cd packages/nc-gui
npm install
npm run dev
# open localhost:3000/dashboard in browser
Changes made to code automatically restart.