なんて美しい夕陽だ🌇

プログラミング、日常、忘れないように書いていきます

M1 MacでRetoolのローカル環境を構築してみる

はじめに

最近、ローコードツールである Retool を利用した開発を行っています。RetoolはWebブラウザ上で動作し、UIコンポーネントドラッグ&ドロップすることで画面を構築できるサービスです。さらに、画面に表示するデータとして、自前で作成したAPIやデータベースやGoogle Analytics等のデータと連携することができます。

Retoolのイメージは Retool | The fastest way to develop effective software. 、データソースについては Data sources | Retool Docs をご覧ください。

自前でAPIを構築しRetoolと連携する場合、ローカル環境のAPIクラウド版やセルフホストしたサーバー上に構築したRetoolとの接続ができず、検証が行いづらい状態でした。

今回は、M1 Macのローカル環境にRetoolを構築し、APIとの連携を検証できる状態にしましたので手順を残していきます。

ローカル環境の構築手順

Deploy Self-hosted Retool with Docker Compose | Retool Docs をベースにローカル環境を構築していきます。

事前準備

Retoolの構築にあたって以下の準備が必要になります。

  1. docker-compose の動作環境
  2. Retoolのライセンスキーの取得

ライセンスキーの取得は Retool On-prem Portal から行います。ユーザー登録を行うとライセンスキーが発行されるので控えておきます。

1. オンプレ版のRetoolをclone

オンプレ版のRetoolがGitHubで公開されているのでこちらをcloneします。

github.com

$ git clone git@github.com:tryretool/retool-onpremise.git

2. Dockerのセットアップ

既存のスクリプトを実行し、Dockerを立ち上げるためのセットアップをしていきます。これにより docker.env が生成されます。

$ cd retool-onpremise
retool-onpremise$ ./install.sh

3. 環境変数の設定

docker.env を2箇所修正します。

① 事前準備で控えておいたライセンスキーの設定

## License key
LICENSE_KEY={取得したライセンスキー}

COOKIE_INSECUREのコメント解除

COOKIE_INSECURE=true

4. Dockerイメージのバージョン指定

以下のページから、最新のDockerイメージのバージョンを控えておきます。

https://hub.docker.com/r/tryretool/backend/tags

Dockerfileに控えていたイメージのバージョンを指定します。

FROM tryretool/backend:3.20.13

5. ワークフロー機能の無効化

今回はワークフロー機能は利用しないため無効化します。 docker-compose.yml から該当機能を削除します。

6. docker composeを起動する

docker composeを起動します。ログを確認したい場合は -d を省きます。

$ docker compose up -d

http://0.0.0.0:3000/ にアクセスし、ログイン画面が表示されれば成功です。初回はユーザー登録を行うことで利用できるようになります。

補足: ローカルに立てたAPIサーバーとの接続

別のコンテナで動作しているAPIサーバーと疎通を行いたい場合、同じDocker Networkに含める必要があります。以下の記事が参考になりそうです。

zenn.dev

最後に

今回はRetoolのローカル開発環境を構築してみました。社内用アプリケーションを高速に立ち上げるには良いサービスだと感じています。引き続きRetoolの活用を進めていきます。