计划

部署结构图

安装PostgreSQL

image:  https://hub.docker.com/_/postgres/
commands:

docker run --name postgresdb -p 5432:5432 -e POSTGRES_PASSWORD=W***d -d postgres 
docker exec -it postgresdb bash 
psql -U postgres 
\l
CREATE DATABASE confluence WITH OWNER postgres; 
\q


安装Confluence

image https://hub.docker.com/r/cptactionhank/atlassian-confluence/ (alternative: https://github.com/jgrodziski/docker-confluence/blob/master/Dockerfile, postgresql and confluence in one image)
参考: http://blogs.atlassian.com/2013/11/docker-all-the-things-at-atlassian-automation-and-wiring/
commands

docker run --detach --name confluence --publish 8090:8090 --link postgresdb:db --user root:root cptactionhank/atlassian-confluence:latest 
docker inspect confluence

注:这里不用指定confluence访问数据库的用户名密码,在后面Confluence初始化数据库的时候指定。

破解Confluence

http://pangge.blog.51cto.com/6013757/1560249
http://blog.csdn.net/anlegor/article/details/45050413
http://www.leo-zh.com/168

破解文件如下

主要步骤如下:

1. 运行iNViSiBLE\keygen.bat,根据Confluence Server ID生成注册码

2. 将atlassian-extras-decoder-v2-3.2.jar从Confluence docker容器里复制到本地,用keygen.bat破解(.patch按钮),然后将破解后的文件复制回去,重启Confluence。

通过Docker Volume复制:

docker inspect confluece 

 

cp /tmp/atlanssianxxx.jar /var/lib/docker/volumes/492f4de9dd2c3f07af1c8ae84dd55de9e76c3819061ab2410678c0c223b06717/_data 

docker exec -it confluence bash 
cp /var/atlanssian/confluence/atlassianxxx.jar /opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.2.jar

通过Docker Cp命令

docker cp ./atlassian-extras-decoder-v2-3.2.jar  confluence:/opt/atlassian/confluence/confluence/WEB-INF/lib/atlassian-extras-decoder-v2-3.2.jar

docker stop confluence

docker start confluence

3. 将注册码贴入到Confluence页面,点击下一步。

配置Confluence

待解决问题 /var/lib/postgresql/data/pg_hba.conf文件,放开网络:已解决,不是网络没有开放的问题,是要用link container的别名作为host访问postgresql db,如下图:

 

注:如果报密码不对,则需要到postgresdb里面设置postgres用户的密码,

Type:

sudo -u postgres psql

Then:

\password postgres

问题:数据库初始化进行到一半死机了,可能是机器内存不够,计划重新申请一台4g内存的机器重新试一下。

自动备份和清理

备份

General Configuration -> Backup Administration,设置自动备份的频率,这个备份是整个Site范围的,包含所有的Space。

备份目录:

ls /var/lib/docker/vfs/dir/*/backups/

自动清理

vi /etc/cron.daily/deleteOldConfluenceBackups.cron

注意设置可执行权限。

查看Cron执行日志

查看数据

docker -d &
docker exec -it db /bin/bash
psql -U postgres
\l
\c test
\dt+
select * from res_company;
\q

重新启动

docker -d &
docker ps -a
docker start postgresdb
docker start confluence

安装字体

解决PDF导出的时候中文乱码的问题。

1. 复制字体文件(宋体)到D:\temp 

dir C:\Windows\Fonts

copy C:\Windows\Fonts\simsun.ttc D:\temp

2. 在Confluence的General configuration -> PDF export language support里面导入字体文件

3. 导出pdf文件,中文可以正常显示了

 

恢复

1. 安装Confluence,选择从备份恢复

2. 上传备份文件到confluence docker的/var/atlassian/confluence/restore目录

3. 在Confluence恢复页面选择数据库备份文件,进行恢复

修改Confluence的内存配额

进到容器里面,修改setenv.sh里面的选项

 

外观定制

Brikit Theme Press:

https://marketplace.atlassian.com/plugins/com.brikit.themepress/server/overview

Confluence关于界面定制部分的文档

https://confluence.atlassian.com/conf58/customising-a-specific-page-771892733.html

参考资料

Deleting old Confluence backup files
http://mcqueeney.com/blog/deleting-old-confluence-backup-files/

How can get a list of all scheduled cron jobs on my machine?
http://unix.stackexchange.com/questions/7053/how-can-get-a-list-of-all-scheduled-cron-jobs-on-my-machine