帮助管理个人交际关系的Monica

你能记住你所有朋友的孩子的名字吗?你还记得你哥哥的结婚纪念日吗?你能说出你上次给你祖母打电话是什么时候,你谈了什么吗?

Monica 可让您快速轻松地记录所有这些信息,这样您就可以成为更好的朋友、家人或配偶。

什么是 Monica ?

Monica 是一款用于管理个人交际关系的开源 Web 应用系统。基于 PHPMySQL,可做为个人的 CRM 系统,帮助您记住关于你的朋友、家人和商业关系的一切。

安装

建数据库

数据库直接用的群晖的 MariaDB 10,在 phpMyAdmin 中创建了表名为 monica 的空表

安装 Monica

monica 最新版本是 3.3.1,根据基础镜像又分为了 3 个版本,分别是 3.3.1-apache3.3.1-fpm3.3.1-fpm-alpine

不能用 latest 版本,因为 latest 版默认是基于 apache 的 ,在初始化时会出现下面的错误

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

关于这个错误的原因,老苏在 『 开源生产力套件Nextcloud 』一文中已经讲过,有兴趣的可以去翻翻

如果使用 fpm 镜像,其镜像本身未内置 web 服务器,需要依赖于 nginx 或者其他 web 服务,我们按官方的教程用 docker-compose 来安装,因为用了群晖自带的数据库,所以要对 docker-compose.yml 进行精简和修改

  • <host IP:port> :老苏群晖的 IP192.168.0.197MariaDB 10 的端口是 3307 ,所以 DB_HOST=192.168.0.197:3307
  • <your db passwor>:为新增数据库账号 monica 时设置的密码
  • ports: 3780 如果不冲突就直接默认,否则就要修改为一个不冲突的端口
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
version: "3.4"

services:
app:
image: monica:fpm
environment:
- DB_HOST=<host IP:port>
- DB_USERNAME=monica
- DB_PASSWORD=<your db passwor>
volumes:
- data:/var/www/html/storage
restart: always

web:
build: ./web
ports:
- 3780:80
depends_on:
- app
volumes:
- data:/var/www/html/storage:ro
restart: always

volumes:
data:
name: data

docker 文件夹中,创建一个新文件夹,并将其命名为 monica,然后在 SSH 客户端中执行下面👇的命令

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
# 进入目录
cd /volume2/docker/monica

# 将 docker-compose.yml 下载到 monica 目录
curl -sSL https://raw.githubusercontent.com/wbsu2003/Dockerfile/main/monica/docker-compose.yml -o docker-compose.yml

# 如果上面那条 github 访问不了可以试试镜像站点,上条执行通过这条就略过
curl -sSL https://raw.fastgit.org/wbsu2003/Dockerfile/main/monica/docker-compose.yml -o docker-compose.yml

# 创建 web 子目录
mkdir web

# 下载文件
curl -sSL https://raw.githubusercontent.com/monicahq/docker/master/.examples/nginx-proxy/web/nginx.conf -o web/nginx.conf
curl -sSL https://raw.githubusercontent.com/monicahq/docker/master/.examples/nginx-proxy/web/Dockerfile -o web/Dockerfile

# 如果上面那条 github 访问不了可以试试镜像站点,上条执行通过这条就略过
curl -sSL https://raw.fastgit.org/monicahq/docker/master/.examples/supervisor/fpm/web/nginx.conf -o web/nginx.conf
curl -sSL https://raw.fastgit.org/monicahq/docker/master/.examples/nginx-proxy/web/Dockerfile -o web/Dockerfile

# 修改 docker-compose.yml 权限
chmod 777 docker-compose.yml

# 根据需要修改数据库地址、密码、端口等

# 一键启动
docker-compose up -d

# 一键停止
docker-compose stop

# 一键重启
docker-compose restart

# 一键删除
docker-compose down

monica 目录结构及文件如下

web 目录

一键启动后,如果看到下图就表示成功了

docker 管理器中能看到两个容器已经成功启动

其中 monica:fpm 为拉取的镜像,而 monica_web:latest 是刚刚构建的

运行

程序初始化的时间比较长,等几分钟之后,在浏览器中输入 http://群晖IP:3780 就能看到主界面

默认支持中文,这一点有点出乎意料

注册完账号就会看到欢迎界面

接下来就可以开始添加联系人了

当然更方便的还是导入

建了几个联系人

选中一个联系人,可以记录与其相关的各种信息

仪表板会显示一些提醒和最近的联系

功能逻辑还是非常清晰的,关系的积累贵在坚持记录,这一点不容易做到,尤其现在大家都习惯于手机,缺乏手机 app 的支持从而不能随时记录,对 monica 是个很大的限制

参考文档

monicahq/monica: Personal CRM. Remember everything about your friends, family and business relationships.
地址:https://github.com/monicahq/monica

Personal CRM done right - Monica
地址:https://www.monicahq.com/

monicahq/docker: docker image of Monica
地址:https://github.com/monicahq/docker#fpm-version