LoginSignup
1
0

WindowsでWSLを使わずRedashを動かす

Posted at

備忘録として…
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に``貼り付けます。

.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を使わずに環境を作ることになってしまった方がいましたら、何かしら参考になれば幸いです。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0