CentOS7-minimal上に社内向け各種OSSシステム構築 -- (5-1) 各種タスクボードお試し


#はじめに
OSSなプロジェクト管理ツールは、開発チームであればチケット管理系（今でしたらRedmineが定番なんでしょうか？）が良いかもですが、それ以外の業務チームにはちと敷居が高いように思います。もう少し緩くても見た目のとっつきの良いタスクボード系のほうが使ってもらえそうな気がします。

"Trello"とか"Jooto"とかいいですよね～。

自社サーバー内設置可能でOSSなものとしては以下が目に留まりましたので、これらをインストールして比較できる環境を作っていきます。

* [Wekan](https://wekan.io/)
* [TaskBoard](https://taskboard.matthewross.me/)
* [Restyaboard](http://restya.com/board/)
* [Kanboard](https://kanboard.net/)

- - -
#Wekan
公式サイトからリンクされている[GitHubのドキュメント](https://github.com/wekan/wekan/wiki)にDockerでの構築手順を記載したページがあります。"[テスト用](https://github.com/wekan/wekan/wiki/Install-Wekan-Docker-for-testing)"と"[本番運用用](https://github.com/wekan/wekan/wiki/Install-Wekan-Docker-in-production)"の手順が記載されてますが、フロントエンドプロキシとしてのWebサーバー（Apache／nginx）の設定方法などが書いてあるくらいで、wekanのdockerコンテナ作成に関してやろうとしていることは基本同じです。

お試しは"[テスト用](https://github.com/wekan/wekan/wiki/Install-Wekan-Docker-for-testing)"の手順で十分かと。

適当なディレクトリを作成して、その中に docker-compose.yml ファイルを作成します。

```
$ mkdir ~/wekan-docker
$ cd ~/wekan-docker
$ vi docker-compose.yml
```

```~/wekan-docker/docker-compose.yml
wekan:
  image: mquandalle/wekan
  links:
    - wekandb
  environment:
    - MONGO_URL=mongodb://wekandb/wekan
    - ROOT_URL=http://localhost:80
  ports:
    - 8081:80

wekandb:
   image: mongo
   volumes:
     - /home/johndoe/wekan/data:/data/db
```
ポート番号だけ変えておきましょう。あとデータ保存先の`'/home/johndoe/wekan/data'`が「johndoeって誰？」と気になる人は適当に変えてください。（そのままでも大丈夫です。）

docker-compose.yml ファイルを記載したらあとはそのディレクトリで

```
$ docker-compose up -d
```
です。コンテナが起動したらhttp://[host or ip]:8081/ にアクセスしてみてください。サインイン画面が表示されるはずです。
![Fig_Wekan_Sign_In.png](https://qiita-image-store.s3.amazonaws.com/0/116852/2ff8247c-16be-6380-6462-5fb7933811ac.png)

「登録する」からアカウントを作成しましょう。

![Fig_Wekan_Regist.png](https://qiita-image-store.s3.amazonaws.com/0/116852/ce3ecf5f-1403-08e2-4361-063d07c36618.png)

ユーザー名、メールアドレス、パスワードを入力して［登録する］。

![Fig_Wekan_NoBoards.png](https://qiita-image-store.s3.amazonaws.com/0/116852/4be2b2b1-6d52-2c3f-9b2a-b8432580fdfc.png)

入れましたね。まだタスクボードがない状態ですので、"Add a new board"から新規ボードを作成しましょう。あ、言語を「日本語」にすれば日本語化されます。英語もあちこちに残ってますけどまぁ不自由はしないかと。もちろんデータとしての日本語利用には問題なさそうです。
![Fig_Wekan_CreateBoard.png](https://qiita-image-store.s3.amazonaws.com/0/116852/ab293182-ef65-54fc-c13c-40dff91ba1f8.png)


#TaskBoard
同じく公式サイトの正規の手順 https://taskboard.matthewross.me/docs/intro.html でもそれほど手数はかからなそうですけど、Docker HubにDockerイメージがアップされていますので、それを使わせてもらいましょう。https://hub.docker.com/r/devcrea/taskboard/ です。

```
$ cd
$ docker pull devcrea/taskboard
```
何やらけっこういっぱいPullされてきましたね。全部PullされてDockerイメージが作成されたら、

```
$ docker run -p 8082:80 -d devcrea/taskboard
```
で実行します。ここではポートとして8082番を指定しましたので、Webブラウザでhttp://[host or ip]:8082/ にアクセスしてみてください。サインイン画面が表示されるはずです。
![Fig_Taskboard_SignIn.png](https://qiita-image-store.s3.amazonaws.com/0/116852/06c050b2-a797-3c05-103c-e151abdf8a8b.png)
あらかじめ管理者ユーザーとして admin/admin が設定されているようですので、そのユーザー名・パスワードでサインインしましょう。

Wekanは特に「管理者」っぽい考えはないようですが、TaskBoardはまず管理者がユーザーやボードを作成する必要があります。"Settings"から設定画面を開き、初期パスワードの変更、ユーザーの追加、ボードの追加を行って行ってください。
![Fig_Taskboard_ChgPasswd.png](https://qiita-image-store.s3.amazonaws.com/0/116852/7b0be92d-b54d-30f6-71be-4e8235c31c16.png)
現・新パスワードを入力して"Update Password"。

![Fig_Taskboard_AddUser.png](https://qiita-image-store.s3.amazonaws.com/0/116852/8db9d7b2-937f-1332-5a37-8450d122ac14.png)
ユーザー追加ダイアログです。特定のユーザーにを管理者とすることもできるようです。

![Fig_Taskboard_AddBoard.png](https://qiita-image-store.s3.amazonaws.com/0/116852/20ab1d3b-bc7a-438a-af9c-9ecb899fd601.png)
ボード追加ダイアログです。ボードを追加するだけではなくて、列やカテゴリーの定義、利用可能なユーザーの指定も同時に行います。（もちろん後からの変更も可能です。）

#Restyaboard
公式サイトに各種インストール手順が掲載されてます。http://restya.com/board/install

「スクリプトをダウンロードして実行するだけ」が"Super Easy"として推奨されてますが、うまく行かなくて困りました。原因はスクリプト内の`yum install`で一箇所`'-y'`オプションが抜けていて、そこで待ち状態になっていたようで、そこを修正したら流れましたが。

もう今はスクリプトも修正されているかもですが、Dockerのインストール手順も記載されてますので、http://restya.com/board/install#dockerrestyaboard を参照してDockerで構築しましょう。

「…って何やらいろいろ手数が書いてある。しかもCentOSじゃなくてDebian!?」

と一瞬怯みますが、実はDockerとdocker-compose環境の構築手順が大半です。それは済んでるので、関係あるのは最後の数行だけ。ほぼそのまんまっぽいです。

```
$ cd
$ git clone https://github.com/namikingsoft/docker-restyaboard.git
$ cd docker-restyaboard
```
おっと、Dockerfile見ると"FROM debian"で"apt-get"とかが目につきますね。Dockerfileに以下のようにProxy設定を追加しておいてください。

```
$ vi Dockerfile
```

```~/docker-restyaboard/Dockerfile
FROM debian:wheezy-backports
ENV http_proxy http://proxy.sample.co.jp:8080/
ENV https_proxy http://proxy.sample.co.jp:8080/
[...]
```
あと、ポート番号の指定は docker-compose.yml ファイル内で適当に。

```
$ vi docker-compose.yml
```

```~/docker-restyaboard/docker-compose.yml
[...]
restyaboard:
[...]
  ports:
    - 8083:80
[...]
```
その後docker-composeを実行します。

```
$ docker-compose up -d
```
けっこういろいろ頑張ってくれてるっぽいのでしばし待ちましょう。
コンテナが作成されて立ち上がったら指定したポートにアクセスしてみてください。ログイン画面が表示されるはずです。
![Fig_Restyaboard_Login.png](https://qiita-image-store.s3.amazonaws.com/0/116852/f816e6d3-e099-015b-50b0-1cc5a438c53d.png)
あらかじめ登録されている管理者ユーザー admin/restya でログインしましょう。

![Fig_Restyaboard_NoBoards.png](https://qiita-image-store.s3.amazonaws.com/0/116852/0432039f-8c75-0c5c-cfeb-9ab2e28e32a0.png)
まさしくホワイトボード！(笑)
何気に"Admin"の右隣りの▲辺りをクリックすると何かできそうなメニューが表示されます。

![Fig_Restyaboard_ChgLng.png](https://qiita-image-store.s3.amazonaws.com/0/116852/362e0565-a20c-a54c-94f1-7e93c6c948a9.png)
「日本語」への切替えもできそうなのでしてみましょう。

![Fig_Restyaboard_MenuJa1.png](https://qiita-image-store.s3.amazonaws.com/0/116852/98e471ed-82da-050d-bccb-f4e4ea305f22.png)
日本語表示に変わりました。他にも「管理者」をクリックすると画面上部に管理者用メニューが表示されます。順番としては、「組織」作成→「ユーザー」追加→「ボード」作成、という感じのようです。
#Kanboard
公式ドキュメントの"Requirements"（https://kanboard.net/documentation/requirements ）によると、

* Linux Centos 7.x
* Mysql >= 5.5
* Nginx
* PHP 7.x

と、既に構築済みの環境でOKなのですが、Docker Hubで公式Dockerイメージが提供されているようです（https://hub.docker.com/r/kanboard/kanboard/ ）ので、そちらを利用します。
例によって専用のディレクトリを作成し、その中にdocker-compose.yml ファイルを作成します。

```
$ mkdir ~/kanboard-docker
$ cd ~/kanboard-docker
$ vi docker-compose.yml
```

```~/kanboard-docker/docker-compose.yml
version: '2'
services:
  kanboard:
    image: kanboard/kanboard:stable
    ports:
     - "8084:80"
    volumes:
     - kanboard_data:/var/www/kanboard/data
     - kanboard_plugins:/var/www/kanboard/plugins
volumes:
  kanboard_data:
    driver: local
  kanboard_plugins:
    driver: local
```
で、docker-compose実行です。

```
$ docker-compose up -d
```
コンテナが作成されて立ち上がったら指定したポートにアクセスしてみてください。サインイン画面が表示されるはずです。
![Fig_Kanboard_SignIn.png](https://qiita-image-store.s3.amazonaws.com/0/116852/62a64130-cefa-59ce-8221-d96e34a4a624.png)
あらかじめ登録されている管理者ユーザー admin/admin でログインしましょう。

![Fig_Kanboard_NoProject.png](https://qiita-image-store.s3.amazonaws.com/0/116852/787c9eb4-e078-219d-1a97-d18e42976e0c.png)
初めは何もない状態ですので、お約束通り管理者用メニューの"Settings"あたりから見ていきましょう。

![Fig_Kanboard_Ja.png](https://qiita-image-store.s3.amazonaws.com/0/116852/83f5663f-82f0-e0e4-d7fe-d562ac07ff6d.png)
言語で「日本語」を選択すると（全てではありませんが）日本語表示に切り替わります。
#まとめ
それぞれのシステムの中身までは紹介できてませんが、「正直どれもTrelloやJootoなどには一歩ゆずる面はあるな～」というのが個人的な感想です。ただ、SaaSの利用に制限があったり費用の問題などでそれらが利用できない場合は、これらOSSも十分検討の余地はあると思います。

どれも開発が活発に進められているようですので（ん～、この点はTaskBoardの更新は少し間が開いてますが）、今後にも期待です。