5分钟部署企业级CRM:Twenty自托管全攻略
5分钟部署企业级CRM:Twenty自托管全攻略
【免费下载链接】twenty 构建一个由社区驱动的Salesforce的现代替代品。 项目地址: https://gitcode.com/GitHub_Trending/tw/twenty
企业数据安全与成本控制是现代业务管理的核心挑战。许多团队受制于传统CRM的高昂费用与私有部署限制,而Twenty作为开源替代方案,提供了Salesforce级别的功能且完全自主可控。本文将通过Docker与Podman两种部署方案,带您实现5分钟内完成企业级CRM系统的本地化部署,同时提供性能优化与安全加固指南。
部署前准备
系统环境需满足以下条件:
- Docker Engine 20.10+ 或 Podman 4.0+
- Docker Compose 2.0+ 或 Podman Compose
- 至少2GB RAM与20GB可用磁盘空间
- Git 2.30+版本控制工具
依赖检查可通过项目提供的自动化脚本完成:
curl -fsSL https://gitcode.com/GitHub_Trending/tw/twenty/raw/main/packages/twenty-docker/scripts/install.sh | bash -s -- --check
项目部署架构采用微服务设计,包含四个核心组件:
- PostgreSQL数据库(packages/twenty-docker/twenty-postgres-spilo/)
- Redis缓存服务(docker-compose.yml#L14-L19)
- API服务器(packages/twenty-server/src/main.ts)
- 异步任务处理器(docker-compose.yml#L37-L51)
Docker一键部署方案
Twenty提供业界领先的1-click部署脚本,已在生产环境验证稳定性:
# 克隆官方仓库
git clone https://gitcode.com/GitHub_Trending/tw/twenty.git
cd twenty/packages/twenty-docker
# 启动自动部署流程
./scripts/1-click.sh
部署过程包含以下自动化步骤(1-click.sh#L1-L22):
- 检测最新稳定版本(1-click.sh#L1)
- 验证系统依赖与Docker状态(install.sh#L3-L33)
- 交互式目录配置(install.sh#L53-L69)
- 生成安全随机密钥(install.sh#L92-L98)
- 自动端口冲突解决(install.sh#L101-L120)
成功部署后,可通过以下命令验证服务状态:
docker compose ps
# 预期输出包含 running 状态的四个容器
Podman企业级部署
针对Linux环境,项目提供Podman专属配置:
# 复制Podman配置模板
cp packages/twenty-docker/podman/podman-compose.yml .
cp packages/twenty-docker/.env.example .env
# 自定义环境变量
vi .env # 设置PG_DATABASE_PASSWORD与APP_SECRET
# 启动系统服务
podman-compose up -d
podman generate systemd --name twenty -f
sudo cp twenty*.service /etc/systemd/system/
sudo systemctl enable --now twenty.service
Podman方案优势在于原生rootless支持与SELinux兼容性,数据卷采用ZFS文件系统优化(podman-compose.yml#L12)。生产环境建议配置Terraform自动化部署(packages/twenty-docker/k8s/terraform/)。
安全加固与性能调优
企业部署必须实施以下安全措施:
-
网络隔离:通过Docker网络策略限制容器间通信
# 添加到docker-compose.yml networks: backend: driver: bridge internal: true -
数据加密:启用PostgreSQL透明数据加密
# 修改.env文件 PG_ENABLE_TDE=true -
密钥轮换:定期更新应用密钥
# 生成新密钥并更新 ./packages/twenty-cli/bin/twenty config set app.secret $(openssl rand -base64 32)
性能优化建议:
- 为PostgreSQL配置专用存储卷(docker-compose.yml#L11-L12)
- 调整Redis内存策略(podman-compose.yml#L17)
- 启用API请求缓存(packages/twenty-server/src/engine/cache/)
日常运维与监控
项目内置完整监控方案:
-
健康检查:
curl -f http://localhost:3000/api/health || systemctl restart twenty -
日志管理:
# 配置ELK堆栈集成 docker compose -f docker-compose.yml -f packages/twenty-docker/grafana/docker-compose.monitor.yml up -d -
备份策略:
# 使用项目备份工具 ./packages/twenty-cli/bin/twenty backup create --full --compress
监控面板可通过Grafana访问(packages/twenty-docker/grafana/provisioning/),默认用户名密码为admin/admin。
扩展与集成
Twenty支持多种企业集成场景:
-
SSO认证:配置OIDC提供商
// 在config.json中添加 { "auth": { "oidc": { "provider": "keycloak", "issuer": "https://auth.example.com" } } } -
数据同步:使用Zapier连接器(packages/twenty-zapier/)
-
自定义工作流:开发业务流程自动化
// 示例工作流定义 [packages/twenty-apps/hello-world/src/postCard.ts](https://link.gitcode.com/i/f77e5a0bc435233440f3a46b126608e9) import { Workflow } from '@twenty/sdk'; export const leadNurturing = new Workflow({ trigger: 'lead.created', actions: [ { type: 'send.email', template: 'welcome' } ] });
故障排除指南
常见问题解决方案:
| 问题现象 | 排查路径 | 解决方案 |
|---|---|---|
| 服务启动失败 | docker-compose logs server | 检查数据库连接字符串 |
| 数据迁移错误 | packages/twenty-server/src/database/migrations/ | 执行版本回滚 yarn typeorm migration:revert |
| API响应缓慢 | grafana/dashboards/api-performance.json | 优化查询或增加缓存 |
项目提供企业级支持渠道:
- 技术文档:README.md
- 社区论坛:GitHub Discussions
- 商业支持:enterprise@twenty.com
部署架构图
Twenty部署架构
该架构实现了:
- 无状态API服务横向扩展
- 数据层读写分离
- 异步任务处理解耦
- 多区域部署支持
通过本文档指南,企业可在保障数据主权的同时,获得与商业CRM同等的功能体验。立即通过自托管文档开始部署,或参考本地开发指南进行定制开发。
【免费下载链接】twenty 构建一个由社区驱动的Salesforce的现代替代品。 项目地址: https://gitcode.com/GitHub_Trending/tw/twenty
更多推荐

所有评论(0)