インストール
まず、Re:dashの導入について解説します。Re:dashをインストールするには以下の方法があります。詳しくは公式Webサイトのドキュメントに記載されています。
- AWS(Amazon Web Service)のインスタンスイメージを利用する
- GCP(Google Cloud Platform)のインスタンスイメージを利用する
- Docker Composeを利用する
- Provisioning Scriptを利用する
今回は、macOS上で手軽に動作環境を作るためにDockerを利用する方法を用います。なお、Windowsの場合もWindows用Dockerを用いることにより、手順はほぼ同じになります。
Docker環境を準備する
Docker公式Webサイトから「Docker For Mac」をダウンロードし、インストールします。
これによりDockerやDocker Machine、Docker Composeなど、今回必要なツール群がインストールされます。Docker MachineはDockerコンテナ群を管理するDockerホストを簡単に立ち上げるツール、Docker Compseは複数コンテナの管理を楽にするツールです。
Dockerのホストのインスタンスは仮想化ツールのParallelsで構築します。
VirtualBoxなど、ほかの仮想化ツールを利用する場合も基本的に手順は同じです。利用する仮想化ツールは最新版を利用してください。
まず、HomebrewでParallels用ドライバを導入します。なお、VirtualBoxを利用する場合、ドライバは標準でDockerに組み込まれているためこの手順は不要です。
$ brew install docker-machine-parallels
次にDocker Machineを使って、ParallelsをドライバにしたDockerホストを作り、起動します。
$ docker-machine create --driver=parallels codezine-host
これでローカルホスト内にcodezine-host
という名前のDockerホストが起動します。
次のコマンドを実行すると、Dockerホストの環境情報が出力されます。
$ docker-machine env codezine-host export DOCKER_TLS_VERIFY="1" export DOCKER_HOST="tcp://1.2.3.4:2376" export DOCKER_CERT_PATH="/Users/user_name/.docker/machine/machines/codezine-host" export DOCKER_MACHINE_NAME="codezine-host" # Run this command to configure your shell: # eval $(docker-machine env codezine-host)
指示通りに、eval $(docker-machine env codezine-host)
を実行すると、シェルに環境変数が読み込まれます。Docker Composeはこの環境変数の値を確認してDockerホストのアドレスを特定します。シェルを新規に立ち上げたあとは毎回実行してください。
Docker ComposeでRe:dashを起動する
次にRe:dashをインストールします。
まずGitHubからレポジトリをcloneし、レポジトリのルートディレクトリへ移動します。
$ git clone https://github.com/getredash/redash.git $ cd redash
レポジトリに含まれるdocker-compose.yamlとdocker-compose.production.ymlが、Re:dash構築のためのDocker Compose用のファイルです。なお前者が開発環境用、後者が本番環境用です。今回は本番用を用います。
このファイルにRe:dashの動作に必要なコンテナの設定情報が記載されており、docker-comoseコマンドに渡すと設定通りに環境が立ち上がります。
データベース構築のため、以下のコマンドを実行します。
$ docker-compose -f docker-compose.production.yml run --rm server create_db[/s] Docker ComposeでRe:dashを起動します。 [sg] $ docker-compose -f docker-compose.production.yml up
docker-machine ip
コマンドで出力されるIPアドレスがRe:dashが動いているIPです。
$ docker-machine ip codezine-host
ブラウザから「http://IPアドレス/」を入力して起動しているRe:dashにアクセスできます。
Re:dashの最初の画面では管理者の設定が必要です。
ユーザー名、パスワード(6文字以上)を設定します。ここではユーザー名をadminとしました。「Organization Name」には適当な組織名を入れてください。UIなどで使用されます。
なお、DockerホストとDockerコンテナを停止する際は以下のコマンドを実行してください。
$ docker-machine stop codezine-host
再び起動する場合は次のコマンドでそれぞれ起動してください。
$ docker-machine start codezine-host $ eval $(docker-machine env codezine-host) $ docker-compose -f docker-compose.production.yml up
Re:dashの新規データソースを設定する
Re:dashのデータソースは、ヘッダの[Data Sources]メニューから設定します。新規データソースを作成し、データベースのアドレス、データベース名、接続アカウントなど必須項目を埋めます。ここでは前回までの連載記事で利用したPostgreSQLに接続してみます。
データソース名は「Codezine」としました。[Test Connection]ボタンを押下して「SUCCESS」の表記が出れば接続完了です。成功しない場合はユーザー名などが間違っているか、パーミションなどが解決できていない状態のため、適宜解決しましょう。