资源共享,记录个人心得等

Monica 搭建教程:搭建个人CRM

1.前言

monica是一个个人小型crm,与手机中的通讯录类似,但需求围绕的不是手机等联络信息,侧重点是个人,也就是你可以在这个系统上记录某人的所有你了解的信息,除了联系信息等个人信息外,还能记录如何解释,与ta的一些特定的故事等。也可以简单理解为你的朋友建立一个你所了解到的关于他的档案。

monica官网:https://www.monicahq.com/

可以使用官方提供的服务:https://app.monicahq.com/

也可以自行搭建服务,自己搭建是全功能版本,官方的想要全功能是要付费的,下面我介绍我的搭建方法。

一种是使用docker搭建服务+数据库,另一种是只用docker搭建monica服务连接本机或远程数据库。

2.使用docker搭建服务以及数据库

我强烈建议使用Docker搭建服务,最开始我也以为只是php服务,跟wordpress一样放到宝塔的网站里就行,但实际上并不是,不像wp一样有安装程序,我参考文档后发现有点麻烦,需要php安装,还需要安装一些其他的。因此直接选择docker比较方便。

官方手册中数据库是一并用Docker启动的,使用Docker-compose。

services:
  app:
    image: monica
    depends_on:
      - db
    ports:
      - 8080:80
    environment:
      - APP_KEY= # Generate with `echo -n 'base64:'; openssl rand -base64 32`
      - DB_HOST=db
      - DB_USERNAME=monica
      - DB_PASSWORD=secret
    volumes:
      - data:/var/www/html/storage
    restart: always

  db:
    image: mariadb:11
    environment:
      - MYSQL_RANDOM_ROOT_PASSWORD=true
      - MYSQL_DATABASE=monica
      - MYSQL_USER=monica
      - MYSQL_PASSWORD=secret
    volumes:
      - mysql:/var/lib/mysql
    restart: always

volumes:
  data:
    name: data
  mysql:
    name: mysql

其中APP_KEY,使用命令:echo -n ‘base64:’; openssl rand -base64 32

创建。

填写完成后使用docker compose up -d 来启动

或者不使用docker-compose使用docker命令也可以,直接执行:

mysqlCid="$(docker run -d \
 -e MYSQL_RANDOM_ROOT_PASSWORD=true \
 -e MYSQL_DATABASE=monica \
 -e MYSQL_USER=homestead \
 -e MYSQL_PASSWORD=secret \
 "mysql:5.7")"
docker run -d \
 --link "$mysqlCid":mysql \
 -e DB_HOST=mysql \
 -p 8080:80 \
 monica

3.使用Docker搭建服务连接本地数据库

这是我的搭建方法,因为本机有博客,用宝塔直接在本机启动的mysql服务,再使用docker启动一个数据库的话,又占用资源又很蠢,因此我研究如何使用本地mysql作为monica的数据库,其中有一些难点需要注意,我会详细说明。

首先启动monica服务

我是直接用宝塔启动的,直接修改上面的官方Docker-compose启动命令即可,注意增加一些环境变量:

APP_KEY=base64:Q3ShEL6sYSaiMgsjCvtzqcxgulOpkBjbYQYm5h2JEbk=
DB_HOST= #你的数据库ip,本地数据库填写本机外网ip
DB_PORT=3306
DB_DATABASE=monica
DB_USERNAME=monica
DB_PASSWORD= #你的密码
APP_URL= #访问域名
TRUSTED_PROXIES=*
APP_ENV=production

其中:

APP_URL= #访问域名
TRUSTED_PROXIES=*
APP_ENV=production

是为了之后开启https准备的,如果有开启https的需求,建议添加,在群晖等内网的话就不必了。

然后我们配置本地的数据库

首先在宝塔的数据库中找到monica的数据库,点击权限,设置能够访问数据库的ip地址。我的是172.17.0.2,也就是monica这个容器的Dockerip地址,或者直接填写整个网段也行。

紧接着进入宝塔的安全选项中设置系统防火墙

添加规则,端口为3306,来选选择指定ip,172.17.0.0/16,放行整个Docker容器的网段。

如此设置我的monica能够正常连上数据库并正常工作。如果有阿里云等云服务厂商提供的数据库实例,将对应的信息填到monica的Docker-compose对应环境变量中即可。

4.使用https连接monica

这个基本就是常规NGINX配置即可,没有什么特别添加的,在Docker-compose的环境变量中添加我上面写的那三个参数,我就正常开启https了。用宝塔的话在网站中添加反向代理即可。

5.参考

Monica 搭建教程:打造个人关系管理系统

官方Github中的Docker文档

DockerHub/

赞(0)
转载需标明出处Lee's Blog » Monica 搭建教程:搭建个人CRM

评论 抢沙发

登录

找回密码

注册