はじめに
Seleniumで動くアプリケーションをどこかにデプロイして動かしたいと思いました。
しかし、調べてもHerokuに関する情報ばかり出てきます。
Herokuは無料枠がなくなってしまったので、その代替としてRender.comがよく候補に上がっています。
RenderでSeleniumを動かすのに苦戦したので、その方法をまとめておきます。
dockerを使用する方法もあるみたいですが、これは直接Chromeをインストールしています。
手順
サンプルコードはこちらです。
Chromeを展開するためにrender-build.shが必要です。
自動でChrome driverをダウンロードしてくれるPythonライブラリのwebdriver-managerを使用しています。
以下の記事を参考に、renderでGithubのリポジトリを読み込む。
renderのSettingsのBuild Commandを以下にする。
pip install -r requirements.txt; sh render-build.sh
Start Commandを以下にする。
export PATH="${PATH}:/opt/render/project/.render/chrome/opt/google/chrome";gunicorn app:app
動作確認
以下が実際にデプロイしたサンプルです。
読み込みに結構時間がかかりますが、表示されます。
サーバーを閉じました。