-
Notifications
You must be signed in to change notification settings - Fork 250
安装教程
由于会话存档服务暂时只支持Linux平台,Windows/MacOS下开发需要借助Docker来起会话存档服务,我们提供了docker-compose.yaml可以一键启动所有依赖服务,但在此之前,您需要安装docker。
理解服务架构有助您理解后续配置 服务架构# 环境要求 Windows和MacOS平台必须要docker,Linux平台docker可选。我们提供了docker-compose.yaml文件,可以一键启动项目,无需单独安装Mysql和Redis。
- Go
- Mysql5.7+,推荐Mysql8
- Redis
- 云存储,阿里云OSS,或者腾讯云COS
- 企业微信账号
Linux平台使用命令行安装,Windows和MacOS平台推荐安装 Docker Desctop
使用命令行或者直接下载都可以 https://github.com/openscrm/api-server
为了简化安装,代码库中已内置编译好的前端文件 我们仅在必要时更新这些编译好的文件,避免git体积膨胀
由于我们默认在docker中运行,所以需要编译Linux版本
set GOOS=linux
go build -o bin/api-server
- GOOS参数是目标平台配置,跨平台编译才需要带,可以是linux和windows
- -o 参数指定导出文件位置
export GOOS=linux
go build -o bin/api-server
我们提供了示例配置conf/config.example.yaml,您需要复制一份,改名为conf/config.yaml
copy conf/config.example.yaml conf/config.yaml
修改conf/config.yaml,其中带*的配置,全部需要改成适合您的。主要配置管理员手机号,应用密钥,云存储配置,企业微信配置
如果要改端口和中间件密码,请把docker/data/下面各中间件配置和docker-compose.yaml里的对应数据也改掉
# 应用基本配置
App:
Name: openscrm
# * 运行环境 DEV,TEST,PROD;开发和测试环境会开放调试API,生产环境请使用PROD;
Env: DEV
# * 应用秘钥 64位,生成命令:openssl rand -base64 64
Key: todo
# * 超级管理员手机号,自动设置此处手机号匹配到的员工为超级管理员权限
SuperAdminPhone:
- 13108329522
# 是否开启Models自动迁移,修改Model定义自动同步Mysql表结构
AutoMigration: true
# API服务配置
Server:
#debug or release
RunMode: debug
# 主服务监听端口
HttpPort: 9001
# 会话存档服务监听端口
MsgArchHttpPort: 9002
ReadTimeout: 60
WriteTimeout: 60
# 会话存档服务访问地址
MsgArchSrvHost: host.docker.internal
# Mysql数据库配置
DB:
User: root
Name: open_scrm_demo
Host: host.docker.internal:9306
Password: NWVj5IowIGk0dZlBCSF
# redis服务器配置
Redis:
Host: host.docker.internal:9379
Password: XOvqH8qXoWE4RgFScSZ
DBNumber: 0
IdleTimeout: 5
ReadTimeout: 3
DialTimeout: 5
# 存储配置
Storage:
# * 存储类型, 可配置aliyun, qcloud;分别对应阿里云OSS, 腾讯云COS
Type: aliyun
# * 阿里云OSS相关配置,请使用子账户凭据,且仅授权oss访问权限
AccessKeyId: todo
AccessKeySecret: todo
Endpoint: todo
Bucket: todo
# * 腾讯云OSS相关配置,请使用子账户凭据,且仅授权cos访问权限
SecretID:
SecretKey:
BucketURL:
# 企业微信配置
WeWork:
# * 企业ID,https://work.weixin.qq.com/wework_admin/frame#profile
ExtCorpID: ww2d3e2957190c6e4c
# * 企业微信通讯录API Secret https://work.weixin.qq.com/wework_admin/frame#apps/contactsApi
ContactSecret: todo
# * 企业微信客户联系API Secret https://work.weixin.qq.com/wework_admin/frame#customer/analysis
CustomerSecret: todo
# * 企业自建主应用ID https://work.weixin.qq.com/wework_admin/frame#apps
MainAgentID: 10004
# * 企业自建主应用Secret
MainAgentSecret: todo
# * 同步通讯录回调地址的token,客户联系共用此配置,https://work.weixin.qq.com/wework_admin/frame#apps/contactsApi,https://work.weixin.qq.com/wework_admin/frame#customer/analysis
CallbackToken: todo
# * 同步通讯录回调地址的AesKey, 客户联系共用此配置
CallbackAesKey: todo
# * 会话存档服务私钥,企业微信需开通此功能并设置好对应公钥,https://work.weixin.qq.com/wework_admin/frame#financial/corpEncryptData
PriKeyPath: /conf/private.key
# 延迟队列设置(通常无需改动)
DelayQueue:
# bucket数量
BucketSize: 3
# bucket在redis中的键名, %d必须保留
BucketName: dq_bucket_%d
# ready queue在redis中的键名, %s必须保留
QueueName: dq_queue_%s
# 调用blpop阻塞超时时间, 单位秒, 必须小于redis.read_timeout, 修改此项, redis.read_timeout需做相应调整
QueueBlockTimeout: 2
进入企业微信应用管理页面 没有自建应用的话请自行创建,注意应用可见范围设置到整个公司。 应用ID配置到config.yaml文件中的WeWork.MainAgentID
{your_server}/api/v1/callback
这一步关系到企业微信扫码登录能否正常使用 授权授权回调域为
dashboard.dev.openscrm.cn:9000
dashboard.dev.openscrm.cn 和 sidebar.dev.openscrm.cn已解析到127.0.0.1,不用手动host
进入项目主目录 复制一份docker-compose.yaml
docker-compose up 容器启动成功后,打开
http://dashboard.dev.openscrm.cn:9000/
安装完毕
我们提供的Docker镜像,默认是桥接方式,挂在宿主机的端口上的,所以要本地开发调试某个服务,docker-compose里注释掉该服务,本地起起来就可以了,他们的访问地址是一样的。
以api-server为例,docker-compose.yaml里注释掉api-server,然后重启docker容器,本地go run main.go 即可启动本地的程序替代掉容器。 Dashboard和Sidebar同理。