NocoDB Spreadsheet UI over farmdb โ€” Airtable-shaped

Installed Apr 30, 2026 alongside Directus to compare UX over a few days.

Summary
URL https://nocodb.edmd.me
Local http://192.168.8.100:8080
Container nocodb/nocodb:latest on CT100
Compose /opt/nocodb/docker-compose.yml
Metadata DB nocodb_meta on 192.168.8.100:5432 (separate from farmdb to avoid pollution)
Data DB farmdb (added as a Data Source via the NocoDB UI)
Volume /mnt/container-data/nocodb
Setup notes
  • Auth secret at /opt/nocodb/secrets.env (NC_AUTH_JWT_SECRET, random hex 48). Should be moved to Vaultwarden.
  • Telemetry disabled: NC_DISABLE_TELE=true
  • Public URL: NC_PUBLIC_URL=https://nocodb.edmd.me set so links emitted by NocoDB use the right domain.
  • Critical for private-network DBs: NC_ALLOW_LOCAL_EXTERNAL_DBS=true โ€” without this, NocoDB’s SSRF protection (tightened in v0.301.4 March 2026) blocks connections to RFC1918 addresses like 192.168.8.100:5432. Symptom: “Forbidden host name or IP address” when adding a Data Source. The deprecated SSRF_ALLOWED_DOMAINS env var no longer works.
Why NocoDB

NocoDB presents a more spreadsheet-shaped UI compared to Directus’s form-shaped admin UI. Strengths:

  • Airtable-style grid view with inline editing, sorting, filtering
  • Multiple views per table (grid, gallery, kanban, calendar)
  • Easier to scan many records at once
  • More familiar to non-technical users

Like Directus, it sits on top of farmdb without restructuring data. Edits made in NocoDB are visible in Directus, the Farm MCP, and direct psql.

Caveats
  • License: NocoDB switched to “Sustainable Use License” โ€” fine for personal/homelab use, less open than it was. Directus is BSL but free under usage threshold.
  • Two UIs editing the same data: Don’t run Directus and NocoDB long-term simultaneously. Decision deadline: ~1 week of side-by-side use, then commit to one.
  • directus_* tables visible: When connecting NocoDB to farmdb, deselect the 30 directus_* system tables during schema import to avoid sidebar clutter.