diff --git a/packages/noco-docs/content/en/getting-started/installation.md b/packages/noco-docs/content/en/getting-started/installation.md
index 8fa8aea987..86f5ac85da 100644
--- a/packages/noco-docs/content/en/getting-started/installation.md
+++ b/packages/noco-docs/content/en/getting-started/installation.md
@@ -218,62 +218,6 @@ npm start
```
-
-## Production Setup
-It is mandatory to configure `NC_DB` environment variables for production usecases.
-
-### Environment variables
-
-| Variable | Mandatory | Comments | If absent | |
-|------------------------------------|-----------|-------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|---|
-| NC_DB | Yes | See our database URLs | A local SQLite will be created in root folder | |
-| NC_DB_JSON | Yes | Can be used instead of `NC_DB` and value should be valid knex connection JSON | | |
-| NC_DB_JSON_FILE | Yes | Can be used instead of `NC_DB` and value should be a valid path to knex connection JSON | | |
-| DATABASE_URL | No | JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment | | |
-| DATABASE_URL_FILE | No | Can be used instead of DATABASE_URL: path to file containing JDBC URL Format. | | |
-| NC_AUTH_JWT_SECRET | Yes | JWT secret used for auth and storing other secrets | A Random secret will be generated | |
-| PORT | No | For setting app running port | `8080` | |
-| DB_QUERY_LIMIT_DEFAULT | No | Default pagination limit | 25 | |
-| DB_QUERY_LIMIT_MAX | No | Maximum allowed pagination limit | 1000 | |
-| DB_QUERY_LIMIT_MIN | No | Minimum allowed pagination limit | 1 | |
-| NC_TOOL_DIR | No | App directory to keep metadata and app related files | Defaults to current working directory. In docker maps to `/usr/app/data/` for mounting volume. | |
-| NC_PUBLIC_URL | Yes | Used for sending Email invitations | Best guess from http request params | |
-| NC_JWT_EXPIRES_IN | No | JWT token expiry time | `10h` | |
-| NC_CONNECT_TO_EXTERNAL_DB_DISABLED | No | Disable Project creation with external database | | |
-| NC_INVITE_ONLY_SIGNUP | No | Allow users to signup only via invite url, value should be any non-empty string. | | |
-| NC_BACKEND_URL | No | Custom Backend URL | ``http://localhost:8080`` will be used | |
-| NC_REQUEST_BODY_SIZE | No | Request body size [limit](https://expressjs.com/en/resources/middleware/body-parser.html#limit) | `1048576` | |
-| NC_EXPORT_MAX_TIMEOUT | No | After NC_EXPORT_MAX_TIMEOUT csv gets downloaded in batches | Default value 5000(in millisecond) will be used | |
-| NC_DISABLE_TELE | No | Disable telemetry | | |
-| NC_DASHBOARD_URL | No | Custom dashboard url path | `/dashboard` | |
-| NC_GOOGLE_CLIENT_ID | No | Google client id to enable google authentication | | |
-| NC_GOOGLE_CLIENT_SECRET | No | Google client secret to enable google authentication | | |
-| NC_MIGRATIONS_DISABLED | No | Disable NocoDB migration | | |
-| NC_ONE_CLICK | No | Used for Heroku one-click deployment | | |
-| NC_MIN | No | If set to any non-empty string the default splash screen(initial welcome animation) and matrix screensaver will disable | | |
-| NC_SENTRY_DSN | No | For Sentry monitoring | | |
-| NC_REDIS_URL | No | Custom Redis URL. Example: `redis://:authpassword@127.0.0.1:6380/4` | Meta data will be stored in memory | |
-| NC_DISABLE_ERR_REPORT | No | Disable error reporting | | |
-| NC_DISABLE_CACHE | No | To be used only while debugging. On setting this to `true` - meta data be fetched from db instead of redis/cache. | `false` | |
-| NC_BASEURL_INTERNAL | No | Used as base url for internal(server) API calls | Default value in docker will be `http://localhost:$PORT` and in all other case it's populated from request object | |
-| AWS_ACCESS_KEY_ID | No | For Litestream - S3 access key id | If Litestream is configured and NC_DB is not present. SQLite gets backed up to S3 | |
-| AWS_SECRET_ACCESS_KEY | No | For Litestream - S3 secret access key | If Litestream is configured and NC_DB is not present. SQLite gets backed up to S3 | |
-| AWS_BUCKET | No | For Litestream - S3 bucket | If Litestream is configured and NC_DB is not present. SQLite gets backed up to S3 | |
-| AWS_BUCKET_PATH | No | For Litestream - S3 bucket path (like folder within S3 bucket) | If Litestream is configured and NC_DB is not present. SQLite gets backed up to S3 | |
-| NC_SMTP_FROM | No | For SMTP plugin - Email sender address | | |
-| NC_SMTP_HOST | No | For SMTP plugin - SMTP host value | | |
-| NC_SMTP_PORT | No | For SMTP plugin - SMTP port value | | |
-| NC_SMTP_USERNAME | No | For SMTP plugin (Optional) - SMTP username value for authentication | | |
-| NC_SMTP_PASSWORD | No | For SMTP plugin (Optional) - SMTP password value for authentication | | |
-| NC_SMTP_SECURE | No | For SMTP plugin (Optional) - To enable secure set value as `true` any other value treated as false | | |
-| NC_SMTP_IGNORE_TLS | No | For SMTP plugin (Optional) - To ignore tls set value as `true` any other value treated as false. For more info visit https://nodemailer.com/smtp/ | | |
-| NC_S3_BUCKET_NAME | No | For S3 storage plugin - AWS S3 bucket name | | |
-| NC_S3_REGION | No | For S3 storage plugin - AWS S3 region | | |
-| NC_S3_ACCESS_KEY | No | For S3 storage plugin - AWS access key credential for accessing resource | | |
-| NC_S3_ACCESS_SECRET | No | For S3 storage plugin - AWS access secret credential for accessing resource | | |
-| NC_ADMIN_EMAIL | No | For updating/creating super admin with provided email and password | | |
-| NC_ADMIN_PASSWORD | No | For updating/creating super admin with provided email and password. Your password should have at least 8 letters with one uppercase, one number and one special letter(Allowed special chars $&+,:;=?@#|'.^*()%!_-"
) | | |
-
### AWS ECS (Fargate)
@@ -508,6 +452,61 @@ It is mandatory to configure `NC_DB` environment variables for production usecas
+## Production Setup
+It is mandatory to configure `NC_DB` environment variables for production usecases.
+
+### Environment variables
+
+| Variable | Mandatory | Comments | If absent | |
+|------------------------------------|-----------|-------------------------------------------------------------------------------------------------------------------------|------------------------------------------------------------------------------------------------|---|
+| NC_DB | Yes | See our database URLs | A local SQLite will be created in root folder | |
+| NC_DB_JSON | Yes | Can be used instead of `NC_DB` and value should be valid knex connection JSON | | |
+| NC_DB_JSON_FILE | Yes | Can be used instead of `NC_DB` and value should be a valid path to knex connection JSON | | |
+| DATABASE_URL | No | JDBC URL Format. Can be used instead of NC_DB. Used in 1-Click Heroku deployment | | |
+| DATABASE_URL_FILE | No | Can be used instead of DATABASE_URL: path to file containing JDBC URL Format. | | |
+| NC_AUTH_JWT_SECRET | Yes | JWT secret used for auth and storing other secrets | A Random secret will be generated | |
+| PORT | No | For setting app running port | `8080` | |
+| DB_QUERY_LIMIT_DEFAULT | No | Default pagination limit | 25 | |
+| DB_QUERY_LIMIT_MAX | No | Maximum allowed pagination limit | 1000 | |
+| DB_QUERY_LIMIT_MIN | No | Minimum allowed pagination limit | 1 | |
+| NC_TOOL_DIR | No | App directory to keep metadata and app related files | Defaults to current working directory. In docker maps to `/usr/app/data/` for mounting volume. | |
+| NC_PUBLIC_URL | Yes | Used for sending Email invitations | Best guess from http request params | |
+| NC_JWT_EXPIRES_IN | No | JWT token expiry time | `10h` | |
+| NC_CONNECT_TO_EXTERNAL_DB_DISABLED | No | Disable Project creation with external database | | |
+| NC_INVITE_ONLY_SIGNUP | No | Allow users to signup only via invite url, value should be any non-empty string. | | |
+| NC_BACKEND_URL | No | Custom Backend URL | ``http://localhost:8080`` will be used | |
+| NC_REQUEST_BODY_SIZE | No | Request body size [limit](https://expressjs.com/en/resources/middleware/body-parser.html#limit) | `1048576` | |
+| NC_EXPORT_MAX_TIMEOUT | No | After NC_EXPORT_MAX_TIMEOUT csv gets downloaded in batches | Default value 5000(in millisecond) will be used | |
+| NC_DISABLE_TELE | No | Disable telemetry | | |
+| NC_DASHBOARD_URL | No | Custom dashboard url path | `/dashboard` | |
+| NC_GOOGLE_CLIENT_ID | No | Google client id to enable google authentication | | |
+| NC_GOOGLE_CLIENT_SECRET | No | Google client secret to enable google authentication | | |
+| NC_MIGRATIONS_DISABLED | No | Disable NocoDB migration | | |
+| NC_ONE_CLICK | No | Used for Heroku one-click deployment | | |
+| NC_MIN | No | If set to any non-empty string the default splash screen(initial welcome animation) and matrix screensaver will disable | | |
+| NC_SENTRY_DSN | No | For Sentry monitoring | | |
+| NC_REDIS_URL | No | Custom Redis URL. Example: `redis://:authpassword@127.0.0.1:6380/4` | Meta data will be stored in memory | |
+| NC_DISABLE_ERR_REPORT | No | Disable error reporting | | |
+| NC_DISABLE_CACHE | No | To be used only while debugging. On setting this to `true` - meta data be fetched from db instead of redis/cache. | `false` | |
+| NC_BASEURL_INTERNAL | No | Used as base url for internal(server) API calls | Default value in docker will be `http://localhost:$PORT` and in all other case it's populated from request object | |
+| AWS_ACCESS_KEY_ID | No | For Litestream - S3 access key id | If Litestream is configured and NC_DB is not present. SQLite gets backed up to S3 | |
+| AWS_SECRET_ACCESS_KEY | No | For Litestream - S3 secret access key | If Litestream is configured and NC_DB is not present. SQLite gets backed up to S3 | |
+| AWS_BUCKET | No | For Litestream - S3 bucket | If Litestream is configured and NC_DB is not present. SQLite gets backed up to S3 | |
+| AWS_BUCKET_PATH | No | For Litestream - S3 bucket path (like folder within S3 bucket) | If Litestream is configured and NC_DB is not present. SQLite gets backed up to S3 | |
+| NC_SMTP_FROM | No | For SMTP plugin - Email sender address | | |
+| NC_SMTP_HOST | No | For SMTP plugin - SMTP host value | | |
+| NC_SMTP_PORT | No | For SMTP plugin - SMTP port value | | |
+| NC_SMTP_USERNAME | No | For SMTP plugin (Optional) - SMTP username value for authentication | | |
+| NC_SMTP_PASSWORD | No | For SMTP plugin (Optional) - SMTP password value for authentication | | |
+| NC_SMTP_SECURE | No | For SMTP plugin (Optional) - To enable secure set value as `true` any other value treated as false | | |
+| NC_SMTP_IGNORE_TLS | No | For SMTP plugin (Optional) - To ignore tls set value as `true` any other value treated as false. For more info visit https://nodemailer.com/smtp/ | | |
+| NC_S3_BUCKET_NAME | No | For S3 storage plugin - AWS S3 bucket name | | |
+| NC_S3_REGION | No | For S3 storage plugin - AWS S3 region | | |
+| NC_S3_ACCESS_KEY | No | For S3 storage plugin - AWS access key credential for accessing resource | | |
+| NC_S3_ACCESS_SECRET | No | For S3 storage plugin - AWS access secret credential for accessing resource | | |
+| NC_ADMIN_EMAIL | No | For updating/creating super admin with provided email and password | | |
+| NC_ADMIN_PASSWORD | No | For updating/creating super admin with provided email and password. Your password should have at least 8 letters with one uppercase, one number and one special letter(Allowed special chars $&+,:;=?@#|'.^*()%!_-"
) | | |
+
## Sample Demos
### Code Sandbox