Vagrant で Mattermost を 立ち上げてみた
この記事は 2018年 9月 12日 に書かれた記事です。
今回は Mattermost を 立ち上げます
Bitbucket から Webhook で 通知を受け取る時に ちょっと カスタマイズする必要があったので 今回も ローカル環境に立てて 実験用に使います
更に GitBucket からも Webhook で 通知を受け取れるように したいと 考えていますね
というわけで
Vagrant で GitBucket を 立ち上げてみた
https://tekuaru.jack-russell.jp/2018/08/24/2006/
の 第二弾 となります
Mattermost
Mattermost
https://mattermost.com/
Mattermost は Slack を 意識した オープンソース の チャットツール になります
よく Slackクローン と 言われていますね
では 早速 Vagrant で 立ち上げてみましょう
Vagrantfile
VAGRANT_CONFIGURATION = "2" VAGRANT_NAME = "mattermost" VAGRANT_NETWORK = "192.168.33.5" Vagrant.configure(VAGRANT_CONFIGURATION) do |config| config.vm.box = "centos/7" config.vm.hostname = VAGRANT_NAME config.vm.network "private_network", ip: VAGRANT_NETWORK config.vm.synced_folder "../script/", "/home/vagrant/script/", create: true, owner: 'vagrant', group: 'vagrant', mount_options: ['dmode=777,fmode=777'] config.vm.provider "virtualbox" do |vb| vb.name = VAGRANT_NAME end config.vm.provision "shell", :path => "setup.sh" end
setup.sh
echo '# SELinux disable ----------------------------------------------------------------------------------' setenforce 0 sed -i.bak "/SELINUX/s/enforcing/disabled/g" /etc/selinux/config echo '# yum ----------------------------------------------------------------------------------------------' yum -y update yum -y upgrade echo '# mkdir ~/download ---------------------------------------------------------------------------------' mkdir -p ~/download/ cd ~/download/ # ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ echo '# curl ---------------------------------------------------------------------------------------------' yum -y install curl-devel echo '# MariaDB 10.3 -------------------------------------------------------------------------------------' mkdir -p /etc/yum.repos.d/ touch /etc/yum.repos.d/mariadb.repo cat << EOS > /etc/yum.repos.d/mariadb.repo # MariaDB 10.3 CentOS repository list - created 2018-09-12 04:00 UTC # http://downloads.mariadb.org/mariadb/repositories/ [mariadb] name = MariaDB baseurl = http://yum.mariadb.org/10.3/centos7-amd64 gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB gpgcheck=1 EOS yum -y install MariaDB-server MariaDB-client echo '# MariaDB Setup ------------------------------------------------------------------------------------' systemctl restart mariadb.service # mysql_secure_installation mysql -u root -e "CREATE DATABASE mattermost;" mysql -u root -e "CREATE USER 'mmuser'@'localhost' IDENTIFIED BY 'mmuser-password';" mysql -u root -e "GRANT ALL PRIVILEGES ON mattermost.* TO 'mmuser'@'localhost' WITH GRANT OPTION;" mysql -u root -e "FLUSH PRIVILEGES;" echo '# Mattermost ---------------------------------------------------------------------------------------' cd ~/download/ curl -L -O https://releases.mattermost.com/5.2.1/mattermost-5.2.1-linux-amd64.tar.gz tar zxvf mattermost-5.2.1-linux-amd64.tar.gz -C /opt mkdir /opt/mattermost/data cd ~/download/ useradd --system --user-group mattermost chown -R mattermost:mattermost /opt/mattermost chmod -R g+w /opt/mattermost sed -i.bak "s/mmuser:mostest@tcp(dockerhost:3306)\/mattermost_test?charset=utf8mb4,utf8\&readTimeout=30s\&writeTimeout=30s/mmuser:mmuser-password@tcp(127.0.0.1:3306)\/mattermost?charset=utf8mb4,utf8\&readTimeout=30s\&writeTimeout=30s/g" /opt/mattermost/config/config.json touch /etc/systemd/system/mattermost.service cat << EOS > /etc/systemd/system/mattermost.service [Unit] Description=Mattermost After=syslog.target network.target postgresql-9.4.service [Service] Type=notify WorkingDirectory=/opt/mattermost User=mattermost ExecStart=/opt/mattermost/bin/mattermost PIDFile=/var/spool/mattermost/pid/master.pid TimeoutStartSec=3600 LimitNOFILE=49152 [Install] WantedBy=multi-user.target EOS chmod 664 /etc/systemd/system/mattermost.service # ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ echo '# MariaDB restart ----------------------------------------------------------------------------------' systemctl enable mariadb.service systemctl restart mariadb.service echo '# Mattermost restart -------------------------------------------------------------------------------' systemctl enable mattermost systemctl restart mattermost
今回は MariaDB で Mattermost を 動かしています
vagrant up
すると
Mattermost ローカル環境 (vagrant-hostsupdater 使用)
http://mattermost:8065/
で アクセス することができます
感想
今回も サクッと 環境を作ることができました
ファイルを 展開して アプリケーションを動かすタイプなので アップデートを行うのも 一苦労そうです…
I referred to Upgrading Mattermost Server ‐ Mattermost 5.2 documentation.
https://docs.mattermost.com/administration/upgrade.html
こちらに ドキュメント が ありますが 僕には難しそう…
vagrant にて 何度か トライしてみて sh を 作ってみないと 怖いですね…
Bitbucket から Webhook が うまく行ったら その時は また記事を書くかもしれません