Having a solid relational database but non-technical teams struggling to access it is a classic problem in many companies. Developers spend effort designing clean PostgreSQL schemas, yet marketing or operations teams still request data summaries via manual spreadsheets. NocoDB exists to bridge this gap: transforming a standard relational database into an Airtable-like interface accessible to anyone without writing a single line of query.
What Is NocoDB
NocoDB is an open-source no-code platform that transforms any database (PostgreSQL, MySQL, SQL Server, or SQLite) into an interactive spreadsheet interface. Unlike Airtable, which is proprietary and stores data on its own infrastructure, NocoDB can be self-hosted on your own servers, keeping data entirely under the control of your sysadmin or internal team.
The core concept is simple: connect NocoDB to an existing database, and the tool automatically reads the table schema and presents it as a grid that can be filtered, sorted, and edited directly from the browser. Developers can still access the database via standard SQL queries, while non-technical users simply open the NocoDB dashboard to view and modify data.
Why Use NocoDB
There are three primary reasons sysadmins and developer teams consider NocoDB over paid no-code solutions like Airtable.
Full Control Over Data
Because it is self-hosted, all data remains stored on your servers. This is critical for companies with strict compliance policies regarding data residency, or those uncomfortable sending sensitive data to a third-party cloud.
Long-Term Cost Savings
Airtable charges per seat fees that scale up significantly as teams grow. The open-source version of NocoDB is free to self-host, meaning costs are limited strictly to server infrastructure rather than per-user licensing.
Flexibility Over Existing Databases
NocoDB does not force you to start from scratch. If developers already have a PostgreSQL or MySQL database running in production, NocoDB can simply connect to that database without requiring any data migration.
Cloud and Self-Hosted Plans
Before proceeding with installation, it is essential to understand the plan options offered by NocoDB, as this determines the appropriate installation path. NocoDB divides its offerings into two major categories on its official pricing page: Cloud (NocoDB manages the infrastructure) and Self-Hosted/On-Premise (you run it on your own server).
NocoDB Cloud Plans
On the Cloud path, NocoDB provides four paid tiers plus one free plan:
| Plan | Price | Key Limitations |
|---|---|---|
| Free | $0 | 3 editor seats, 10 commenter seats, 1,000 records, 1 GB storage, 1,000 API calls/month |
| Plus | $15/seat/month (monthly billing) | 50,000 records, 20 GB storage, no external database connection support |
| Business | $30/seat/month (monthly billing) | 300,000 records, 100 GB storage, 10 external database connections, SAML-based SSO |
| Scale | $54/seat/month (monthly billing, min 3 seats) | 1 million records, 150 GB storage, row-level security, audit log |
| Enterprise | Custom (contact sales) | SCIM, air-gapped installation, priority support |
NocoDB Self-Hosted Plans
On the Self-Hosted path, NocoDB provides a free Community plan with features significantly more generous than the Cloud Free tier:
| Plan | Price | Key Limitations |
|---|---|---|
| Community | $0 | Unlimited records and storage, unlimited seats, 6 view types, max 2 workflows per base |
| Business | $24/seat/month (annual billing) | SAML-based SSO, table and field-level permissions, unlimited workflows/scripts/dashboards |
| Scale | $45/seat/month (annual billing, min 3 seats) | Unlimited workspaces, audit log, row-level security |
| Enterprise | Custom (contact sales) | SCIM, air-gapped installation, priority support |
Pricing data is subject to change, so always check the official pricing page directly before making a purchasing decision.
Cloud vs Self-Hosted
The most fundamental difference lies in who manages the infrastructure and where the data resides. The Cloud plan suits teams wanting immediate deployment without server management, but its Free plan is restricted: only 1,000 records and 1 GB storage. Conversely, the Community plan under Self-Hosted is free with unlimited records and storage, as resource limits depend entirely on your server capacity rather than software restrictions. The tradeoff is that sysadmins must handle installation, updates, and backups manually, whereas Cloud manages these fully. Organizations with strict data compliance requirements or large teams seeking long-term cost efficiency generally benefit more from Self-Hosted.
NocoDB Installation
There are two primary ways to start using NocoDB: signing up for a Cloud account, or self-hosting via Docker using the free Community tier. This section covers both options, beginning with hardware requirements for self-hosting.
NocoDB Cloud Option
The fastest path for beginners is creating an account on NocoDB Cloud. You simply sign up, create a base, and start building tables immediately without installation. This option is ideal for feature evaluation or small teams that do not want server maintenance overhead, though data resides on NocoDB infrastructure rather than your servers.
Self-Hosting System Requirements
Before self-hosting, ensure your server meets the following official minimum specifications:
| Resource | Minimum | Production Recommended |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 2 GB | 8 GB |
| Disk | 10 GB | 50 GB or more |
Sysadmins also require Docker with Compose v2 plugin installed. Production deployment is recommended on Linux, though macOS or Windows (via Git Bash or WSL) can be used for local evaluation.
Quickstart Installation
The Quickstart method is best suited for local testing or rapid evaluation, not for production. Run the following command in your terminal:
curl -fsSL https://install.nocodb.com/noco.sh | bash -s -- --quickThis command automatically generates a Docker Compose stack containing four containers: the NocoDB app, a worker for background tasks like import/export and automations, PostgreSQL for data storage, and Redis for caching and job queues. All data is stored in Docker named volumes to persist across container restarts or docker compose down commands. Once completed, access http://localhost:8080 in your browser and register with an email and password. The first registered account automatically receives super admin privileges.
Single-Server Production Installation
For single-server production deployments, use the Single-Server method, which includes automated HTTPS setup via Let's Encrypt. This method requires ports 80 and 443 to be publicly accessible, along with a domain configured with a DNS A record pointing to the server public IP. Run the installation script below:
curl -fsSL https://install.nocodb.com/noco.sh | bashIf you prefer to inspect the script prior to execution, download it first, review the code, then execute:
curl -fsSL https://install.nocodb.com/noco.sh -o noco.sh
less noco.sh
bash noco.shThe script prompts for interactive inputs: target domain (leave blank or use localhost for local mode without HTTPS on port 8080), whether to use bundled PostgreSQL or an external instance (e.g., RDS or Cloud SQL), Redis configuration, and an email address for Let's Encrypt certificate renewal notices if a valid domain is supplied. For non-interactive automated setups, pass all parameters via flags:
curl -fsSL https://install.nocodb.com/noco.sh | bash -s -- \
--domain=nocodb.example.com \
[email protected] \
--pg=bundled --redis=bundledThis generates a nocodb/ directory containing docker-compose.yml, docker.env, and configuration files. Following installation, sysadmins should apply production hardening: configure firewall rules, set 600 permissions on docker.env and nocodb/db.json, enable log rotation, and configure automated backups.
Connecting Databases
Once NocoDB is running, data can be added in two ways: creating a new base backed by NocoDB default database (internal SQLite/PostgreSQL), or connecting to an existing external database. For the second approach, select Create Base from the dashboard, choose Connect to an external database, and provide connection credentials (host, port, database name, username, password) for PostgreSQL, MySQL, SQLite, or SQL Server. NocoDB automatically introspects existing tables and constructs an accessible base, mapping relationships automatically using existing foreign keys.
Navigating the NocoDB Dashboard
After logging in, the NocoDB layout is divided into structured tiers. A Workspace is the top-level container holding multiple bases (equivalent to a single database or project). Inside each base, the left sidebar lists Tables, and each table can support multiple custom Views. The Settings menu at both workspace and base levels manages team members, integrations, and advanced parameters. This hierarchical structure allows sysadmins to segregate permissions easily: one workspace for an entire department, with individual bases representing distinct projects.
Creating Tables and Columns
The first practical step is creating a table. Inside a base, click the add table button, assign a name (e.g., Customers), and NocoDB will automatically populate standard system columns like Id and CreatedAt. From there, custom columns can be added by defining their field names and data types.
NocoDB Field Types
NocoDB supports a wide variety of data types, ranging from basic primitives to complex specialized fields.
- Text, Number, Date/Time: Fundamental types for storing strings, numerical values, and timestamps.
- Single Select and Multi Select: Restricts column values to a predefined list of options, such as order status (Pending, Shipped, Delivered).
- Attachment: Allows direct file uploads into cells, ideal for product images or reference documentation.
- Formula: Calculates values dynamically based on other fields within the same row, similar to spreadsheet formulas.
- Lookup: Fetches values from linked tables without requiring manual data duplication.
- Rollup: Aggregates numerical or logical data from relational tables, such as calculating total order value per customer.
Table Relationships
NocoDB's primary advantage over traditional spreadsheets is its ability to build real relational database links. Three relationship patterns are supported: One-to-One, One-to-Many, and Many-to-Many.
Consider a practical scenario with two tables: Orders and Customers. A single customer can place multiple orders, but each order belongs to only one customer, representing a One-to-Many relationship from Customers to Orders. To configure this, add a new column of type Links to the Orders table and select Customers as the target. Once linked, a Lookup field on Orders can display customer names dynamically, while a Rollup field on Customers can calculate total order spend.
Presenting Data with Views
A single dataset can be rendered in multiple representations using Views, without modifying the underlying database content.
Grid View
The default table presentation, structured as a traditional spreadsheet grid with rows and columns. Most data entry and row modifications are performed in this view.
Form View
Converts table schemas into shareable web forms accessible via public links. Ideal for external users submitting data without requiring NocoDB accounts, such as registration forms or surveys.
Gallery, Kanban, and Calendar Views
Gallery View renders rows as visual card grids, suitable for records containing Attachment fields like product catalogs. Kanban View groups rows into vertical columns based on Single Select values, useful for tracking task progress akin to Trello boards. Calendar View maps records chronologically using date fields for event management and deadline tracking.
Filter, Sort, and Group
Every view allows configuring Filters to hide records matching specific conditions, Sorts to organize display sequence, and Group By rules to cluster rows by field values. Combining these capabilities allows custom views tailored to different team workflows without duplicating table data.
Roles and Permissions
NocoDB delivers granular access control across workspace, base, table, field, and record levels. Five primary role tiers exist: Owner, Creator, Editor, Commenter, and Viewer.
Owner privileges automatically belong to workspace creators, providing full administrative control including workspace deletion and billing management. Creator roles share near-identical administrative rights to modify table schemas, relations, and automations, but cannot delete the workspace. These roles are typically assigned to sysadmins or database engineers.
Editor users can insert, modify, and delete table records, but lack privileges to alter table structures or schema links. This role fits operational personnel performing daily data updates. Commenter accounts can view records and add inline notes without modifying data, while Viewer grants read-only access. These lower-tier roles suit external stakeholders or clients who require reporting visibility without accidental modification risks.
Webhooks and APIs
NocoDB automatically generates REST API endpoints for every managed table, complete with interactive Swagger documentation accessible directly from the dashboard. Developers can consume these APIs to read or mutate database records from external microservices without writing raw SQL.
In addition to REST interfaces, NocoDB supports event-driven Webhooks triggered on record creation, updates, or deletions. Webhooks enable integrations with automation platforms such as Make, n8n, or Zapier, allowing real-time actions like sending Slack alerts when a new order record is inserted.
Conclusion
NocoDB demonstrates that relational databases and spreadsheet accessibility do not have to be mutually exclusive. With one-command Docker deployments, extensive field types, flexible table relationships, fine-grained access policies, and built-in API/webhook automation, NocoDB serves as a practical bridge between developers who require solid database architectures and non-technical teams seeking intuitive interfaces. If you run existing PostgreSQL or MySQL instances, connecting them to NocoDB offers an immediate upgrade over manual database administration.




