はじめに
最近、ローコードツールである 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の構築にあたって以下の準備が必要になります。
- docker-compose の動作環境
- Retoolのライセンスキーの取得
ライセンスキーの取得は Retool On-prem Portal から行います。ユーザー登録を行うとライセンスキーが発行されるので控えておきます。
1. オンプレ版のRetoolをclone
オンプレ版のRetoolがGitHubで公開されているのでこちらをcloneします。
$ 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
から該当機能を削除します。
- https://github.com/tryretool/retool-onpremise/blob/cebbcc3/docker-compose.yml#L28
- https://github.com/tryretool/retool-onpremise/blob/cebbcc3/docker-compose.yml#L35
- https://github.com/tryretool/retool-onpremise/blob/cebbcc3/docker-compose.yml#L95-L119
- https://github.com/tryretool/retool-onpremise/blob/cebbcc3/docker-compose.yml#L165
6. docker composeを起動する
docker composeを起動します。ログを確認したい場合は -d
を省きます。
$ docker compose up -d
http://0.0.0.0:3000/ にアクセスし、ログイン画面が表示されれば成功です。初回はユーザー登録を行うことで利用できるようになります。
補足: ローカルに立てたAPIサーバーとの接続
別のコンテナで動作しているAPIサーバーと疎通を行いたい場合、同じDocker Networkに含める必要があります。以下の記事が参考になりそうです。
最後に
今回はRetoolのローカル開発環境を構築してみました。社内用アプリケーションを高速に立ち上げるには良いサービスだと感じています。引き続きRetoolの活用を進めていきます。