💬

GCPのGoogle Click to Deployで立ち上げたRedashのdocker-composeが反映されない問題

2024/04/09に公開

前置き

OSSのBIツールであるRedashの話です。
https://github.com/getredash/redash

以前はクラウド版が提供されていましたが、Databricksに買収されることでサービス終了してしまいました。今でも根強いファンがいるツール、かつ圧倒的に他の競合サービスに比べて安いため、自社でホスティングして使用している会社も多いかと思います。

余談
買収されてOSSの開発も止まってしまったRedashですが、2023年4月にコミュニティ主導で開発が再開されることになりました。今もなお開発が続いているので、新バージョンのリリースに期待ですね。

https://github.com/getredash/redash/discussions/5962
https://github.com/getredash/redash/graphs/contributors

起きた事象

GCPにはGoogle Click to DeployというワンクリックでVMインスタンスにサービスを立ち上げてくれる機能が用意されており、Redashもこれを使って簡単に構築することができます。

Redashを自社でホスティングしていると、バージョンを上げたり、パラメータを調整するために docker-compose.yml をいじりたいということが多々あります。

Google Click to Deployは便利な一方で、ドキュメントが貧弱という弱点があり、サーバーの中にSSHしてファイルを探索して docker-compose.yml をいじっても反映されないという問題がおきました。

そのときに実行していたコマンドは下記です。

$ vi /opt/redash/docker-compose.yml
$ docker-compose down
$ docker-compose up

解決策

いきなり結論ですが、 docker-compose.yml の参照先が間違っていたことが反映されない原因でした。

-f オプションでファイルを指定できることは知っていましたが、実は COMPOSE_FILE 環境変数でも使用する Composeファイルを指定できるようです。
https://docs.docker.jp/compose/reference/envvars.html#compose-file

$ echo $COMPOSE_FILE
/opt/redash/setup/docker-compose.yml
$ vi /opt/redash/setup/docker-compose.yml
$ docker-compose down
$ docker-compose up

ややこしいディレクトリ構造はやめてほしい...!

Discussion