使用docker部署支持备份,全docker环境的postgres+confluence环境
条评论本来我已经不想再写什么装个什么软件,配个什么环境的东西了,网上一搜一大堆,跟着搞搞也没什么了,再差就去看看官方的文档,也很容易解决遇到的问题。但这次装confluence既没有了官方的支持(官方文章仅作为一个参考吧),网上找的教程虽然一大堆,但基本也都是复制粘贴的,而且还不太能用,折腾了一个周末才好不容易达到一个比较满意的效果。如果你也遇到这种问题,那算是找对地方了。
废话不多说,先介绍下环境:
硬件还是我的那个群晖nas了,但实际上就是个linux,而且我只是用了他的docker,所以原理都是一样的。
confluence使用cptactionhank/atlassian-confluence:latest
的docker(貌似也就2020年更新过一次,后面看上去都没变化了,已经够用了),confluence的版本是7.9.3。数据库使用postgresql,数据库也是使用docker部署,postgresql和confluence使用link的方式共享,无需多占用host的端口!
使用cptactionhank/atlassian-confluence:latest
搭建的confluence中我遇到了两个问题,1. 为什么按照教程起不起来,或者报错?(他这个docker有一些限制)2. confluence 的宏乱码,confluence的宏主要在编辑状态下乱码。
安装
安装我基本是参照这个url写的:https://blog.51cto.com/u_15269008/4846190,只是没用docker-compose,并且改了下使用docker link可以少占用个端口,毕竟nas上起的服务太多了。
注意:他这个docker启动的时候,注意下,尽量ip直接连接到8090的端口上,不要走https,设置完成后进去还能再修改什么的,要不会在他的setup阶段莫名其妙的挂掉。
首先我们创建几个目录:
1 | mkdir -p /volume1/docker/confluence/confluence # confluence 的home_data |
接着,按照下面的命令启动两个docker
1 | docker run --name confluence_postgresql -d \ |
启动起来后,按照那个博客写的进行production的激活,但这里需要说一下,jar的包对文件权限非常敏感,必须是644的权限!别问我是怎么知道的。这里附一个原blog的工具
使用命令来考出考入就是这样:
1 | # 从docker中拷出 |
完成后连接数据库:
host就是上面link的地方填的postgresql,DB_name是confluence,用户是confluence_user,密码是confluence_pass,测试下应该没问题就继续吧。
剩下的我这边没遇到什么问题,应该也不会有问题了。接下来就可以折腾下,然后发现宏的标题在编辑状态下居然都是方框。。。那就继续往下看吧。
解决confluence宏乱码的问题
confluence的乱码问题一搜一大堆,各种乱码,这里说的是宏在编辑状态下会出现的乱码问题,使用postgresql的数据库,基本把很多已知的问题都解决了,别的应该也没什么太大问题。乱码实在是太恶心的问题了,这里遇到的乱码问题很诡异,只有编辑状态显示方框乱码,编辑这个宏的时候名字正常,感觉就是什么地方有点小小的问题。网上的方法看上去能搜出一堆,但其实一共就三种,我都列在这里了。我这里使用的方式是三者结合了一下,但我觉得可能其中某一种方法就可以起作用,欢迎大家试一下看最小修改集合是什么
https://blog.csdn.net/gogobat0/article/details/104202475
https://blog.csdn.net/Smiled0388/article/details/90377254
https://www.cnblogs.com/caibao666/p/14992184.html
首先,得到SimHei.ttf, SimSun.ttf msyh.ttf 三个字体文件,这几个文件其实都能下到不需要找windows去找字体再转一把,太麻烦
1 | msyh.ttf https://raw.githubusercontent.com/chenqing/ng-mini/master/font/msyh.ttf |
有这几个文件安装步骤大大简化,那些转字体什么的就都不要了,安装这三个字体,只需要把他们放到/usr/local/share/fonts/ttf-dejavu/
下,修改下文件权限为664,执行
1 | chmod 644 SimHei.ttf SimSun.ttf msyh.ttf |
完成后看一下是不是已经装上了,执行应该会列出刚装的三个字体:
1 | fc-list :lang=zh |
然后,更新/opt/atlassian/confluence/bin/setenv.sh文件,在81行后加上下面两句话
1 | CATALINA_OPTS="-Dfile.encoding=UTF-8 ${CATALINA_OPTS}" |
最后,修改这个文件(感觉跟这个没关系啊)/var/atlassian/confluence/confluence.cfg.xml
在你的jdbc后面加上?characterEncoding=utf8
,加完后是这个样子的:
1 | <property name="hibernate.connection.url">jdbc:postgresql://postgresql:5432/confluence?characterEncoding=utf8</property> |
至于上面是哪个步骤真正起作用了,感兴趣的可以去试一下
重启就可以了。。。
重启后,把chrome的历史记录都删掉,或者你什么浏览器,把历史记录都删掉再去查看就可以了。
全部弄完后,建议用docker commit把自己的container保存出来,后面直接启动这个image就可以省略上面全部步骤直接使用了,方便备份。
本文标题:使用docker部署支持备份,全docker环境的postgres+confluence环境
文章作者:throneclay
发布时间:2022-08-08
最后更新:2022-08-08
原始链接:http://blog.throneclay.top/2022/08/08/confluence_synology/
版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 3.0 CN 许可协议。转载请注明出处!