Twenty CRM otimizado para deployment automático no Easypanel com funcionalidades customizadas de pastas, arquivos e notas com links públicos.
- Criar pastas hierárquicas
- Organizar em estrutura de árvore
- Renomear e atualizar descrição
- Deletar com cascata de arquivos
- Gerar token único para cada pasta
- Compartilhar sem necessidade de login
- Acesso público controlado
- Log de auditoria de acessos
- Upload com validação
- Armazenamento local ou S3
- Preview de imagens
- Download de arquivos
- Compressão automática
- Criar notas com pasta automática
- Vincular a pastas existentes
- Editar conteúdo
- Visualizar pasta associada
- Autenticação JWT
- Verificação de workspace
- Níveis de permissão (view, edit, admin)
- Row Level Security (RLS)
- Rate limiting
- Conta no Easypanel
- Domínio configurado
- Banco de dados PostgreSQL (gerenciado ou externo)
- Acesse o painel do Easypanel
- Clique em Create Project
- Selecione GitHub
- Escolha este repositório (
twenty-crm-easypanel) - Clique em Connect
No painel do Easypanel, vá para Settings → Environment Variables e adicione:
# Obrigatórias
DATABASE_URL=postgresql://usuario:senha@seu-postgres-host:5432/twenty_crm
PG_DATABASE_URL=postgresql://usuario:senha@seu-postgres-host:5432/twenty_crm
NODE_ENV=production
APP_SECRET=gerar_com_openssl_rand_base64_32
FRONTEND_URL=https://seu-dominio.com
SERVER_URL=https://seu-dominio.com/api
# Opcionais
STORAGE_TYPE=local
STORAGE_LOCAL_PATH=.local-storage
IS_WORKSPACE_CREATION_LIMITED_TO_SERVER_ADMINS=false
AUTH_PASSWORD_ENABLED=true
IS_MULTIWORKSPACE_ENABLED=true- Clique em Deploy
- Aguarde o build (15-20 minutos)
- Acesse sua aplicação quando estiver pronto
.
├── Dockerfile # Build otimizado para Easypanel
├── nixpacks.toml # Configuração Nixpacks (detecção automática)
├── package.json # Scripts de build
├── .env.example # Variáveis de ambiente
├── README.md # Este arquivo
├── DEPLOYMENT.md # Guia de deployment detalhado
├── scripts/
│ └── init-easypanel.sh # Script de inicialização
├── sql/
│ ├── init.sql # Inicialização do PostgreSQL
│ ├── create-tables.sql # Tabelas customizadas
│ └── create-indexes.sql # Índices para performance
├── .dockerignore # Arquivos ignorados no build
├── .gitignore # Arquivos ignorados no git
└── packages/ # Código-fonte do Twenty (não incluído)
├── twenty-server/ # Backend NestJS
├── twenty-front/ # Frontend React
└── ...
| Variável | Descrição | Exemplo |
|---|---|---|
DATABASE_URL |
URL de conexão PostgreSQL | postgresql://user:pass@host:5432/db |
NODE_ENV |
Ambiente | production |
APP_SECRET |
Secret da aplicação | gerar_com_openssl_rand_base64_32 |
FRONTEND_URL |
URL do frontend | https://seu-dominio.com |
SERVER_URL |
URL da API | https://seu-dominio.com/api |
| Variável | Padrão | Descrição |
|---|---|---|
STORAGE_TYPE |
local |
Tipo de armazenamento |
STORAGE_LOCAL_PATH |
.local-storage |
Caminho de armazenamento |
EMAIL_DRIVER |
logger |
Driver de email |
IS_MULTIWORKSPACE_ENABLED |
true |
Habilitar múltiplos workspaces |
- No Easypanel, vá para Databases
- Clique em Create Database
- Selecione PostgreSQL
- Configure e copie a URL
- Crie um banco de dados:
twenty_crm - Execute os scripts SQL:
psql $DATABASE_URL < sql/init.sql psql $DATABASE_URL < sql/create-tables.sql psql $DATABASE_URL < sql/create-indexes.sql
# No seu computador
openssl rand -base64 32
# Copie o resultado e adicione em Environment Variablesyarn install && yarn buildnode dist/packages/twenty-server/src/main.js3000
- Acesse o painel do Easypanel
- Vá para seu projeto
- Verifique o status em Deployments
# Health check
curl https://seu-dominio.com/healthz
# Acessar aplicação
https://seu-dominio.com- DEPLOYMENT.md - Guia completo de deployment
- CONTRIBUTING.md - Guia de contribuição
- Twenty Documentation
- Easypanel Documentation
Solução:
1. Verifique se package.json está na raiz
2. Verifique se nixpacks.toml está correto
3. Consulte os logs de build
4. Certifique-se de que yarn.lock existe
Solução:
1. Verifique DATABASE_URL
2. Teste a conexão: psql $DATABASE_URL
3. Certifique-se de que o banco está acessível
Solução:
1. Aumente a memória do container
2. Otimize as queries
3. Implemente cache
- Mude a senha do PostgreSQL
- Use APP_SECRET forte (32+ caracteres)
- HTTPS é automático no Easypanel
- Configure firewall do banco
- Monitore logs regularmente
- Faça backups regulares
No painel do Easypanel:
- Logs - Ver logs de aplicação
- Monitoring - Ver recursos (CPU, Memória, Disco)
- Deployments - Ver histórico de deploys
# Via Easypanel
# Vá para Databases → Backups
# Ou manualmente
pg_dump $DATABASE_URL > backup.sqlpsql $DATABASE_URL < backup.sqlQuando quiser fazer deploy de uma nova versão:
git add .
git commit -m "Update Twenty CRM"
git push origin mainO Easypanel fará deploy automaticamente (se auto-deploy estiver habilitado).
- Domínio: Certifique-se de que seu domínio aponta para o Easypanel
- Banco de Dados: Use um banco gerenciado ou externo
- Variáveis: Todas as variáveis obrigatórias devem estar configuradas
- Build: O primeiro build pode levar 15+ minutos
- SSL: HTTPS é automático no Easypanel
- ✅ Importar repositório no Easypanel
- ✅ Criar banco de dados
- ✅ Configurar variáveis de ambiente
- ✅ Fazer deploy
- ✅ Criar primeira conta
- ✅ Criar workspace
- ✅ Testar funcionalidades
- ✅ Configurar backups
Twenty CRM é open-source sob licença AGPL-3.0.
Veja LICENSE para detalhes completos.
Contribuições são bem-vindas! Veja CONTRIBUTING.md para detalhes.
Para problemas ou dúvidas:
- Consulte DEPLOYMENT.md
- Verifique os logs no Easypanel
- Consulte Twenty Docs
- Consulte Easypanel Docs
- Twenty - CRM open-source
- Easypanel - Plataforma de deployment
- PostgreSQL - Banco de dados
Versão: 1.0
Data: 27 de Fevereiro de 2026
Status: ✅ Pronto para Easypanel
Última Atualização: 2026-02-27