How to Install NocoDB on AlmaLinux 10

By Anurag Singh

Updated on Oct 16, 2025

How to Install NocoDB on AlmaLinux 10

Learn how to install and configure NocoDB on AlmaLinux 10 to convert any database into a user-friendly no-code platform.

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 AlmaLinux 10 dedicate server or KVM VPS.
  • Basic Linux Command Line Knowledge.
  • A domain name pointing A record to server IP.

How to Install NocoDB on AlmaLinux 10

Step 1: Update AlmaLinux 10

Before installing anything, it’s important to update the system packages to ensure stability and compatibility.

sudo dnf update -y
sudo dnf upgrade -y

This refreshes all dependencies and prepares the environment for Docker installation.

Step 2: Install Docker Engine

NocoDB runs perfectly inside Docker containers, keeping the setup clean and easy to maintain.

Now add the Docker repository and install Docker Engine:

sudo dnf install dnf-plugins-core -y
sudo dnf config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo dnf install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y

Enable and start the Docker service:

sudo systemctl enable docker
sudo systemctl start docker

Check the installation:

docker --version

Step 3: Create a NocoDB Directory

Organizing files matters. Let’s create a clean directory for NocoDB:

sudo mkdir -p /opt/nocodb
cd /opt/nocodb

Step 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.

Step 6: Secure NocoDB with a Reverse Proxy (Recommended)

If NocoDB will be accessed publicly, using a reverse proxy like Nginx or Apache is important for SSL and basic protection.

Here’s an example using Nginx:

sudo dnf install nginx -y
sudo systemctl enable nginx
sudo systemctl start nginx

Step 7: Configure firewall and SELinux

We need to add HTTP and HTTPS ports in the firewall:

sudo firewall-cmd --add-port=80/tcp --permanent
sudo firewall-cmd --add-port=443/tcp --permanent

Now, let's configure SELinux (If you have enabled SELinux):

sudo setsebool -P httpd_can_network_connect 1

Create a configuration file:

sudo nano /etc/nginx/conf.d/nocodb.conf

Add this block:

server {
    listen 80;
    server_name example.com;

    location / {
        proxy_pass http://localhost:8080;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
    }
}

Save, exit, and restart Nginx:

sudo systemctl restart nginx

Then install Certbot to enable HTTPS:

sudo dnf install certbot python3-certbot-nginx -y
sudo certbot --nginx -d example.com

Step 7: Access NocoDB Interface

Once the container is running, open our browser and visit:

http://SERVER_IP:8080

We’ll be greeted with the NocoDB setup screen. Create the first admin account — this is the main login that manages everything.

After login, we can connect any supported database by providing the credentials and selecting a table.

Step 8: Manage NocoDB Container

Useful Docker commands for managing the NocoDB container:

sudo docker ps                 # List running containers
sudo docker logs nocodb        # View logs
sudo docker restart nocodb     # Restart container
sudo docker stop nocodb        # Stop container
sudo docker rm nocodb          # Remove container

To update NocoDB to the latest version:

sudo docker pull nocodb/nocodb:latest
sudo docker stop nocodb
sudo docker rm nocodb
sudo docker run -d -p 8080:8080 -v /opt/nocodb/data:/usr/app/data --name nocodb nocodb/nocodb:latest

Conclusion

By following these steps, we’ve successfully installed NocoDB on AlmaLinux 10 using Docker — a clean, scalable setup that converts any SQL database into a no-code workspace.
NocoDB gives our team a powerful tool to collaborate, automate, and manage data visually, all while maintaining full control of our infrastructure.

This installation is ideal for small teams, developers, and organizations aiming to bring no-code flexibility without sacrificing data ownership or security.