CentOS7 Docker + Docker Compose 上で Trello クローンの RestyaBoard を動かす

# この記事に書かれている事

* CentOS7 + Docker + Docker-Compose が構成されてるサーバで
* Trello のクローン Restyaboard を動かす

クラウドサービスを使えるんだったら、素直にTrelloを使った方が良いかも知れません。
見た目と日本語の精度は Trello の方がだいぶ上だと感じてます。
Restyaboardはそこらへんにあるサーバで動かせる点が魅力的です。
また、機能面では Restyaboard の方が優れている部分もあります。


Docker／docker-compose がまだの場合 [ここら辺 ](https://qiita.com/kichise/items/f8e56c6d2d08eaf4a6a0) を参考にインストールしてください。

## インストール方法の選択

トップページ下部の FAQ / Docs を選択して [Restyaboard Docs](https://restya.com/board/docs/) に移動すると様々なインストール手順を確認できます。

代表的な物は

* shell script を使った Ubuntuへのインストール
* shell script を使った CentOSへのインストール
* DigitalOcean MarketPlace の利用
* Docker を使ったインストール

また、[Install & Configure](https://restya.com/board/install) からメールアドレスを登録するとさらに多くの選択肢を提示してくれます。

今回は手軽に出来そうな [Docker ](https://restya.com/board/docs/install-restyaboard-docker/#2)  を使った手順でインストールしてみます。

## Docker file を使ったインストール

参考URL)
[Restyaboard Docs : Install Restyaboard through Docker](https://restya.com/board/docs/install-restyaboard-docker/#2)

### Docker Compose用ファイルの作成

サンプルに以下の設定を追加しました。

* 自動起動設定
* postgresql のパスワード変更
* SMTPサーバの設定、後からできないからここで実施
* TOMEZONE設定

TIMEZONEは restyaboard/postgres の両方に設定してください。
最初、サンプルに TZ の記載がある restyaboard だけに設定してたら日時がずれて表示されてしまいました。


```text
[kichise@cent7 ~]$ sudo mkdir /usr/local/restyaboard
[kichise@cent7 ~]$ cd /usr/local/restyaboard/
[kichise@cent7 ~]$ sudo vi docker-compose.yml
version: '2'
volumes:
  restyaboard_db:
    driver: local
  restyaboard_media:
    driver: local
services:
  restyaboard:
    image: restyaplatform/restyaboard:dev
    restart: always             <- 自動起動するように設定を追加
    environment:
      POSTGRES_DB: restyaboard
      POSTGRES_HOST: postgres
      POSTGRES_PASSWORD: admin  <- 複雑な文字列に変える、ここに書いてるからあまり意味ないか、、、
      POSTGRES_USER: admin
      SMTP_DOMAIN: example.co.jp <- メールドメイン指定
      SMTP_USERNAME: user        <- SMTP認証用ユーザ名
      SMTP_PASSWORD: pass        <- SMTP認証用パスワード
      SMTP_SERVER: 192.168.1.23  <- メールサーバのhostname or IP
      SMTP_PORT: 25              <- メールサーバのport番号
      TZ: Asia/Tokyo            <- Etc/UTC から Asia/Tokyo に変更
    volumes:
    - restyaboard_media:/usr/share/nginx/html/media
    ports:
    - "8081:80"
  postgres:
    image: postgres:9-alpine
    restart: always             <- 自動起動するように設定を追加
    environment:
      POSTGRES_DB: restyaboard
      POSTGRES_HOST: postgres
      POSTGRES_PASSWORD: admin  <- 上で設定した POSTGRES_PASSWORD の値に合わせる
      POSTGRES_USER: admin
      TZ: Asia/Tokyo            <- 行を追加 Asia/Tokyo に設定
    volumes:
    - restyaboard_db:/var/lib/postgresql/data
[kichise@cent7 restyaboard]$
```

### Docker-conpose 実行

意外なほどあっさりと完了します。

```text
[kichise@cent7 restyaboard]$ docker-compose up -d
Creating network "restyaboard_default" with the default driver
Creating volume "restyaboard_restyaboard_db" with local driver
Creating volume "restyaboard_restyaboard_media" with local driver
Pulling restyaboard (restyaplatform/restyaboard:dev)...
dev: Pulling from restyaplatform/restyaboard
146bd6a88618: Pull complete
81b609d94e65: Pull complete
80757a9e29b9: Pull complete
9e4c5c68ffd1: Pull complete
e0361ee07b17: Pull complete
54eb2e7adc4c: Pull complete
150cccf7c0ae: Pull complete
4fddd0d459a2: Pull complete
3ec92c1c8a20: Pull complete
4c4993f48338: Pull complete
2ed94324b84a: Pull complete
5c2ae9783b23: Pull complete
b3d663d234ea: Pull complete
Digest: sha256:79fedfe8ec15c97eecaf74fc069d2ab93ac747f16ed841dc99132f2bf363812d
Status: Downloaded newer image for restyaplatform/restyaboard:dev
Pulling postgres (postgres:9-alpine)...
9-alpine: Pulling from library/postgres
4167d3e14976: Pull complete
153ce209e2ba: Pull complete
b5e6278dc07d: Pull complete
b4184112eeae: Pull complete
50634a031f77: Pull complete
cf5601d968e8: Pull complete
1eaa021b2bed: Pull complete
2135b1524d0c: Pull complete
8bf70c06d10b: Pull complete
Digest: sha256:50d91740bc52eb61226965af5fee0a2c4180d9828b4e89d43543537462602309
Status: Downloaded newer image for postgres:9-alpine
Creating restyaboard_postgres_1    ... done
Creating restyaboard_restyaboard_1 ... done
[kichise@cent7 restyaboard]$
```

## 初回ログイン・初期設定

[ID などはgithubで確認](https://github.com/RestyaPlatform/board)

最低限必要そうな設定項目

|項目|設定値|備考|
|:--|:--|:--|
|管理アカウント| admin |
|パスワード| restya |早めに変更しましょう|
|システム名|Restyaboard|タブに表示されるサイト名が変わるくらい。Restyaboardを沢山立ち上げる時は一意の名前を付けましょう|
|メールアドレス|システムで利用する各種メールアドレスの設定|送信者、返信先、問い合わせ先 全部一緒でも良いかな。|
|言語|English|日本語が変なのでEnglishの方が良いと思います。|
|Site TIMEZONE|Asis/Tokyo||
|Default Language|English|日本語が変なのでEnglishの方が良いと思います。v 0.6.8からはこの設定が有ってもクライアントのブラウザの言語設定が優先されます|
|アカウント表示名|New Amin|かっこ悪いから適当な名前に変えましょう|

**ログイン画面**
http://```hostname or IP Address```:8081/
初回ログイン時にRestyaboardを紹介する youtube の動画が流れます。
ログインの際パソコンのボリュームに注意してください。

![restya_01.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560759/aa5e96be-ae56-9076-f9b0-39384592f7eb.png)

**システム言語切り替え画面**
![restya_11.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560759/40e90c90-dee9-d01b-96eb-be15dcfbe61b.png)

**システム名／メールアドレスの設定画面**
![restya_08 (2).png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560759/a11975f8-b647-7c7d-af45-b6312c11ccb7.png)

**サイトのタイムゾーン／Defau言語の設定画面**
![restya_10.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560759/bd1ee1e8-b9b6-766a-9490-346aa3cf55db.png)

**管理者プロファイル設定画面**
![restya_05.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/560759/5c6075f6-ae9c-9712-3b40-79fa98acaae8.png)

後は適当に使ってみる。

## 参考

インストール方法：[Restyaboard Docs](https://restya.com/board/docs/) 
インストール後の設定等：[RestyaPlatform/board の github](https://github.com/RestyaPlatform/board#configuring-restyaboard)