[メモ] Rocket.Chat 導入と初期設定 (Virtualbox, docker, ngrok)



導入手順は、下のほうにあります。


# 概要
 Rocket.Chatを軽く使ってみようかと、試してみました。

# 環境
- Windows 10 
    - git version 2.17.1.windows.2
    - Vagrant 2.2.4
    - VirtualBox 6.0.4
        - Ubuntu 18.04.2 LTS (GNU/Linux 4.15.0-50-generic x86_64)
        - Box: `ubuntu/bionic64    (virtualbox, 20190514.0.0)`
            - `dococker` version 18.09.6, build 481bc77
                - docker images:
                    - `mongo`
                    - `rocketchat/rocket.chat`
                    - `rocketchat/hubot-rocketchat`
            - `docker-compose` version 1.24.0, build 0aa59064
            - ngrok
      
 
 


<!--
# 手順概要
1. chocolatey 導入
1. Vagrant / VirtualBoxをインストール
2. 
-->

# 設定手順

1. セットアップウィザード (1/4)

	<!--
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/e83583ef-8de4-9736-da2f-68543e738b2f.png)
	-->

	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/b18d1d47-ca69-67da-70ab-4e05b8cbb139.png)

2. セットアップウィザード (2/4)

	<!--
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/7378fa41-7460-4130-d8e4-e31c29267207.png)
	-->

	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/c8314a2a-7d2b-fa35-b9d7-b1a1dbdabb95.png)

3. セットアップウィザード (3/4)

	<!--
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/d6e6f449-0f9e-4285-4745-f50edd0a6314.png)
	-->

	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/1426ef25-6d95-cd0a-95f0-0cbcba83c1a3.png)

4. セットアップウィザード (4/4)
	
	<!--
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/ea0bb350-7c7e-ab04-ebd9-f9c96b26e487.png)
	-->

	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/4849638d-e758-4d77-278a-45e0396f0b06.png)

5. [ワークスペースを開く]をおす
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/fbc70f77-0b4b-7ed8-8e0c-da772ff4ecaf.png)

6. リロードします。
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/316b5d28-6e24-55a6-ed4b-70d1f7044ca6.png)

7. [はい]を押して、サイトURLを更新
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/03e21eac-f4f8-6816-f72d-cf28ef980050.png)

8. 保存されます。
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/04bfdfe3-16d2-3e26-0b27-d9d6a0a0c0c7.png)

9. 管理　へ行き、接続サービスをクリック

	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/18079e14-5d4c-026e-5e64-9702a8263430.png)

10. 登録したメアドにトークンが届いてるので、こぴぺして、[接続]

	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/7b2b8e67-d785-2d5c-38d0-0c4751201e41.png)

11. Connectedされたら、[Rocket.Chatクラウドにログイン]
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/2a844ac3-07d6-8f0e-2d96-63f09da7d607.png)

12. セットアップウィザード (1/4)で入れた、メアドとパスワードでログイン
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/5534e61f-5cef-4cad-50a3-78a34fee92d6.png)

13. [Authorize]を押す
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/a4677997-9920-82b8-cd42-278b3e21d0eb.png)


14. 右上の[クラウドコンソール]
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/2cd4a672-7d62-8319-3f5d-f2d00099e3db.png)

15. Domainが localhost:3000 になってる!?
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/44a75c1d-40c5-a4d3-7d5b-34aaa46d4489.png)


16. 14の画面とこにいって、一度、[切断]して、[ワークスペースを登録するにはここをクリック。]をおして、再度確認
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/73464d3a-108f-0266-de7c-37e18624350f.png)


17. OK
	![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/75594/9e522ef2-fed3-4d36-8a33-3be7f3a1e75e.png)



# 導入手順

1. Chocolatey, Vagrant, VirtualBox, git 導入

    (省略) ... 

2. VirtualBoxへ Ubuntu 1804導入・初期設定

	1. `git bash`を開く

	2. 以下コピペ

		```bash:以下コピペ
		# C:\Vagrant\RocketChat_u1804
		#
		mkdir /c/Vagrant/RocketChat_u1804
		cd /c/Vagrant/RocketChat_u1804

		cat << "EOF" > Vagrantfile
		VB_NAME="u1804"
		VM_MEMORY=2048
		VM_CORES=2
		Vagrant.configure("2") do |config|
			config.vm.box = "ubuntu/bionic64"
			#config.vm.network "public_network"
			config.vm.provider "virtualbox" do |vb|
				vb.gui = false
				vb.name   = VB_NAME
				vb.memory = VM_MEMORY
				vb.cpus   = VM_CORES
			end
		end
		EOF

		#
		vagrant up && vagrant ssh
		```

	3. 無事ログインしたら、ホスト名変更して、抜ける

		```bash:以下コピペ_ホスト名変更
		# ホスト名変更
		NEW_HOSTNAME=rcu18
		sudo hostnamectl set-hostname ${NEW_HOSTNAME}
		sudo sed -i -e "s/ubuntu-bionic/${NEW_HOSTNAME}/g" /etc/hosts
		exit # 一度抜ける
		```

	4. 仮想マシン再起動して、ログイン

		```bash:以下コピペ_再起動・再ログイン
		vagrant reload && vagrant ssh
		```


