🏃

ローカルでRedashを実行する(データの永続化対応)

に公開

はじめに

社内のRedashが重くてクエリの実行ができなかったため、RedashをローカルのMacBook Pro上で立ち上げました。
少し手こずったため備忘のため手順を残します。
本番用というよりは、あくまで個人用途を想定しているためご注意ください。

基本的に以下の記事を参考に構築しました。
https://zenn.dev/takanao/articles/434fde3e0ba387

環境

実行環境: M4 MacBook Pro

手順

事前準備

node(">16.0 <21.0")のインストール(公式手順
yarn("^1.22.10")のインストール

npm install -g yarn

Redashリポジトリのクローン

公式リポジトリからクローン

git clone https://github.com/getredash/redash.git

作業時点でのスナップショットはこちら

git clone https://github.com/ttsujino/redash.git

環境変数の準備

touch .env
python -c 'import secrets; print(secrets.token_hex())' # secretの作成
REDASH_COOKIE_SECRET=... # 上コマンドで作成したsecretを指定

永続化のためのボリューム追加

リポジトリのルートディレクトリにあるcompose.yamlを書き換える。
具体的にはこちら# 追加と書かれている部分を追加する。(計3箇所)

ページのビルド

この手順は実行せずともサーバーは立ち上がるが、実行しないと画面が整形されない。
なお、npmを使うとエラーが出る。
また、PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=trueを指定しない場合もエラーが出る。

PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true yarn install --no-optional --legacy-peer-deps
yarn build

コンテナの立ち上げ

docker compose up -d

データベースのセットアップ

docker-compose run --rm server create_db
docker-compose run --rm postgres psql -h postgres -U postgres -c "create database tests"

Redashの設定

http://localhost:5001/に接続するとRedashが立ち上がるため、サインアップやデータソースの設定をすると利用可能になる。

参考文献

https://zenn.dev/takanao/articles/434fde3e0ba387
https://github.com/nvm-sh/nvm

Discussion