備忘録として…
LinuxやMacであればMakefileを実行すると簡単に環境をできますが、WindowsかつWSLを利用しないの場合少々クセがあります。
どうやって手元で構築したか作業ログとして残しておきます。
環境
- Windows 11 Pro
- Docker for Windowsはログインまで完了済
- Gitもインストール済
- pythonもインストール済
手元にRedashをダウンロードする
git clone git@github.com:getredash/redash.git # どちらか好きな方で
git clone https://github.com/getredash/redash.git
.envの用意
まず環境変数を用意しましょう。.envファイルを作成し、鍵を作成するためにpythonで以下のコードを実行します。
import secrets; print(secrets.token_hex())
`ランダムな文字列が出力されたらOK`
この出力を先ほど作成した.env
に``貼り付けます。
REDASH_COOKIE_SECRET=さっき出力された文字列
nodeのセットアップ
node16は執筆時点でEOLですが、package.sjonを見るとまだnode17以降は対応していないため、node16を好きな方法でインストールしてください。
その後、yarnを実行できるようにするため、Powershellを管理者で開き、Set-ExecutionPolicy RemoteSigned
を実行します。実行後確認をされますので、Y
を入力してください。
これでnodeの実行が終わったので、 npm install -g yarn
を実行し、yarnを実行できるようにします。
フロントエンドのセットアップ
yarn install
をする前に、preinstallを実行します。
ただPowerShellのファイルパスなどの仕様の違いによる差分を埋めるため、./package.json
のscriptsをその前に少々書き換えます。
他のコマンドも将来的には書き換えが必要ですが、最低限
- "clean": "rm -rf ./client/dist",
- "build": "yarn clean && yarn build:viz && NODE_ENV=production webpack",
- "preinstall": "cd viz-lib && yarn link --link-folder ../.yarn",
- "postinstall": "(cd viz-lib && yarn --frozen-lockfile && yarn build:babel) && yarn link --link-folder ./.yarn @redash/viz"
+ "clean": "del client\\dist",
+ "build": "yarn clean && yarn build:viz && set NODE_ENV=production&&webpack",
+ "preinstall": "cd viz-lib && yarn link --link-folder ..\\.yarn",
+ "postinstall": "(cd viz-lib && yarn --frozen-lockfile && yarn build:babel) && yarn link --link-folder .\\.yarn @redash/viz"
その後、下記コマンドでライブラリをインストールして、ビルドを行います。
yarn run preinstall
yarn install
yarn run postinstall
yarn run build
コンテナの起動
これで準備は一通り完了したので、コンテナを起動しましょう。
docker compose build
docker compose up -d
コンテナを起動後、localhost:5001にアクセスするとredashにアクセスできると思います。
やってみて
まず大きな大前提として、WSLなどを使えばもっと楽にできると思います。
今回は使わないならどう立ち上げるの?という興味でやったので、ストレスなどはなかったですが、簡単な方向に倒せるならそちらへ寄せてしまった方がよいでしょう。
万が一、RedashをWSLを使わずに環境を作ることになってしまった方がいましたら、何かしら参考になれば幸いです。