3. Ubuntu 1804 - docker, docker-compose導入

	1. docker導入

		```bash:以下コピペ_docker導入
		sudo sh -c 'apt-get update && apt-get upgrade -y && apt-get install -y curl unzip jq bash-completion' && \
		curl -sSL https://get.docker.com/ | sh && \
		sudo usermod -aG docker ${USER}
		```


	2. docker-compose導入

		```bash:以下コピペ_docker-compose導入
		# docker-compose - https://docs.docker.com/compose/install/
		sudo sh -c 'DOCKER_COMPOSE_VERSION=$(curl -s https://api.github.com/repos/docker/compose/releases/latest | jq -r ".tag_name") && \
		curl -sL https://github.com/docker/compose/releases/download/${DOCKER_COMPOSE_VERSION}/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose && \
		curl -sL https://raw.githubusercontent.com/docker/compose/${DOCKER_COMPOSE_VERSION}/contrib/completion/bash/docker-compose -o /etc/bash_completion.d/docker-compose' && \
		docker-compose --version
		```
##



4. ngrok 導入

	1. [ngrokのダッシュボードのAuth](https://dashboard.ngrok.com/auth)から、Tokenを持ってくる

			
		```bash:TOKENを入れて、こぴぺ		
		# 取得したTOKENを下に書く
		NGROK_TOKEN=AaBbCcDdEeFfGgHhIiJj_KkLlMmNnOoPpQqRrSsTt
		#
		#以下コピペ
		sudo sh -c 'apt update && apt install -y jq git curl unzip' && \
		cd ${HOME} && \
		git clone https://github.com/vincenthsu/systemd-ngrok.git && \
		sudo ./systemd-ngrok/install.sh ${NGROK_TOKEN} && \
		sleep 3 && curl -s localhost:4040/api/tunnels | jq -r ".tunnels[].public_url"
		```


	2. 設定を変える http で 3000番ポートに


		```bash:以下コピペ_ngtok設定変更
		# 取得したTOKENを下に書く
		#NGROK_TOKEN=AaBbCcDdEeFfGgHhIiJj_KkLlMmNnOoPpQqRrSsTt
		
		cat << EOF | sudo tee /opt/ngrok/ngrok.yml
		authtoken: ${NGROK_TOKEN}
		tunnels:
		  http:
		   addr: 3000
		   proto: http
		EOF
		# 
		sudo systemctl daemon-reload
		sudo systemctl restart ngrok.service
		curl -s localhost:4040/api/tunnels | jq -r ".tunnels[].public_url"
		```



5. 一度抜けて(`exit`)、WIndows10のgit bashにもどり、<br>再起動・再ログイン(`vagrant reload && vagrant ssh`)



6. Rocket.Chat導入

	```bash:以下コピペ
	cd ${HOME} && \
	mkdir rocket.chat && cd rocket.chat && \
	curl -sSLO https://raw.githubusercontent.com/RocketChat/Rocket.Chat/develop/docker-compose.yml && \
	sed -i -e 's/- ROOT_URL=/#- ROOT_URL=/g' -e 's/- MAIL_URL=/#- MAIL_URL=/g' ./docker-compose.yml && \
	time docker-compose up -d
	```

7．待つ


8. ubuntu内で、`curl -s localhost:4040/api/tunnels | jq -r ".tunnels[].public_url"`でアドレスを確認して、ブラウザでアクセス

	```shell-session:httpsのほうでアクセスしてみよう
	vagrant@rcu18:~$ curl -s localhost:4040/api/tunnels | jq -r ".tunnels[].public_url"
	http://05772548.ngrok.io
	https://05772548.ngrok.io
	vagrant@rcu18:~$
	```


# その他
1. ngrokが切れて、URLが変わったら、Rocket.Chatにログインして、リロードすれば、設定手順の7 みたいな画面が出てきて、変更できるんじゃないか、と。