docker安装confluence+crowd+jira+bitbucket

一、安装postgres数据库

docker run -d \
    --name atlassian_postgres \
    -e POSTGRES_PASSWORD=XXXXXXXXXXX \
    -e PGDATA=/var/lib/postgresql/data/pgdata \
    -v /databases/atlassian/postgres:/var/lib/postgresql/data \
       -d -p 5432:5432 \
       --restart=always \
    postgres

 

二、安装confluence

2.1 进入postgres

docker exec -ti atlassian_postgres /bin/bash
su - postgres
psql

 

image

2.2 创建confluence数据库

CREATE ROLE confluenceuser WITH LOGIN PASSWORD 'XXXXXXXXXXX' VALID UNTIL 'infinity';

 

2.3 授权用户

CREATE DATABASE confluence WITH ENCODING='UTF8' OWNER=confluenceuser CONNECTION LIMIT=-1;

 

2.4  下载映像

docker pull atlassian/confluence

 

2.5 创建数据持久化存储目录

mkdir -p /databases/atlassian/confluence/config/etc
mdkir -p /databases/atlassian/confluence/fonts/windowsfonts/

 

2.6 启动映像

docker run -d \
    --name confluence  \
    -e TZ=Asia/Shanghai \
    -e CATALINA_OPTS="-Dconfluence.document.conversion.fontpath=/var/atlassian/application-data/confluence/fonts/windowsfonts/ ${CATALINA_OPTS}" \
    -e JAVA_OPTS="-javaagent:/var/atlassian/application-data/confluence/atlassian-agent.jar ${JAVA_OPTS}" \
    -e JVM_MAXIMUM_MEMORY="2048m" \
    -e JVM_RESERVED_CODE_CACHE_SIZE="512m" \
    -v  /databases/atlassian/confluence:/var/atlassian/application-data/confluence   \
    -v /databases/atlassian/confluence/config/etc:/opt/atlassian/etc \
    -v /databases/atlassian/confluence/config/crowd.properties:/opt/atlassian/confluence/confluence/WEB-INF/classes/crowd.properties \
    -p 8090:8090 \
    -p 8091:8091  \
    --restart=always \
    atlassian/confluence

 

释义:

-e CATALINA_OPTS="-Dconfluence.document.conversion.fontpath=/var/atlassian/application-data/confluence/fonts/windowsfonts/ ${CATALINA_OPTS}",此变量是为了解决文档中文乱码的问题,需要把windows系统中的fonts字体文件放置在/var/atlassian/application-data/confluence/fonts/windowsfonts/ 目录下。

-e JAVA_OPTS="-javaagent:/var/atlassian/application-data/confluence/atlassian-agent.jar ${JAVA_OPTS}"  ,只可意会,不可言传。需要将atlassian-agent文件上传至/databases/atlassian/confluence目录下

-v /databases/atlassian/confluence:/var/atlassian/application-data/confluence ,将confluence产生的数据文件永久化存储至本地/databases/atlassian/confluence目录下,需要提前创建

-v /databases/atlassian/confluence/config/etc:/opt/atlassian/etc ,将confluence的配置文件永久化存储至本地 /databases/atlassian/confluence/config/etc目录下,需要提前创建

-v /databases/atlassian/confluence/config/crowd.properties:/opt/atlassian/confluence/confluence/WEB-INF/classes/crowd.properties ,将同crowd进行关联的配置文件永久化存储至/databases/atlassian/confluence/config/crowd.properties文件。

2.6 访问服务器的8090端口,进行初始化。

在初始化过程中,会让输入密钥,以下命令只可意会

java -jar atlassian-agent.jar -p conf -m test@test.com -n BAT -o http://192.168.10.29:8090 -s BEZX-LBNX-90N5-W88X -d

 

初始化配置完毕后,即可正常使用。

三、安装crowd

3.1 创建数据库(需要进行postgres)

CREATE ROLE crowduser WITH LOGIN PASSWORD 'XXXXXXXXXXX' VALID UNTIL 'infinity';

3.2 授权用户

CREATE DATABASE crowd WITH ENCODING='UTF8' OWNER=crowduser CONNECTION LIMIT=-1;

3.3 下载映像

docker pull atlassian/crowd

3.4 创建数据持久化存储目录

mkdir -p /databases/atlassian/crowd/config/etc

3.5  启动映像

docker run -d \
    --name crowd \
    -e TZ=Asia/Shanghai \
    -e JAVA_OPTS="-javaagent:/var/atlassian/application-data/crowd/atlassian-agent.jar ${JAVA_OPTS}" \
    -v /databases/atlassian/crowd/config/etc:/opt/atlassian/etc \
    -v /databases/atlassian/crowd:/var/atlassian/application-data/crowd \
    -p 8095:8095 \
    --restart=always \
    atlassian/crowd


注:如按以下命令执行,则3.4只创建至/databases/atlassian/crowd/即可

