Punya database relasional yang solid tapi tim non-teknis kesulitan mengaksesnya adalah masalah klasik di banyak perusahaan. Developer sudah capek-capek merancang skema PostgreSQL yang rapi, tapi tim marketing atau operasional tetap minta rekap data lewat spreadsheet manual. NocoDB hadir untuk menutup celah ini: mengubah database relasional biasa menjadi antarmuka mirip Airtable yang bisa diakses siapa saja tanpa perlu menulis satu baris query pun.
Apa Itu NocoDB
NocoDB adalah platform no-code open source yang mengubah database apa pun (PostgreSQL, MySQL, SQL Server, atau SQLite) menjadi antarmuka spreadsheet yang interaktif. Berbeda dari Airtable yang proprietary dan menyimpan data di infrastruktur mereka sendiri, NocoDB bisa di-self-host di server milik kita sendiri, sehingga data tetap berada di bawah kendali penuh sysadmin atau tim internal.
Konsep intinya sederhana: kita hubungkan NocoDB ke database yang sudah ada, lalu tool ini otomatis membaca skema tabel dan menyajikannya sebagai grid yang bisa difilter, disortir, dan diedit langsung dari browser. Developer tetap bisa mengakses database lewat query SQL seperti biasa, sementara user non-teknis cukup buka dashboard NocoDB untuk melihat dan mengubah data.
Kenapa Pakai NocoDB
Ada tiga alasan utama sysadmin dan tim developer mempertimbangkan NocoDB dibanding solusi no-code berbayar seperti Airtable.
Kontrol Penuh atas Data
Karena bersifat self-hosted, semua data tetap tersimpan di server milik kita. Ini penting buat perusahaan yang punya kebijakan kepatuhan ketat soal lokasi penyimpanan data, atau yang tidak nyaman mengirim data sensitif ke third-party cloud.
Hemat Biaya Jangka Panjang
Airtable mengenakan biaya per seat yang bisa membengkak kalau tim bertambah besar. NocoDB versi open-source gratis dipasang sendiri, jadi biaya yang dikeluarkan cuma untuk infrastruktur server, bukan per kepala pengguna.
Fleksibel di Atas Database Existing
NocoDB tidak memaksa kita memulai dari nol. Kalau developer sudah punya database PostgreSQL atau MySQL yang berjalan di produksi, NocoDB tinggal dihubungkan ke database itu tanpa migrasi data sama sekali.
Paket Cloud dan Self-Hosted
Sebelum masuk ke instalasi, penting mengenal dulu opsi paket yang ditawarkan NocoDB, karena ini menentukan jalur instalasi mana yang cocok. NocoDB membagi penawarannya jadi dua kategori besar di halaman pricing resminya: Cloud (NocoDB yang mengelola infrastrukturnya) dan Self-Hosted/On-Premise (kita yang menjalankan sendiri di server sendiri).
Paket NocoDB Cloud
Di jalur Cloud, NocoDB menyediakan empat tingkatan berbayar plus satu paket gratis:
| Paket | Harga | Batasan Utama |
|---|---|---|
| Free | $0 | 3 seat editor, 10 seat commenter, 1.000 record, 1 GB storage, 1.000 API call/bulan |
| Plus | $15/seat/bulan (billing bulanan) | 50.000 record, 20 GB storage, tidak mendukung koneksi database eksternal |
| Business | $30/seat/bulan (billing bulanan) | 300.000 record, 100 GB storage, 10 koneksi database eksternal, SSO berbasis SAML |
| Scale | $54/seat/bulan (billing bulanan, minimal 3 seat) | 1 juta record, 150 GB storage, row level security, audit log |
| Enterprise | Kustom (hubungi sales) | SCIM, instalasi air-gapped, dukungan prioritas |
Paket NocoDB Self-Hosted
Di jalur Self-Hosted, NocoDB justru menyediakan paket Community gratis dengan fitur yang jauh lebih lega dibanding paket Free versi Cloud:
| Paket | Harga | Batasan Utama |
|---|---|---|
| Community | $0 | Record dan storage tanpa batas, seat tanpa batas, 6 tipe view, maksimal 2 workflow per base |
| Business | $24/seat/bulan (billing tahunan) | SSO berbasis SAML, izin di level tabel dan field, workflow/script/dashboard tanpa batas |
| Scale | $45/seat/bulan (billing tahunan, minimal 3 seat) | Workspace tanpa batas, audit log, row level security |
| Enterprise | Kustom (hubungi sales) | SCIM, instalasi air-gapped, dukungan prioritas |
Data pricing di atas bisa berubah sewaktu-waktu, jadi selalu cek langsung ke halaman pricing resmi sebelum mengambil keputusan pembelian.
Cloud vs Self-Hosted
Perbedaan paling mendasar ada di siapa yang mengelola infrastruktur dan di mana data disimpan. Paket Cloud cocok untuk tim yang mau langsung pakai tanpa mengurus server, tapi paket gratisnya (Free) cukup terbatas: hanya 1.000 record dan 1 GB storage. Sebaliknya, paket Community di jalur Self-Hosted justru gratis tanpa batas record maupun storage, karena batasan resource-nya sepenuhnya bergantung pada kapasitas server yang kita sediakan sendiri, bukan dibatasi oleh NocoDB. Trade-off-nya, sysadmin harus mengurus sendiri instalasi, update, dan backup, sesuatu yang di Cloud sudah ditangani penuh oleh NocoDB. Perusahaan dengan kebijakan kepatuhan data yang ketat, atau yang ingin menghemat biaya jangka panjang dengan tim besar, umumnya lebih diuntungkan memilih Self-Hosted.
Instalasi NocoDB
Ada dua jalur utama untuk mulai memakai NocoDB: mendaftar akun di layanan Cloud, atau self-host sendiri lewat Docker memakai paket Community yang gratis. Bagian ini memandu kedua opsi tersebut, dimulai dari persyaratan sistem untuk self-hosting.
Opsi Cloud NocoDB
Cara paling cepat buat pemula adalah mendaftar akun di NocoDB Cloud. Kita tinggal buat akun, buat base baru, dan langsung bisa mulai membuat tabel tanpa instalasi apa pun. Opsi ini cocok untuk uji coba fitur atau tim kecil yang tidak mau repot mengurus server sendiri, meski konsekuensinya data tersimpan di infrastruktur NocoDB, bukan server kita.
Persyaratan Sistem Self-Hosting
Sebelum self-host, pastikan server sudah memenuhi spesifikasi minimum resmi berikut:
| Kebutuhan | Minimum | Rekomendasi Produksi |
|---|---|---|
| CPU | 2 vCPU | 4 vCPU |
| RAM | 2 GB | 8 GB |
| Disk | 10 GB | 50 GB atau lebih |
Sysadmin juga perlu Docker dengan plugin Compose v2 terpasang di server. Instalasi produksi disarankan berjalan di Linux, meski macOS atau Windows (lewat Git Bash atau WSL) tetap bisa dipakai untuk uji coba.
Instalasi Quickstart
Metode Quickstart paling cocok untuk uji coba lokal atau evaluasi cepat, bukan untuk produksi. Jalankan satu perintah berikut di terminal:
curl -fsSL https://install.nocodb.com/noco.sh | bash -s -- --quickPerintah ini otomatis men-generate stack Docker Compose berisi empat container: aplikasi NocoDB, worker untuk tugas background seperti impor/ekspor dan automation, PostgreSQL untuk penyimpanan data, dan Redis untuk caching serta antrean job. Semua datanya disimpan di Docker named volume sehingga tetap ada meski container di-restart atau dihentikan lewat docker compose down. Setelah proses instalasi selesai, buka http://localhost:8080 di browser, lalu daftar dengan email dan password. Akun pertama yang mendaftar otomatis mendapat hak super admin.
Instalasi Single-Server untuk Produksi
Untuk deployment produksi di satu server, gunakan metode Single-Server yang sudah dilengkapi HTTPS otomatis lewat Let's Encrypt. Metode ini butuh port 80 dan 443 yang bisa diakses dari luar, serta idealnya sudah ada domain dengan DNS record tipe A yang mengarah ke IP publik server. Jalankan perintah instalasi berikut:
curl -fsSL https://install.nocodb.com/noco.sh | bashKalau ingin memeriksa isi script sebelum dieksekusi, unduh dulu filenya, baca isinya, baru jalankan:
curl -fsSL https://install.nocodb.com/noco.sh -o noco.sh
less noco.sh
bash noco.shScript ini akan menanyakan beberapa hal secara interaktif: domain yang dipakai (kosongkan atau isi localhost kalau ingin mode lokal tanpa HTTPS di port 8080), apakah memakai PostgreSQL bawaan atau yang sudah ada (misalnya RDS atau Cloud SQL), begitu juga untuk Redis, dan alamat email untuk notifikasi perpanjangan sertifikat Let's Encrypt kalau domain asli diisi. Untuk instalasi otomatis tanpa prompt interaktif, sertakan semua parameter lewat flag:
curl -fsSL https://install.nocodb.com/noco.sh | bash -s -- \
--domain=nocodb.contoh.com \
[email protected] \
--pg=bundled --redis=bundledInstalasi ini menghasilkan direktori nocodb/ berisi docker-compose.yml, docker.env, dan file konfigurasi lain. Setelah instalasi selesai, sysadmin disarankan menerapkan langkah pengamanan produksi: atur aturan firewall, pastikan file docker.env dan nocodb/db.json punya permission 600, aktifkan rotasi log, dan jadwalkan backup rutin.
Menghubungkan Database
Setelah NocoDB aktif, ada dua cara mengisi data: membuat base baru dari database bawaan NocoDB (default-nya SQLite/PostgreSQL internal), atau menghubungkan ke database eksternal yang sudah berjalan. Untuk opsi kedua, dari dashboard pilih Create Base, lalu pilih Connect to an external database, dan isi kredensial koneksi (host, port, nama database, user, dan password) untuk PostgreSQL, MySQL, SQLite, atau SQL Server. NocoDB otomatis membaca semua tabel yang ada di database tersebut dan menyajikannya sebagai base yang siap dipakai, lengkap dengan relasi antar tabel yang sudah terdeteksi dari foreign key yang ada.
Navigasi Dashboard NocoDB
Setelah login, struktur antarmuka NocoDB terbagi jadi beberapa lapisan. Workspace adalah wadah paling atas yang bisa berisi banyak base (setara satu database atau proyek). Di dalam tiap base, kita akan menemukan daftar Tables di sidebar kiri, dan tiap tabel punya beberapa Views yang bisa dibuat sesuka hati. Menu Settings di level workspace maupun base dipakai untuk mengatur anggota tim, integrasi, dan konfigurasi lanjutan lainnya. Struktur berjenjang ini memudahkan sysadmin memisahkan akses: satu workspace bisa dipakai satu divisi, sementara tiap base di dalamnya mewakili proyek yang berbeda.
Membuat Tabel dan Kolom
Langkah pertama praktik adalah membuat tabel. Dari dalam base, klik tombol tambah tabel, beri nama (misalnya Pelanggan), lalu NocoDB otomatis menyediakan beberapa kolom bawaan seperti Id dan CreatedAt. Dari sana kita tinggal menambahkan kolom baru sesuai kebutuhan dengan menentukan nama dan tipe datanya.
Tipe Data di NocoDB
NocoDB menyediakan cukup banyak tipe data (field type), dari yang dasar sampai yang cukup canggih.
- Text, Number, Date/Time: tipe data dasar untuk menyimpan string, angka, dan tanggal.
- Single Select dan Multi Select: dipakai kalau nilai kolom terbatas pada beberapa pilihan tetap, misalnya status pesanan (Pending, Shipped, Delivered).
- Attachment: memungkinkan user meng-upload file langsung ke dalam sel, cocok untuk menyimpan foto produk atau dokumen pendukung.
- Formula: menghitung nilai baru berdasarkan kolom lain di baris yang sama, mirip formula di spreadsheet.
- Lookup: menarik nilai dari tabel lain yang terhubung lewat relasi, tanpa perlu duplikasi data secara manual.
- Rollup: meringkas data dari tabel relasi, misalnya menjumlahkan total nilai pesanan milik satu pelanggan.
Relasi Antar Tabel
Kekuatan NocoDB dibanding spreadsheet biasa ada di kemampuannya membangun relasi antar tabel layaknya database relasional sungguhan. Ada tiga jenis relasi yang didukung: One-to-One, One-to-Many, dan Many-to-Many.
Studi kasus sederhana: ambil dua tabel, Pesanan dan Pelanggan. Satu pelanggan bisa punya banyak pesanan, tapi satu pesanan hanya milik satu pelanggan, jadi ini relasi One-to-Many dari Pelanggan ke Pesanan. Untuk membuatnya, tambahkan kolom baru bertipe Links di tabel Pesanan, lalu pilih tabel Pelanggan sebagai target. Setelah relasi terbentuk, kita bisa memakai kolom Lookup di tabel Pesanan untuk menampilkan nama pelanggan tanpa perlu mengetik ulang, atau memakai Rollup di tabel Pelanggan untuk menjumlahkan total nilai semua pesanannya.
Tampilan Data dengan Views
Satu tabel yang sama bisa ditampilkan dengan beberapa cara berbeda lewat fitur Views, tanpa mengubah data aslinya sama sekali.
Grid View
Ini tampilan bawaan setiap tabel baru, berbentuk spreadsheet klasik dengan baris dan kolom. Sebagian besar pekerjaan input dan edit data dilakukan lewat view ini.
Form View
View ini mengubah tabel jadi formulir input yang bisa dibagikan lewat tautan publik. Cocok dipakai visitor eksternal untuk mengisi data tanpa perlu akses login ke NocoDB, misalnya formulir pendaftaran atau survei.
Gallery, Kanban, dan Calendar View
Gallery View menampilkan tiap baris sebagai kartu visual, cocok untuk data yang punya kolom Attachment seperti katalog produk. Kanban View mengelompokkan baris jadi kolom berdasarkan nilai Single Select, ideal untuk melacak status pekerjaan seperti papan Trello. Calendar View menampilkan baris berdasarkan kolom tanggal, berguna untuk jadwal atau deadline.
Filter, Sort, dan Group
Di setiap view, kita bisa menambahkan Filter untuk menyaring baris sesuai kondisi tertentu, Sort untuk mengurutkan data, dan Group By untuk mengelompokkan baris berdasarkan nilai kolom. Kombinasi ketiganya membuat satu tabel besar bisa disajikan dengan sudut pandang berbeda untuk kebutuhan masing-masing tim, tanpa perlu membuat tabel duplikat.
Role dan Permission
NocoDB menyediakan kontrol akses berjenjang di level workspace, base, tabel, field, sampai record. Ada lima peran utama: Owner, Creator, Editor, Commenter, dan Viewer.
Owner otomatis melekat pada pembuat workspace, punya kontrol penuh termasuk menghapus workspace dan mengatur billing. Creator punya kontrol hampir setara Owner, bisa mengubah skema tabel, relasi, dan automation, tapi tidak bisa menghapus workspace. Kedua peran ini biasanya dipegang sysadmin atau developer yang bertanggung jawab merancang struktur data.
Editor bisa menambah, mengubah, dan menghapus record, tapi tidak bisa mengubah skema tabel atau relasi. Peran ini cocok untuk user operasional yang rutin mengisi data harian. Commenter hanya bisa melihat data dan menambahkan komentar tanpa mengubah apa pun, sementara Viewer murni akses baca. Dua peran terakhir ini pas dipakai untuk client atau pihak eksternal yang cuma perlu memantau data tanpa risiko mengubahnya secara tidak sengaja.
Webhook dan API
NocoDB otomatis men-generate REST API untuk setiap tabel yang kita buat, lengkap dengan dokumentasi Swagger yang bisa dilihat langsung dari dashboard. Developer bisa memakai API ini untuk membaca atau menulis data dari aplikasi eksternal tanpa perlu menyentuh database secara langsung.
Selain API, NocoDB juga mendukung Webhook yang bisa dipicu saat ada event tertentu, misalnya baris baru ditambahkan atau data diubah. Webhook ini memudahkan integrasi dengan platform automasi seperti Make, n8n, atau Zapier, sehingga perubahan data di NocoDB bisa langsung memicu aksi di sistem lain, misalnya mengirim notifikasi Slack setiap kali ada pesanan baru masuk.
Kesimpulan
NocoDB membuktikan bahwa database relasional dan kemudahan spreadsheet tidak harus jadi pilihan yang saling eksklusif. Dari instalasi Docker yang cukup satu baris perintah, tipe data yang kaya, relasi antar tabel yang fleksibel, sampai kontrol akses berjenjang dan integrasi API/webhook, NocoDB jadi jembatan yang masuk akal antara developer yang butuh database solid dan tim non-teknis yang cuma ingin antarmuka sederhana. Kalau kita sudah punya database PostgreSQL atau MySQL yang berjalan, coba hubungkan ke NocoDB dan rasakan sendiri bedanya mengelola data lewat dashboard dibanding lewat query manual.




