Help us understand the problem. What is going on with this article?

CentOS7上にWekanOnDocker環境を構築する

More than 3 years have passed since last update.

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用ユーザグループの作成

これを実施することによるメリットが今の所理解できていないので、分かり次第追記する

https://docs.docker.com/engine/installation/linux/centos/#/create-a-docker-group

グループ作成とユーザ追加

groupadd docker
usermod -aG docker hogehoge

dockerの自動起動設定

https://docs.docker.com/engine/installation/linux/centos/#/start-the-docker-daemon-at-boot

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の設定

https://github.com/wekan/wekan/wiki/Install-Wekan-Docker-in-production#4b-nginx

上記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のログイン画面が出れば成功

Why do not you register as a user and use Qiita more conveniently?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away