--- title: 'Setup and Usages' description: 'Simple installation - takes about three minutes!' position: 2 category: 'Getting started' menuTitle: 'Installation' link: https://codesandbox.io/embed/vigorous-firefly-80kq5?hidenavigation=1&theme=dark --- Simple installation - takes about three minutes! ## Prerequisites - __Must haves__ * [node.js >= 12](https://nodejs.org/en/download) / [Docker](https://www.docker.com/get-started) * [MySql](https://dev.mysql.com/downloads/mysql/) / [Postgres](https://www.postgresql.org/download/) / [SQLserver](https://www.microsoft.com/en-gb/sql-server/sql-server-downloads) / SQLite Database - Nice to haves - Existing schemas can help to create APIs quickly. - An example database schema can be found here. ## Quick try ### 1-Click Deploy to Heroku Deploy NocoDB to Heroku with 1-Click ### Node app / Docker ```bash npx create-nocodb-app ``` ```bash docker run -d --name nocodb -p 8080:8080 nocodb/nocodb ``` ```bash git clone https://github.com/nocodb/nocodb-seed cd nocodb-seed npm install npm start ``` ## Local Setup If you want to modify the source code, - Start the backend locally ```bash cd packages/nocodb npm install npm run watch:run ``` - Start the frontend locally ```bash cd packages/nc-gui npm install npm run dev ``` - Open ``localhost:3000/dashboard`` in browser nocodb/packages/nocodb includes nc-lib-gui which is the built version of nc-gui hosted in npm registry.
You can visit localhost:8000/dashboard in browser after starting the backend locally if you just want to modify the backend only.
## 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 ```bash 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 ``` ```bash 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 ``` ```bash 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 ```bash git clone https://github.com/nocodb/nocodb cd docker-compose cd mysql docker-compose up ``` ```bash git clone https://github.com/nocodb/nocodb cd docker-compose cd pg docker-compose up ``` ```bash git clone https://github.com/nocodb/nocodb cd docker-compose cd mssql docker-compose up ``` ### Sample app ## Sample Demos ### Docker deploying with one command ### Using NPX ### Heroku Deployment