LoginSignup
4
3

More than 3 years have passed since last update.

JiraとConfluence(DataCenter版)をDockerで構築する

Last updated at Posted at 2021-04-07

はじめに

オンプレ環境でJiraとConfluence(Server版)を利用していましたが、2021年2月にServer版ライセンスが販売終了したため、DataCenter版に移行することにしました。DataCenter版のJiraとConfluenceの動作検証のための環境をDockerで構築したので、構築手順を紹介します。

動作環境

  • MacBook Pro (macOS Catalina 10.15.7)
  • Docker for Mac

サービス構成

全体像

コンテナの構成は下図の通り。
image.png

  • リバースプロキシ
    • nginx
  • サービス
    • Jira
    • Confluence
  • DB
    • pgAdmin(DB操作用のGUI)
    • PostgreSQL
  • メール
    • MailHog(Jira・Confluenceの通知テスト用)

手順

以下の構成で、docker-composeで立ち上げます。

# ファイル構成

(workディレクトリ)
  ┣ docker-compose.yaml
  ┗ nginx.conf
docker-compose.yaml
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

nginx.conf
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

image.png

PostgreSQLの設定

トップページにあるAdd New Server をクリックして以下のように設定する。Generalタブのnameは適当に設定してください。
Host:PostgreSQLコンテナのcontainer_name
Username:POSTGRES_USER
password:POSTGRES_PASSWORD

image.png

ユーザ作成

ユーザを作成
Login/GroupRole を右クリック > Create > Login/GroupRole...
image.png

パスワードを設定
image.png

Can login? を Yesに設定して保存
image.png

テーブル作成

Jira用のテーブルを作成する

Ownerは前項で作成したユーザ(confluenceuser)とする
image.png

Definitionタブで以下のように設定して保存
image.png

Confluence用のテーブルを作成する

Ownerは前項で作成したユーザ(confluenceuser)とする
image.png

Definitionタブで以下のように設定して保存。Collationをen_US.utf8に設定しないと、Confluenceで問題が発生するらしい。
image.png

JiraとConfluenceの設定

JiraとConfluenceのセットアップについては割愛します。
JiraおよびConfluenceの初回起動時にDBを設定するので、以下を参考に設定してください。

JiraとConfluenceのメールサーバの設定

Jiraのメールサーバの設定については、以下リンクを参照してください。
ホスト名にはmailhogのコンテナ名(今回はmailhog)を指定します。

Confluenceのメールサーバ設定については、以下です。

これでDataCenter版のJiraとConfluenceの動作検証のための環境ができました。

その他参考にしたサイト

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3