How to Install NocoDB on Ubuntu 24.04

By Anurag Singh

Updated on Oct 16, 2025

How to Install NocoDB on Ubuntu 24.04

In this tutorial, we'll learn how to install NocoDB on Ubuntu 24.04 server.

What is NocoDB

NocoDB is an open-source no-code platform that converts traditional databases into smart, spreadsheet-style interfaces. It allows teams to manage data visually, collaborate in real time, and build workflows without writing a single line of code.
It supports popular databases such as MySQL, PostgreSQL, MariaDB, and SQLite, and exposes them through intuitive UI and robust REST APIs.

In simpler terms, NocoDB acts like an open-source Airtable alternative that runs entirely on our own infrastructure. It helps development teams, analysts, and business users connect to existing databases and start managing records, views, and forms instantly — without sacrificing control or privacy.

Why NocoDB

NocoDB turns relational databases into spreadsheet-style “no-code” interfaces. You get CRUD UI, query capabilities, REST APIs over existing tables—all without writing front-end code. Good choice if you want flexibility + control over data.

Prerequisites

Before we begin, ensure we have the following:

  • An Ubuntu 24.04 dedicate server or KVM VPS.
  • Basic Linux Command Line Knowledge.
  • A domain name pointing A record to server IP.

How to Install NocoDB on Ubuntu 24.04

1. Prepare server

sudo apt update
sudo apt upgrade -y
sudo apt install -y curl git

2. Install Docker + Compose plugin

sudo apt install -y apt-transport-https ca-certificates software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] \
   https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" \
  | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt update
sudo apt install -y docker-ce

Verify:

docker version
docker compose version

3. Create project directory

mkdir ~/nocodb && cd ~/nocodb

4. Write docker-compose.yml

nano docker-compose.yml

Add following content: 

services:
  nocodb:
    image: nocodb/nocodb:latest
    container_name: nocodb
    ports:
      - "8080:8080"
    depends_on:
      - db
    environment:
      - NC_DB=pg://db:5432?u=nocodb&p=${PG_PASSWORD}&d=nocodb
      - NC_AUTH_JWT_SECRET=${NC_AUTH_JWT_SECRET}
    restart: unless-stopped

  db:
    image: postgres:15-alpine
    container_name: nocodb_db
    environment:
      - POSTGRES_USER=nocodb
      - POSTGRES_PASSWORD=${PG_PASSWORD}
      - POSTGRES_DB=nocodb
    volumes:
      - pgdata:/var/lib/postgresql/data
    restart: unless-stopped

volumes:
  nocodb_data:
  pgdata:

Important: use an .env file to store secrets.

Create .env in same folder with:

nano .env

Add following variable:

NC_AUTH_JWT_SECRET=some_random_hex_string
PG_PASSWORD=strong_password_here

Generate the JWT secret:

openssl rand -hex 32

5. Launch containers

docker compose up -d

Check status:

docker ps
docker compose logs -f

If things break, logs are your friend.

You’ll be prompted to register an admin account. After login, you can “Add Connection” to existing databases or use the built-in one.

6. Enable startup at boot

Docker Compose handles that (unless-stopped). But ensure Docker starts at boot:

sudo systemctl enable docker

7. Front your NocoDB via reverse proxy + SSL

You don’t want to expose port 8080 directly in prod. Use nginx + certbot for HTTPS.

Example:

sudo apt install -y nginx certbot python3-certbot-nginx

Add HTTP and HTTPS ports in firewall:

ufw allow 80/tcp
ufw allow 443/tcp

Create nginx config at /etc/nginx/sites-available/nocodb.conf:

nano /etc/nginx/sites-available/nocodb.conf

Add following content:

server {
  listen 80;
  server_name your.domain.com;

  location / {
    proxy_pass http://127.0.0.1:8080;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  }
}

Enable it:

sudo ln -s /etc/nginx/sites-available/nocodb.conf /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginx

Obtain SSL:

sudo certbot --nginx -d your.domain.com

Certbot will configure redirect and HTTPS. Test.

8. Access dashboard

navigate to your browser and access: 

https://your.domain.com

You'll get admin signup page

nocodb

9. Backups & maintenance

Backup data volume:

docker compose down
tar -czvf nocodb_backup_$(date +%F).tar.gz ./nocodb_data pgdata

Updates:

docker compose pull
docker compose up -d

Monitor logs:

docker compose logs -f

Scale / tweaks: you can add caching, redis, MinIO per your needs like the auto-upstall script does.

Conclusion

Installing NocoDB on Ubuntu 24.04 gives us a secure, scalable foundation for building no-code data applications on top of our existing databases. NocoDB delivers a full-featured, self-hosted platform that simplifies data collaboration and API management.

By pairing it with nginx and Certbot SSL, we ensure production-grade performance, HTTPS security, and reliability. Once running, NocoDB transforms any relational database into a dynamic, visual workspace — letting teams focus more on data and less on infrastructure.