概要
2022年8月25日にHerokuの無料枠が廃止されると公式から発表されました。その発表によると廃止される無料枠は「Heroku Dyno」、「Heroku Postgres」、「Heroku Data for Redis」の3つのサービスです。
無料でdockerコンテナが動かせることが魅力に感じて「Heroku Dyno」をよく利用していました。$25/month払えば継続利用できますが、ホビー用途では無料にしたいので他のサービスを探しました。現在では、Render、Railway、Fly.ioなどが無料でdockerコンテナが動かせるようです。
この記事では上記3つの中からRenderにdockerコンテナをデプロイしていきたいと思います。
ユーザ登録
RenderではGitHub、GitLab、Googleのアカウントもしくはメールアドレスによってユーザ登録できます。私はGitHubアカウントでユーザ登録したのでGitHubアカウントでログインします。

ではログインします。

リポジトリ
次にRenderに認識させるGitHubのリポジトリを選択します。すべてのリポジトリを選択することもできますが、ここでは、あらかじめ作成しておいたweb-rustというリポジトリを認識させます。

あらかじめ作成しておいたリポジトリはこちらです。Actix-webというWebフレームワークを使用したWebアプリケーションです。アクセスすると文字列を返してくる簡単なWebアプリケーションになっています。
プロジェクトの作成
コンテンツの選択
まず、作成したいコンテンツの種類を選択します。ここではNew Web Serviceを選択します。

次に、さきほど認識させたGitHubのリポジトリに接続します。

プロジェクトの設定
GitHubのリポジトリにDockerfileがあるため、Dockerを利用すると認識したようです。そのおかげもあって、EnvironmentがDockerとなっています。
RenderのサイトにもDockerfileにしたがって自動でビルド、デプロイをするというような記述があります。
Automated builds and deploys for Dockerfiles in both public and private Git repositories.
render.com公式サイト – https://render.com/docs/docker
その他の項目も表のように設定します。プランはFreeのプランを選択します。最後にCreate Web Serviceボタンを押します。
項目 | 設定値 |
---|---|
Name | web-rust |
Root Directory | デフォルト設定 |
Environment | Docker |
Region | Singapore (Southeast Asia) |
Branch | main |

ビルド&デプロイ
Create Web Serviceボタンを押すとビルドが始まります。ビルドが始まったことは黒い背景のlogが更新されていればわかると思います。
最後にDONEが表示されていればデプロイまで完了しています。簡単なWebアプリケーションですがビルド&デプロイに15分以上かかっています。少し時間がかかっていますが無料枠なので仕方ないですね。それでは、画面左上のURLにアクセスしてみましょう。

動作確認
下図のようにHello nekochan!と表示されていればOKです。

コメント