Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion content/docs/fields/field-summary-footer.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ keywords : ['NocoDB field summary', 'field summary bar', 'field summary in nocoD
The "Field Summary" provides quick calculations for chosen fields displayed in the footer of a table's grid view. These calculations offer quick insights into your data, such as total sums, averages, minimum, and maximum values. This section explains how to use & configure field summary to accurately compute these values.

<center>
<iframe width="560" height="315" src="https://www.youtube.com/embed/VzmzvLST_dk?si=VVd40nh-7YSNUGaQ&start=14" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen ></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/VzmzvLST_dk?si=VVd40nh-7YSNUGaQ&start=14" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen ></iframe>
</center>

## Overview
Expand Down
2 changes: 1 addition & 1 deletion content/docs/fields/field-types/custom-types/button.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ NocoDB currently supports two types of actions for the Button Field:
2. **Run Webhook**: Trigger a webhook with the configured URL & custom payload. Payload can include data from the current record.

<center>
<iframe width="560" height="315" src="https://www.youtube.com/embed/V20tQDkbkvU?si=7EL1IppfR7V9LRBF&start=13" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen ></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/V20tQDkbkvU?si=7EL1IppfR7V9LRBF&start=13" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen ></iframe>
</center>

## Create a Button Field
Expand Down
2 changes: 1 addition & 1 deletion content/docs/records/expand-record.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ In an expanded form,
The Comments feature allows you to collaborate directly within records by leaving comments, making it easier to discuss and track changes. You can also receive [notifications](../collaboration/notifications) for updates, ensuring everyone stays informed in real time.

<center>
<iframe width="560" height="315" src="https://www.youtube.com/embed/U5ZYVlpOGN8?start=12" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen ></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/U5ZYVlpOGN8?start=12" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen ></iframe>
</center>

<Callout type="info">
Expand Down
2 changes: 1 addition & 1 deletion content/docs/views/view-types/form.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ Example

Check out this video for a more detailed explanation with examples:
<center>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Kltbg_Dn23k?si=u1z5Hk9IuuX4jLcY&start=23" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen ></iframe>
<iframe width="560" height="315" src="https://www.youtube.com/embed/Kltbg_Dn23k?si=u1z5Hk9IuuX4jLcY&start=23" frameBorder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowFullScreen ></iframe>
</center>

## Field "Show On Conditions"
Expand Down
94 changes: 94 additions & 0 deletions content/self-hosting/apache.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,94 @@
---
title: 'Behind Apache'
icon: 'apache'
description: 'Run NocoDB Behind Apache Proxy.'
tags: ['nginx', 'proxy']
keywords : ['NocoDB Apache', 'NocoDB Proxy']
---
import { Tab, Tabs } from 'fumadocs-ui/components/tabs';

## Prerequisites
We assume you already have a Apache server running.

## Step 1 - Run NocoDB

<Tabs items={['docker', 'docker-compose', 'nix']}>
<Tab value="docker">
```bash
docker run \
-d \
--name nocodb \
--tmpfs /run:nodev,nosuid,exec,mode=0755 \
-v ./nocodb:/usr/app/data \
-e NC_AUTH_JWT_SECRET="your-super-secret-string" \
-e NC_PUBLIC_URL="__your_nocodb_domain__.com" \
-p 8080:8080 \
--restart unless-stopped \
-it nocodb/nocodb:latest
```
</Tab>

<Tab value="docker-compose">
```yaml
version: "3.9"
services:
nocodb:
container_name: nocodb
image: nocodb/nocodb:latest
environment:
NC_AUTH_JWT_SECRET: 'your-super-secret-passs'
NC_PUBLIC_URL: '__your_nocodb_domain__.com'
ports:
- "8080:8080"
volumes:
- nocodb_data:/usr/app/data
tmpfs:
- /run:nodev,nosuid,exec,mode=0755
volumes:
nocodb_data:
```
</Tab>

<Tab value="nix">
```bash
nix run github:nocodb/nocodb/master
```
</Tab>
</Tabs>

## Step 2 - Enable the required Apache modules

The Apache config shown later needs the following modules enabled.

```bash
sudo a2enmod proxy headers proxy_http proxy_wstunnel rewrite
sudo systemctl restart apache2
```

## Step 3 - Create the Apache config for NocoDB

Create a new `nocodb.conf` in `/etc/apache2/sites-enabled/` like the following example

> Make sure to replace any __nocodb_domain__ with you own domain

```
<VirtualHost *:80>
ProxyPreserveHost On

# Replace with your domain
ServerName __nocodb_domain__

ProxyPass / http://localhost:8080/
ProxyPassReverse / http://localhost:8080/

</VirtualHost>

```

## Step 3 - Enable the apache site

```bash
sudo a2ensite nocodb.conf
```

> You should now be able to access NocoDB on your configured domain.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
---
title: 'AWS ECS (Fargate)'
title: 'Install on AWS'
icon: 'aws'
tags: ['Open Source']
description: 'Deploy NocoDB on AWS ECS using Fargate'
keywords : ['NocoDB installation', 'NocoDB AWS Fargate installation', 'NocoDB prerequisites']
Expand Down Expand Up @@ -111,4 +112,4 @@ This guide will walk you through deploying NocoDB on Amazon ECS using Fargate.
- Ensure that your security groups have the correct inbound and outbound rules.
- The NC_DB environment variable should be properly set to connect to your database.
- Monitor the ECS console and CloudWatch logs for any deployment issues.
- You can customize the task definition and service configuration based on your requirements.
- You can customize the task definition and service configuration based on your requirements.
46 changes: 46 additions & 0 deletions content/self-hosting/cloudron.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,46 @@
---
title: 'Install on Cloudron'
icon: 'cloudron'
tags: ['cloudron', 'docker']
keywords: ['NocoDB Railway', 'Install NocoDB', 'NocoDB Docker']
---

[Cloudron](https://www.cloudron.io/) is a self-hosted platform that simplifies deploying and managing web applications. If you're using your own server and want to host **NocoDB** with auto-updates and domain management, Cloudron is a solid choice.

## Prerequisites

Before proceeding, ensure:

* You have a working Cloudron instance set up on your server.
* You’ve signed into the Cloudron App Store.
* You’re comfortable using the command line and basic Cloudron CLI commands.

## Deploying NocoDB on Cloudron

1. Log into your Cloudron admin panel.

2. Open the **App Store** from the main dashboard.

![Cloudron App Store](/img/v2/installations/cloudron-app-store.png)

3. In the search bar, type **NocoDB**.

![Cloudron Search NocoDB](/img/v2/installations/cloudron-search-nocodb.png)

4. Select the **NocoDB** app and click **Install**.

![Cloudron Install](/img/v2/installations/cloudron-install.png)

5. Configure the app’s domain, access settings, and environment variables as needed.

![Cloudron Configure](/img/v2/installations/cloudron-configure.png)

6. After installation, go to the **My Apps** section and launch your new NocoDB instance.

![Cloudron My Apps](/img/v2/installations/cloudron-my-apps.png)

## Things to Keep in Mind

* **System Requirements**: Make sure your Cloudron server has enough resources (at least 1 vCPU and 1 GB RAM for testing, 2 GB+ recommended for production).
* **Backups**: Take advantage of Cloudron’s built-in backup options to safeguard your NocoDB data.
* **Maintenance**: Regularly update both NocoDB and Cloudron to stay current with security patches and new features.
62 changes: 62 additions & 0 deletions content/self-hosting/digital-ocean.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
---
title: 'Install on DigitalOcean'
icon: 'digitalocean'
tags: ['Open Source']
keywords : ['NocoDB installation', 'NocoDB Digital Ocean installation', 'NocoDB prerequisites']
---

This guide outlines how to deploy **NocoDB** on [DigitalOcean App Platform](https://www.digitalocean.com/products/app-platform), a fully managed solution for container-based applications. It covers provisioning databases, object storage, and setting environment variables for a reliable, scalable setup.

## Step 1: Set Up Required Services

Since DigitalOcean App Platform doesn't support persistent volumes, NocoDB's data must be stored using **managed services**. You’ll need:

* **PostgreSQL database**
* **Redis instance**
* **Spaces bucket (S3-compatible storage)**

### PostgreSQL

1. Go to **Databases → Create Database**.
2. Choose **PostgreSQL v15** and a region.
3. Use at least 1 vCPU / 1GB RAM for smaller workloads.
4. Once created, go to the connection info and switch to the **Connection String** view—copy this for later.

### Redis

1. Go to **Databases → Create Database** again.
2. Select **Redis v7**, same region.
3. Minimum specs: 1 vCPU / 1GB RAM.
4. Copy the Redis connection string from the details page.

### Spaces (Object Storage)

1. Go to **Spaces Object Storage → Create Spaces Bucket**.
2. Choose the same region used for your DB/Redis.
3. Then go to **API → Generate New Key** to get your `Access Key` and `Secret Key`.

## Step 2: Deploy the NocoDB App

1. Navigate to **Apps → Create App**.
2. Choose **Docker Hub** as the source.
3. Use `Repository: nocodb/nocodb` & `Tag: latest`
4. Proceed and edit the **HTTP Port** to `8080`.
5. Refer [Configuring NocoDB section](./configuring-nocodb#docker-image-configuration) to set environment variables
6. Set resources to **1 container with 2GB RAM / 1 vCPU** at a minimum.
7. Complete deployment by clicking **Create Resources**.

## Step 3: Secure the Setup

For PostgreSQL and Redis, add your NocoDB app as a **trusted source**:

* Navigate to your database → **Settings → Trusted Sources** → Add the app.

## Updating NocoDB

To upgrade to a new NocoDB version:

1. Go to **App Settings → Source → Edit Component**.
2. Change the image tag (e.g., `latest`, or a specific version).
3. Save to trigger a redeploy.

You're all set! Visit your app URL to access your NocoDB workspace.
83 changes: 83 additions & 0 deletions content/self-hosting/docker-compose.mdx
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
---
title: 'Install with Docker Compose'
icon: 'docker'
tags: ['Open Source']
keywords : ['NocoDB installation', 'NocoDB docker installation', 'NocoDB prerequisites']
---
import { Tab, Tabs } from 'fumadocs-ui/components/tabs';

Docker Compose allows you to define and run multi-container Docker applications. It's a great way to set up NocoDB along with its database in a single configuration file.


## Prerequisites
- [Docker Compose](https://docs.docker.com/compose/install/)

## docker-compose.yml

<Tabs items={['http', 'https']}>

<Tab value="http">
```
version: "3.9"
services:
nocodb:
container_name: nocodb
image: nocodb/nocodb:latest
environment:
NC_AUTH_JWT_SECRET: 'your-super-secret-passs'
NC_PUBLIC_URL: '__your_nocodb_domain__.com'
ports:
- "80:8080"
volumes:
- nocodb_data:/usr/app/data
tmpfs:
- /run:nodev,nosuid,exec,mode=0755
volumes:
nocodb_data:
```
</Tab>

<Tab value="https">
```
version: "3.9"
services:
nocodb:
container_name: nocodb
image: nocodb/nocodb:latest
environment:
NC_AUTH_JWT_SECRET: 'your-super-secret-passs'
aio_ssl_email: 'you@example.com'
aio_ssl_domain: 'example.com'
aio_ssl_enable: true
ports:
- "80:80"
- "443:443"
volumes:
- nocodb_data:/usr/app/data
tmpfs:
- /run:nodev,nosuid,exec,mode=0755
volumes:
nocodb_data:
```
</Tab>

</Tabs>

> If you have other services running on the same server using up port 80,
> see [Behind Traefik section](./traefik) to use HTTPS with NocoDB

## Start NocoDB

```bash
docker compose up -d

```
> Once the container is running, you can access NocoDB by opening http://localhost in your web browser.

## Update NocoDB

```bash
docker compose pull
docker compose down
docker compose up -d
```
Loading