docker run -d \
    --name crowd  \
    -e TZ=Asia/Shanghai \
    -e JAVA_OPTS="-javaagent:/var/atlassian/application-data/crowd/atlassian-agent.jar ${JAVA_OPTS}" \
    -e ATL_PROXY_NAME='a.b.com' \
    -e ATL_PROXY_PORT='10090' \
    -e ATL_TOMCAT_SCHEME='https' \
    -e ATL_TOMCAT_SECURE='true'\
    -v  /databases/atlassian/crowd:/var/atlassian/application-data/crowd   \
    -p 8095:8095 \
    --restart=always \
    atlassian/crowd

释义同上,不作解释。

3.5 访问服务器的8095端口,进行初始化。

在初始化过程中,会让输入密钥,以下命令只可意会

java -jar atlassian-agent.jar -p  crowd -m test@test.com -n BAT -o http://192.168.10.29:8095 -s BLI9-PFI6-NV9A-S9BI   -d

 

四、安装JIra

4.1 创建数据库(需要进行postgres)

CREATE ROLE jirauser WITH LOGIN PASSWORD 'XXXXXXXXXXX' VALID UNTIL 'infinity';

4.2 授权用户

CREATE DATABASE jira WITH ENCODING='UTF8' OWNER=jirauser CONNECTION LIMIT=-1;

4.3 下载映像

docker pull atlassian/jira-servicemanagement

4.4  创建数据持久化存储目录

mkdir -p /databases/atlassian/jira/config/etc

4.5 启动映像

docker run -d \
    --name jira \
    -e TZ=Asia/Shanghai \
    -e JAVA_OPTS="-javaagent:/var/atlassian/application-data/jira/atlassian-agent.jar ${JAVA_OPTS}" \
    -v /databases/atlassian/jira:/var/atlassian/application-data/jira \
    -v /databases/atlassian/jira/config/etc:/opt/atlassian/etc \
    -v /databases/atlassian/jira/config/crowd.properties:/opt/atlassian/jira/atlassian-jira/WEB-INF/classes/crowd.properties \
    -p 8080:8080 \
    --restart=always \
    atlassian/jira-servicemanagement

4.5 访问服务器的8080端口,进行初始化。

在初始化过程中,会让输入密钥,以下命令只可意会

java -jar atlassian-agent.jar -p  jira -m test@test.com -n BAT -o http://192.168.10.29:8095 -s BLI9-PFI6-NV9A-S9BI   -d

 

 

五、安装bitbucket

5.1 创建数据库(需要进行postgres)

CREATE ROLE bitbucketuser WITH LOGIN PASSWORD 'XXXXXXXXXXX' VALID UNTIL 'infinity';

5.2 授权用户

CREATE DATABASE bitbucket WITH ENCODING='UTF8' OWNER=bitbucketuser CONNECTION LIMIT=-1;

5.3 下载映像

docker pull atlassian/bitbucket

5.4 创建数据持久化存储目录

/databases/atlassian/bitbucket

5.5 启动映像

docker run -d \
    --name bitbucket  \
    -e TZ=Asia/Shanghai \
    -e JAVA_OPTS="-javaagent:/var/atlassian/application-data/bitbucket/atlassian-agent.jar ${JAVA_OPTS}" \
    -e ATL_PROXY_NAME='a.b.com' \
    -e ATL_PROXY_PORT='1000' \
    -e ATL_TOMCAT_SCHEME='https' \
    -e ATL_TOMCAT_SECURE='true'\
    -v  /databases/atlassian/bitbucket:/var/atlassian/application-data/bitbucket   \
    -p 7990:7990 \
    -p 7999:7999 \
    --restart=always \
    atlassian/bitbucket

5.5 访问服务器的7990端口,进行初始化。

在初始化过程中,会让输入密钥,以下命令只可意会

java -jar atlassian-agent.jar -p  bitbucket -m test@test.com -n BAT -o http://192.168.10.29:8095 -s BWXW-RF6S-ZUYJ-CMLO   -d

 

六、集成crowd的SSO

 

使用SSO集成,需要使用https证书才可以。

seraph-config.xml 文件在/databases/atlassian/xxx/config/etc目录下。

crowd.properties 文件在/databases/atlassian/xxx/config目录下。

 

# 编辑 seraph-config.xml
# 注释掉
<!--<authenticator class="com.atlassian.confluence.user.ConfluenceGroupJoiningAuthenticator"/>-->

# 打开注释
<authenticator class="com.atlassian.confluence.user.ConfluenceCrowdSSOAuthenticator"/>

# 修改 crowd.properties
application.name:配置 crowd 里该 Application 的名称
application.password:配置 crowd 里该 Application 的密码
application.login.url:配置 crowd 的地址

crowd.server.url:配置 crowd 的 services 地址
crowd.base.url:配置 crowd 的 baseurl 地址

session.tokenkey:与 crowd 管理页面的SSO cookie name保持一致

# 重启 Confluence 生效
 

总结

有个想法,其实confluence、crowd、jira 均可以使用bitbucket的方式进行创建,有机会可以尝试一下。

 

 

借鉴资料

https://blog.csdn.net/justlpf/article/details/126117961

THE END