#はじめに
オンプレ環境でJiraとConfluence(Server版)を利用していましたが、2021年2月にServer版ライセンスが販売終了したため、DataCenter版に移行することにしました。DataCenter版のJiraとConfluenceの動作検証のための環境をDockerで構築したので、構築手順を紹介します。
#動作環境
- MacBook Pro (macOS Catalina 10.15.7)
- Docker for Mac
- リバースプロキシ
- nginx
- サービス
- Jira
- Confluence
- DB
- pgAdmin(DB操作用のGUI)
- PostgreSQL
- メール
- MailHog(Jira・Confluenceの通知テスト用)
手順
以下の構成で、docker-composeで立ち上げます。
# ファイル構成
(workディレクトリ)
┣ docker-compose.yaml
┗ nginx.conf
version: '3'
services:
jira:
container_name: jira
image: atlassian/jira-software:latest
environment:
- ATL_PROXY_NAME=jira.internal
- ATL_PROXY_PORT=80
- ATL_TOMCAT_SCHEME=http
volumes:
- ./jiraAppData:/var/atlassian/application-data/jira
confluence:
container_name: confluence
image: atlassian/confluence-server:latest
environment:
- ATL_PROXY_NAME=confluence.internal
- ATL_PROXY_PORT=80
- ATL_TOMCAT_SCHEME=http
volumes:
- ./confluenceAppData:/var/atlassian/application-data/confluence
nginx:
container_name: nginx
image: nginx:latest
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
depends_on:
- jira
- confluence
- pgadmin
ports:
- "80:80"
networks:
default:
aliases:
- jira.internal
- confluence.internal
- pgadmin.internal
postgres:
container_name: postgres
image: postgres:latest
volumes:
- ./postgresData:/var/lib/postgresql/data
ports:
- "5432:5432"
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=mypassword
pgadmin:
container_name: pgadmin
image: dpage/pgadmin4:latest
volumes:
- ./pgAdminData:/pgadmin
- ./pgAdminAppData:/var/lib/pgadmin4
environment:
- PGADMIN_DEFAULT_EMAIL=postgres@example.com
- PGADMIN_DEFAULT_PASSWORD=mypassword
depends_on:
- postgres
mailhog:
container_name: mailhog
image: mailhog/mailhog:latest
restart: always
ports:
- "8025:8025"
- "1025:1025"
environment:
MH_STORAGE: maildir
MH_MAILDIR_PATH: /tmp
volumes:
- ./mailhog:/tmp
events {}
http {
server {
server_name jira.internal;
proxy_read_timeout 600s;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://jira:8080;
client_max_body_size 10M;
}
}
server {
server_name confluence.internal;
proxy_read_timeout 600s;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://confluence:8090;
client_max_body_size 10M;
}
}
server {
server_name pgadmin.internal;
proxy_read_timeout 600s;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://pgadmin;
}
}
}
必要に応じてhostsを設定します。
# hosts
127.0.0.1 jira.internal
127.0.0.1 confluence.internal
127.0.0.1 pgadmin.internal
以下のコマンドを実行すると、仮想環境が起動します。
cd (workディレクトリ)
docker-compose up -d
DB設定
Server版とは異なり、DataCenter版では外部DBの設定が必要です。JiraとConfluenceで外部DBとしてPostgreSQLを利用する手順についても記載します。
PostgreSQLの設定
Jira・Confluenceで使うDB(PostgreSQL)をpgAdminからセットアップします。
pgAdminへログイン
ブラウザからpgAdmin(http://pgAdmin.internal
) へアクセスし、docker-compose.yamlに設定した値でログインする。
ユーザ:PGADMIN_DEFAULT_EMAIL
パスワード:PGADMIN_DEFAULT_PASSWORD
PostgreSQLの設定
トップページにあるAdd New Server をクリックして以下のように設定する。Generalタブのnameは適当に設定してください。
Host:PostgreSQLコンテナのcontainer_name
Username:POSTGRES_USER
password:POSTGRES_PASSWORD
ユーザ作成
ユーザを作成
Login/GroupRole を右クリック > Create > Login/GroupRole...
テーブル作成
Jira用のテーブルを作成する
Ownerは前項で作成したユーザ(confluenceuser)とする
Confluence用のテーブルを作成する
Ownerは前項で作成したユーザ(confluenceuser)とする
Definitionタブで以下のように設定して保存。Collationをen_US.utf8に設定しないと、Confluenceで問題が発生するらしい。
JiraとConfluenceの設定
JiraとConfluenceのセットアップについては割愛します。
JiraおよびConfluenceの初回起動時にDBを設定するので、以下を参考に設定してください。
JiraとConfluenceのメールサーバの設定
Jiraのメールサーバの設定については、以下リンクを参照してください。
ホスト名にはmailhogのコンテナ名(今回はmailhog)を指定します。
Confluenceのメールサーバ設定については、以下です。
これでDataCenter版のJiraとConfluenceの動作検証のための環境ができました。
その他参考にしたサイト