Wekanとは
一言で言うとTrelloのクローンOSS
Kanbanによるタスク管理ができるWebアプリケーション
構築手順
基本的には下記の公式Wikiの通りに実施した。
https://github.com/wekan/wekan/wiki/Install-Wekan-Docker-in-production
dockerのインストール
上記URLのリンク先は404なので、以下を参考にしてインストール
https://docs.docker.com/engine/installation/linux/centos/#/install-with-yum
どうもCentOS7じゃないといけないっぽい
URLのアンカーにつけたように、yumを使用してインストールした。
やってる内容としては、docker用のyumリポジトリを追加してそこからyum install
してる
実際に実行したコマンドはこんな感じ
めんどくさがりなのでroot権限で実行したためsudoはなし
yumリポジトリの追加
tee /etc/yum.repos.d/docker.repo <<-'EOF'
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7/
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
追加したリポジトリからdocker-engineをインストール
yum install docker-engine
インストールする?と聞かれるのでy
を押下してインストール
インストールしたdockerをサービス起動
service docker start
CentOS7からservice系のコマンドが変わったけどまだserviceも使用出来る。
でも新しいやつにリダイレクトされている模様
インストール完了
これでdockerのインストールは完了。
確認するには以下のhello world
なdockerを起動
docker run hello-world
これで色々メッセージが出てきたらOK。詳細は上記URLの6.を参考のこと
docker用ユーザグループの作成
これを実施することによるメリットが今の所理解できていないので、分かり次第追記する
グループ作成とユーザ追加
groupadd docker
usermod -aG docker hogehoge
dockerの自動起動設定
chkconfig docker on
完了
これでdockerのインストールと初期設定は完了
Docker Compose のインストール
CentOS7の場合は別途docker-composeのインストールも必要だとのことなので実施。
以下を参照。
https://docs.docker.com/compose/install/#/install-docker-compose
Githubから取得
いくつか方法はあるようだけど、Githubから取得する方法を選択。
Github上にあるものをそのまま/usr/local/bin/以下にもってくるという手法。
curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
実行権限付与
chmod +x /usr/local/bin/docker-compose
完了
以下のコマンドを実行してバージョン番号がでればOK
docker-compose --version
Wekan用の設定
これでdockerの環境の準備ができたので、Wekanの設定を実施。
Wekan用ユーザの追加
useradd -d /home/wekan -m -s /bin/bash wekan
dockerグループにwekanを追加
usermod -aG docker wekan
docker-compose.yml
の作成
/home/wekan/
配下に以下の内容のdocker-compose.yml
を作成
wekan:
image: mquandalle/wekan
restart: always
links:
- wekandb
environment:
- MONGO_URL=mongodb://wekandb/wekan
- ROOT_URL=http://mytodo.org
- MAIL_URL=smtp://user:pass@mailserver.example.com:25/
- MAIL_FROM=wekan-admin@example.com
ports:
- 8081:80
wekandb:
image: mongo
restart: always
volumes:
- /home/wekan/data:/data/db
起動時にコンテナが自動起動するようにrestart: always
を追加している。
メールサーバの設定
今回は実施していないので、実施する場合は以下を参照のこと
https://github.com/wekan/wekan/wiki/Install-Wekan-Docker-in-production#3-configure-mail-server
webserverの設定
上記URLのアンカーにあるように、nginxでの設定を実施した。
nginxはyum install nginx
でいけたハズ(違ったら追記)
Wekanの他に何もWebサーバがないので上記リンク通りに設定。
まとめるとこんな感じ。
upstream websocket {
server 127.0.0.1:8081;
}
map $http_upgrade $connection_upgrade {
default upgrade;
'' close;
}
server {
listen 123.45.67.89:80;
server_name mytodo.org;
access_log /var/log/nginx/mytodo_access.log;
error_log /var/log/nginx/mytodo_error.log;
location / {
proxy_read_timeout 300;
proxy_connect_timeout 300;
proxy_redirect off;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_pass http://127.0.0.1:8081;
}
location ~ websocket$ {
proxy_pass http://websocket;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection $connection_upgrade;
}
[...]
}
nginxの起動と自動起動設定
service docker start
chkconfig docker on
Wekanの起動
wekanユーザに切り替え
su - wekan
/home/wekan
に移動
すでに/home/wekan/
にいると思うけど念のため
cd /home/wekan
起動
docker-compose up -d
起動確認
http://server-ip
にアクセス
Wekanのログイン画面が出れば成功