🏃
ローカルでRedashを実行する(データの永続化対応)
はじめに
社内のRedashが重くてクエリの実行ができなかったため、RedashをローカルのMacBook Pro上で立ち上げました。
少し手こずったため備忘のため手順を残します。
本番用というよりは、あくまで個人用途を想定しているためご注意ください。
基本的に以下の記事を参考に構築しました。
環境
実行環境: 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が立ち上がるため、サインアップやデータソースの設定をすると利用可能になる。
参考文献
Discussion