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
- 2. Instalação com Docker
- 3. Conectar a Base de Dados
- 4. Interfaces e Visualizações
- 5. API REST e Automação
- 6. Permissões e Equipas
- 7. Casos de Uso PME e Lista de Verificação
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_SECRETcom 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.