はじめに
業務でRedashを使っているのですが、すでに用意されていたRedash&ゲスト権限なため、Redash自体についてあまり理解できてない状態でした。
そこで理解を深めるため、自分でRedashをDocker Desktopで構築してみました。
本記事は、その手順的なものを備忘録的にまとめたものとなります。
基本的には、下記の公式ドキュメント通りに実行しただけとなります。
環境
- macOS Big Sur 11.6
- 執筆時の
master
のHEAD → 12c475068483ba1cc2525e73ecd20843bf435922
1. Docker Desktopをインストール
まずはDocker Desktopをインストールしておきます。
2. Redashをclone
適当なところにRedashのリポジトリをクローンします。
$ git clone https://github.com/getredash/redash.git
3. REDASH_COOKIE_SECRETを設定
REDASH_COOKIE_SECRET
という環境変数を定義する必要があるようです。
今回はローカルのPCに構築するだけなので、 .env
ファイルを作成し、そこに記述しておきます。
詳しくは、下記ページが参考になりそうです。
https://redash.io/help/open-source/admin-guide/secrets
REDASH_COOKIE_SECRET=hogehoge
4. Dockerをセットアップ
コンテナを作成します。
$ docker-compose up -d
成功すると、Docker Desktopに「redash」が表示されます。
5. Nodeのパッケージをインストール
フロントエンド周りで必要になるようなので、Nodeのパッケージをインストールします。
$ yarn --frozen-lockfile
※ 上記コードを実行した際に、下記のようなエラーが発生しました。
内容的には node
のバージョンが合ってないというものだったので、nvm で node
のバージョンを 14.16.1
に指定してあげることで解決しました。
error redash-client@11.0.0-dev: The engine "node" is incompatible with this module. Expected version "^14.16.1". Got "17.3.0"
error Commands cannot run with an incompatible environment.
6. データベース作成
データベースの作成を行います。
$ docker-compose run --rm server create_db
ここまで問題なく進んでいれば、http://localhost:5000 でRedashのページを読み込むことができるかと思います。
7. フロントエンドのコードをビルド
フロントエンドのUI構築のため、ビルドを行います。
$ yarn build
ちなみに、ビルドしなくてもページ自体は見れますが、デザインが当たってなかったです。
ビルド前 | ビルド後 |
---|---|
![]() |
![]() |
8. Adminユーザーを作成
最初にAdminユーザーを作成するページが表示されるので、そこで適当にユーザー名・メールアドレス・パスワード、組織名を入力します。
9. 完了
あとはデータソースを追加して、自分だけのRedashを自由にイジイジすることができますね
まとめ
- ちょっとはまったところはありつつも、簡単にRedashをDocker Desktopで構築できた
- Redashの理解は深まってはいない