Before doing so, make sure you have a Heroku account. By default, an add-on Heroku Postgres will be used as meta database. You can see the connection string defined in `DATABASE_URL` by navigating to Heroku App Settings and selecting Config Vars.
> To persist data in docker you can mount volume at `/usr/app/data/` since 0.10.6. In older version mount at `/usr/src/app`. Otherwise your data will be lost after recreating the container.
> If you plan to input some special characters, you may need to change the character set and collation yourself when creating the database. Please check out the examples for [MySQL Docker](https://github.com/nocodb/nocodb/issues/1340#issuecomment-1049481043).
## Docker Compose
We provide different docker-compose.yml files under [this directory](https://github.com/nocodb/nocodb/tree/master/docker-compose). Here are some examples.
```bash
git clone https://github.com/nocodb/nocodb
# for MySQL
cd nocodb/docker-compose/mysql
# for PostgreSQL
cd nocodb/docker-compose/pg
# for MSSQL
cd nocodb/docker-compose/mssql
docker-compose up -d
```
> To persist data in docker you can mount volume at `/usr/app/data/` since 0.10.6. In older version mount at `/usr/src/app`. Otherwise your data will be lost after recreating the container.
> If you plan to input some special characters, you may need to change the character set and collation yourself when creating the database. Please check out the examples for [MySQL Docker Compose](https://github.com/nocodb/nocodb/issues/1313#issuecomment-1046625974).
# GUI
Access Dashboard using : [http://localhost:8080/dashboard](http://localhost:8080/dashboard)
Access Dashboard using : [http://localhost:8080/dashboard](http://localhost:8080/dashboard)
- ⚡ Share Bases / Views: either Public or Private (with Password Protected)
- ⚡ Variant Cell Types: ID, LinkToAnotherRecord, Lookup, Rollup, SingleLineText, Attachement, Currency, Formula and etc
- ⚡ Access Control with Roles : Fine-grained Access Control at different levels
- ⚡ and more ...
## Docker
### App Store for Workflow Automations
#### Example: MySQL
We provide different integrations in three main categories. See <ahref="https://docs.nocodb.com/setup-and-usages/app-store"target="_blank">App Store</a> for details.
We provide the following ways to let users to invoke actions in a programmatic way. You can use a token (either JWT or Social Auth) to sign your requests for authorization to NocoDB.
```
git clone https://github.com/nocodb/nocodb
- ⚡ REST APIs
cd nocodb
- ⚡ NocoDB SDK
cd docker-compose
cd mysql or pg or mssql
### Sync Schema
docker-compose up -d
```
We allow you to sync schema changes if you have made changes outside NocoDB GUI. However, it has to be noted then you will have to bring your own schema migrations for moving from environment to others. See <ahref="https://docs.nocodb.com/setup-and-usages/sync-schema/"target="_blank">Sync Schema</a> for details.
### Audit
We are keeping all the user operation logs under one place. See <ahref="https://docs.nocodb.com/setup-and-usages/audit"target="_blank">Audit</a> for details.
# Production Setup
By default, SQLite is used for storing meta data. However, you can specify your own database. The connection params for this database can be specified in `NC_DB` environment variable. Moreover, we also provide the below environment variables for configuration.
## Environment variables
## Environment variables
@ -263,7 +289,6 @@ Changes made to code automatically restart.
> 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.
> 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.
## Running Cypress tests locally
## Running Cypress tests locally
```shell
```shell
@ -412,8 +437,3 @@ Our mission is to provide the most powerful no-code interface for databases whic