NocoDB: Alternativa Código Aberto ao Airtable No-Code

O NocoDB é uma plataforma de código aberto que transforma qualquer base de dados PostgreSQL ou MySQL numa interface no-code semelhante ao Airtable. Para PME que precisam de bases de dados colaborativas sem custos de licenciamento por utilizador, o NocoDB oferece interfaces visuais, API REST automática, permissões por equipa e integração com Slack ou Microsoft Teams — tudo auto-alojado.

ℹ O NocoDB gera automaticamente uma API REST sobre qualquer base de dados PostgreSQL ou MySQL existente.

Neste artigo:

1. Introdução ao NocoDB

O NocoDB converte bases de dados relacionais em interfaces tipo folha de cálculo colaborativas. Em vez de escrever SQL ou contratar um programador para cada formulário, painel ou API, o NocoDB cria automaticamente vistas de grelha, galeria, kanban e formulários sobre tabelas existentes.

A principal vantagem sobre o Airtable é o custo: o NocoDB é gratuito e auto-alojado, sem limites de registos ou utilizadores. A base de dados continua num servidor PostgreSQL ou MySQL que a empresa já possui — o NocoDB é apenas a camada de interface por cima.

Funcionalidade NocoDB Airtable
Licenciamento Código aberto (grátis) Proprietário (pago)
Base de dados PostgreSQL/MySQL próprio Servidor gerido pela Airtable
Limite de registos Sem limite 50.000 (plano pago)
Auto-alojado Sim Não

2. Instalação com Docker

A forma mais rápida de colocar o NocoDB a funcionar é com Docker. Um único contentor inclui a aplicação web, a API e uma base de dados SQLite embutida para configuração inicial. Para produção, recomenda-se ligar a um PostgreSQL externo.

# Instalar com Docker
docker run -d --name nocodb -p 8080:8080 nocodb/nocodb

# Com PostgreSQL externo
docker run -d --name nocodb -p 8080:8080 \
  -e NC_DB=pg://host:5432 \
  -e NC_AUTH_JWT_SECRET=chave \
  nocodb/nocodb

Para ambientes com múltiplos serviços, o docker-compose.yml é preferível — permite definir o NocoDB e o PostgreSQL no mesmo ficheiro, facilitando cópias de segurança e actualizações. Para mais detalhes sobre Docker Compose, consulte o artigo sobre Docker Compose multi-serviço.

# docker-compose.yml
version: '3'
services:
  nocodb:
    image: nocodb/nocodb
    ports: ['8080:8080']
    environment:
      NC_DB: pg://db:5432
      NC_AUTH_JWT_SECRET: chave-secreta
  db:
    image: postgres:16
    environment:
      POSTGRES_PASSWORD: senha

⚠ Não expor a porta do NocoDB directamente à internet sem configurar autenticação.

3. Conectar a Base de Dados

Depois de iniciar o contentor, aceda a http://servidor:8080 e crie a conta de administrador. O NocoDB detecta automaticamente o esquema da base de dados e gera vistas de grelha para cada tabela.

Para conectar a uma base de dados existente, use a variável NC_DB no formato pg://host:porta para PostgreSQL ou mysql2://host:porta para MySQL. O NocoDB lê as tabelas, colunas e relações existentes sem modificar a estrutura.

Se ainda não tem um PostgreSQL configurado, o próprio docker-compose.yml acima inclui um contentor PostgreSQL 16. Para monitorização desse PostgreSQL, considere o VictoriaMetrics como alternativa ao Prometheus.

4. Interfaces e Visualizações

O NocoDB oferece múltiplas vistas sobre a mesma tabela, cada uma adequada a um caso de uso diferente. Não é preciso escrever código — as vistas criam-se através da interface web.

  • Grelha (Grid): Vista tipo folha de cálculo para edição rápida de registos em colunas.
  • Galeria (Gallery): Cartões visuais com imagens, útil para catálogos de produtos.
  • Kanban: Colunas por estado, ideal para acompanhamento de projectos ou pedidos.
  • Formulário (Form): Campos configuráveis para recolha de dados externa.

Cada vista pode ter filtros, ordenação e campos ocultos independentes. Um gestor pode ver um Kanban de tarefas por prioridade enquanto a equipa edita a mesma tabela em vista de grelha — sem que uma vista afecte a outra.

Para gerir o servidor onde o NocoDB corre, o 1Panel como painel web de código aberto é uma opção complementar.

5. API REST e Automação

O NocoDB gera automaticamente uma API REST completa sobre cada tabela. Não é preciso definir pontos de acesso manualmente — cada tabela expõe operações CRUD com paginação, filtros e ordenação via parâmetros de consulta.

# API REST automática (v3)
# GET  /api/v3/data/{baseId}/{tableId}/records
# POST /api/v3/data/{baseId}/{tableId}/records

A documentação interativa (/api/docs) lista todos os pontos de acesso gerados, incluindo operações de criação, leitura, actualização e remoção. A autenticação usa tokens JWT gerados pelo NocoDB.

Para automação, o NocoDB integra-se com webhooks que disparam notificações para Slack ou Microsoft Teams quando um registo é criado, modificado ou removido. Isto permite alertas automáticos — por exemplo, notificar um canal do Slack quando um novo item entra no inventário.

6. Permissões e Equipas

O NocoDB organiza o acesso em bases de dados (espaços de trabalho), equipas e utilizadores. Cada espaço de trabalho pode ter múltiplas equipas com níveis de permissão distintos sobre cada tabela.

Nível Permissões
Owner Gestão total, convida utilizadores, apaga espaço de trabalho
Creator Cria e edita tabelas, vistas e API tokens
Editor Edita registos, não altera estrutura
Commenter Comenta registos, não edita dados
Viewer Leitura apenas

Esta granularidade permite que diferentes departamentos partilhem a mesma base de dados sem risco. A equipa de vendas pode editar o CRM, enquanto o armazém só vê o inventário em leitura.

7. Casos de Uso PME e Lista de Verificação

O NocoDB é particularmente útil para PME que precisam de bases de dados colaborativas mas não justificam o custo de plataformas SaaS por utilizador. Três casos de uso típicos:

  • Inventário: Tabela de produtos com vista de galeria para imagens, kanban por estado de stock e formulário para entradas de armazém.
  • CRM: Contactos e oportunidades com vista de grelha para edição rápida, filtros por etapa de venda e webhooks para notificar a equipa comercial.
  • Acompanhamento de projectos: Tarefas com kanban por prioridade, vista de grelha para atribuição de responsáveis e API REST para integrar com ferramentas externas.

Lista de verificação para produção

  • Definir NC_AUTH_JWT_SECRET com uma chave aleatória forte
  • Ligar a PostgreSQL/MySQL externo em vez de SQLite
  • Configurar proxy inverso com HTTPS (Nginx, Caddy ou Traefik)
  • Restringir acesso à porta 8080 à rede interna ou VPN
  • Criar equipas e atribuir permissões mínimas por função
  • Configurar cópias de segurança automáticas da base de dados PostgreSQL
  • Activar webhooks para Slack/Teams nas tabelas críticas
  • Testar API REST com tokens antes de integrar em aplicações

O NocoDB combina a simplicidade visual do Airtable com o controlo e custo zero do código aberto auto-alojado. Para PME com infraestrutura Docker já em produção, a instalação leva minutos e o valor é imediato. A documentação oficial está disponível em docs.nocodb.com e o código-fonte no GitHub.