MM-Wiki 是一个轻量级的企业知识分享与团队协同软件,可用于快速构建企业 Wiki 和团队知识分享平台。部署方便,使用简单,帮助团队构建一个信息共享、文档管理的协作环境。
前面的文章也讲过如何部署,不过是基于手动安装,这次因为MM-Wiki 出了docker版本,所以,大鸟准备把这个教程补齐,这篇文章就来说说基于宝塔面板docker安装MM-Wiki 。
1、特点
MM-Wiki主要特点如下:
- 部署方便,基于 golang 编写,只需要下载对于平台下二进制文件执行即可。
- 快速安装程序, 提供方便的安装界面程序,无需任何手动操作。
- 独立的空间,空间是一组文档的集合,一般为公司部门或者团队,空间下的文档相互独立。空间可根据需求设置空间访问级别。
- 支持 markdown 语法写作,支持附件上传。
- 完善的系统权限管理,系统可以自定义角色,并为不同角色授予不同的权限。
- 集成统一登录,本系统支持通过外部系统认证用户, 比如与公司的 LDAP 登录融合。具体请看登录认证功能。
- 邮件通知功能,当开启邮件通知,文档更改会通知所有关注该文档的用户。
- 文档具有分享和下载功能,目前只支持下载 MarkDown 源文件。
- 支持文档全文搜索
2、简介
演示:http://wiki.ctho.me
项目:https://github.com/phachon/mm-wiki
下载:https://github.com/phachon/mm-wiki/releases
docker:https://hub.docker.com/r/217heidai/mm-wiki
2、准备
- 宝塔面板最新版本(宝塔服务器面板,一键全能部署及管理,送你3188元礼包,点我领取https://www.bt.cn/?invite_code=MV9ub2NxdmI=)
- Docker管理器(软件商店→运行环境)
- nginx1.18(这个版本随意)
- 准备域名一个
- 宝塔新建网站
3、部署
因为是docker版本安装,所以整个过程还是很简单的,不过还是遇到了一点小问题,我们后面会说。
(1)Setup mysql
你可以用宝塔终端,也可以用xhell来连接服务器,进入命令模式。docker安装mysql的命令如下:
docker container run -d \ --restart=always \ --name wiki_mysql \ -v $HOME/mysql/etc/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \ # mysql config file -v $HOME/mysql/data:/var/lib/mysql \ # mysql data -e MYSQL_ROOT_PASSWORD=mm_wiki \ # mysql root password -e MYSQL_USER=mm_wiki \ # mm-wiki user name -e MYSQL_PASSWORD=mm_wiki \ # mm-wiki user password -e MYSQL_DATABASE=mm_wiki \ # mm-wiki database name -d mysql:5.7 \ --character-set-server=utf8mb4 \ --collation-server=utf8mb4_unicode_ci
以上命令不能直接复制,你需要把后面的注释去掉。还要注意,修改默认的用户名密码等。大鸟这里头贴一个修改过的版本。如下:
(2)遇到问题
以上命令运行时会遇到如下错误:
docker: Error response from daemon: OCI runtime create failed: container_linux.go:349: starting container process caused "process_linux.go:449: container init caused \"rootfs_linux.go:58: mounting \\\"/opt/etc/mysqld.cnf\\\" to rootfs \\\"/var/lib/docker/overlay2/5a812cd97bf148325143905c4bb74cf074dbe5b85acae8c118154cac1fa78c40/merged\\\" at \\\"/var/lib/docker/overlay2/5a812cd97bf148325143905c4bb74cf074dbe5b85acae8c118154cac1fa78c40/merged/etc/mysql/mysql.conf.d/mysqld.cnf\\\" caused \\\"not a directory\\\"\"": unknown: Are you trying to mount a directory onto a file (or vice-versa)? Check if the specified host path exists and is the expected type.
大致意思是您挂载的文件是个cnf目录文件而您挂载的目标文件是个cnf文件。所以我们需要根据自己的docker映射的路径在宿主机上把mysqld.cnf改为文件即可。
大鸟这里是映射在/opt/etc/mysqld.cnf,这里把mysqld.cnf改为文件即可,默认的是生成了mysqld.cnf目录,所以会发生错误。
(3)Setup mm-wiki
数据库安装好,现在开始安装mm-wiki,docker命令如下:
docker container run -d \ --restart=always \ --name wiki \ -p 8080:8080 \ -v $HOME/wiki/bin:/mm-wiki \ # mm-wiki -v $HOME/wiki/data:/data \ # mm-wiki data --link wiki_mysql:db \ # link mysql 217heidai/mm-wiki
注意:把后面的注释去掉。,修改过的命令如下:
docker container run -d \ --restart=always \ --name wiki \ -p 8080:8080 \ -v /opt/wiki/bin:/mm-wiki \ -v /opt/wiki/data:/data \ --link wiki_mysql:db \ 217heidai/mm-wiki
注意:端口可以任意修改。运行成功后,浏览器中<ip:8080>打开执行安装向导。
4、运行安装向导
<ip:8080>打开执行安装向导。如图:
(1)系统配置
(2)数据库配置
这里的用户名和密码就是刚刚你在docker安装数据库时创建的,如果不清楚请回看第三步。
注意:
- MYSQL Host:这里填写你服务器IP,不是127.0.0.1
- MYSQL端口:默认端口是3306,执行命令的时候可以修改为其他
(3)安装准备
(4)安装完成
(5)重启mm-wiki容器
可以在docker管理器中重启mm-wiki容器,也可以用命令形式。
docker restart 容器ID或容器名 :不管容器是否启动,直接重启容器 1. 首先 docker ps 查看正在运行的容器信息,显示2分钟前启动运行 2. docker restart 59eb 重启容器 3. 再次 docker ps 查看容器信息 显示 2秒前启动运行
这里为了教程的简单,推荐在docker管理器中执行重启的操作。如图:
点击绿色三角形,停止容器,然后再次点击,启动容器,重启过程完成。
5、效果展示
(1):浏览器中刷新你的<ip:8080>,效果如图:
(2):用刚才的设置的管理员账号和密码登录,登陆后效果如图:
6、设置域名
新建好网站,打开网站设置,具体如图:
7、如何升级
- 停止并删除您现有的mm-wiki容器。
- 设置新的mm-wiki容器。
- 重新启动新的mm-wiki容器。
8、最后
docker版本折腾起来容易点,但是只是安装教程,至于,如何使用自己折腾去吧。