开源客户关系管理平台EspoCRM

简介

什么是 EspoCRM ?

EspoCRM 是一个开源的客户关系管理(CRM)平台,旨在帮助组织建立和维护良好的客户关系。它提供了多种工具,用于存储、组织和管理潜在客户、联系人、销售机会、营销活动和支持案例等业务信息,界面简洁直观。

主要特点:

  • 开源透明性:源代码公开,任何人都可以检查和管理数据。
  • 高度可定制:用户可以开发新功能、创建自定义实体和字段,以满足特定需求。
  • 简洁用户界面:快速、易于导航,学习曲线短。
  • REST API:易于与其他应用集成。

适用对象:

  • 初创企业和中小型企业
  • 开发者和技术爱好者
  • 寻找免费 CRM 解决方案的用户

官方提供了在线 demohttps://www.espocrm.com/demo

安装

在群晖上以 Docker 方式安装。

老苏折腾时,latest 对应的版本是 8.4.2-apache

如果内核版本过低,espocrm-web 的日志中可能会遇到下面的错误

1
Function not implemented: AH00141: Could not initialize random number generator

一个办法是更换机器,另一个办法是选择 fpm 或者 fpm-alpine 的镜像,再搭配 nginx 来搭建,这个不在本文的讨论范围

涉及到多个容器,采用 docker-compose 安装,请将下面的内容保存为 docker-compose.yml 文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
version: '3'

services:
mysql:
image: mysql:8
container_name: espocrm-mysql
environment:
MYSQL_ROOT_PASSWORD: root_password
MYSQL_DATABASE: espocrm
MYSQL_USER: espocrm
MYSQL_PASSWORD: database_password
volumes:
- ./data:/var/lib/mysql
restart: always
healthcheck:
test: ["CMD", "mysqladmin", "ping", "-p database_password"]
retries: 3
timeout: 5s

espocrm:
image: espocrm/espocrm
container_name: espocrm-web
environment:
ESPOCRM_DATABASE_PLATFORM: Mysql
ESPOCRM_DATABASE_HOST: mysql
ESPOCRM_DATABASE_USER: espocrm
ESPOCRM_DATABASE_PASSWORD: database_password
ESPOCRM_ADMIN_USERNAME: admin
ESPOCRM_ADMIN_PASSWORD: password
ESPOCRM_SITE_URL: "http://192.168.0.197:8318"
volumes:
- ./web:/var/www/html
restart: always
ports:
- 8318:80
depends_on:
mysql:
condition: service_healthy

espocrm-daemon:
image: espocrm/espocrm
container_name: espocrm-daemon
volumes:
- ./web:/var/www/html
restart: always
entrypoint: docker-daemon.sh

espocrm-websocket:
image: espocrm/espocrm
container_name: espocrm-websocket
environment:
ESPOCRM_CONFIG_USE_WEB_SOCKET: "true"
ESPOCRM_CONFIG_WEB_SOCKET_URL: "ws://192.168.0.197:8319"
ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBSCRIBER_DSN: "tcp://*:7777"
ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN: "tcp://espocrm-websocket:7777"
volumes:
- ./web:/var/www/html
restart: always
entrypoint: docker-websocket.sh
ports:
- 8319:8080

环境变量的简单说明

可变
ESPOCRM_DATABASE_PLATFORM 数据库平台。支持两种数据库,可以是 MysqlPostgresql
ESPOCRM_DATABASE_HOST 数据库主机名
ESPOCRM_DATABASE_USER 数据库用户
ESPOCRM_DATABASE_PASSWORD 数据库密码
ESPOCRM_ADMIN_USERNAME 管理员的用户名
ESPOCRM_ADMIN_PASSWORD 管理员的用户密码
ESPOCRM_SITE_URL EspoCRMURL 访问地址
ESPOCRM_CONFIG_USE_WEB_SOCKET 启用或禁用 WebSocket 功能
ESPOCRM_CONFIG_WEB_SOCKET_URL 指定 WebSocket 服务器的 UR
ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBSCRIBER_DSN 定义了 WebSocket ZeroMQ 订阅者的数据源名称(DSN
ESPOCRM_CONFIG_WEB_SOCKET_ZERO_M_Q_SUBMISSION_DSN 定义了 WebSocket ZeroMQ 提交者的 DSN

更多环境变量说明,请参考官方文档:https://docs.espocrm.com/administration/docker/installation/#config-environments

然后执行下面的命令

1
2
3
4
5
6
7
8
9
10
# 新建文件夹 espocrm 和 子目录
mkdir -p /volume1/docker/espocrm/{data,web}

# 进入 espocrm 目录
cd /volume1/docker/espocrm

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

第一次运行,可能等待的时间会比较长,需要在容器 espocrm-web 的日志中看到 AH00094: Command line: 'apache2 -D FOREGROUND' 才能开始访问

在浏览器中输入 http://群晖IP:8318 就能看到登录界面

默认的账号/密码: admin/password

登录成功后的主界面

设置中文

右上角进入设置界面,找到 Language

选择 Simplified Chinese (China)

顺便你可以把时区也改成 Asia/Shanghai

保存之后,界面就是中文了

软件功能方面,留给有需要的同学慢慢摸索吧

参考文档

espocrm/espocrm: EspoCRM open source CRM application
地址:https://github.com/espocrm/espocrm

Free Self Hosted & Cloud CRM software | EspoCRM.com
地址:https://www.espocrm.com/

使用 Docker 安装 - EspoCRM 文档
地址:https://docs.espocrm.com/administration/docker/installation/