はじめに
無料でアプリケーションを公開する方法がないか探していく中で、Render.com 上にアプリケーションを立ちあげる、という手段に落ち付いたので、アプリ公開の備忘を兼ねて作成しています。
Render.com とは
Render.com は、Webアプリケーションやデータベースなどを簡単にデプロイ、ホスト、スケーリングできるクラウドプラットフォームです。
Render.com を利用すると、GitHub や GitLab などの Git リポジトリと連携してアプリケーションをデプロイできます。
アプリ公開の手順
前提条件
- Git リポジトリに公開したいアプリケーションのコードがあること(GitHub, GitLab, Bitbucketなど)
-
Render.com のアカウントを所有していること
* Flaskを用いたWebアプリを想定
手順詳細
1. Render.com にログインし、新規サービスを作成
- Render.com のダッシュボードにログイン
- ダッシュボードの右上にある「New +」ボタンをクリック
- 作成したいサービスのタイプを選択
- Web Service: バックエンドAPI、Webアプリケーション、フロントエンドアプリケーションなど、HTTP リクエストを受け付けるサービス
- Static Site: HTML, CSS, JavaScript のみで構成される静的サイト
- Private Service: 外部からアクセスできない内部サービス(バックエンドからのみアクセスされるAPIなど)
- Background Worker: バックグラウンドで実行される非同期処理
- Cron Job: 定期的に実行されるタスク
- Databases: PostgreSQL, Redis など
-
ClickHouse: データウェアハウス
今回は、Flaskを使ったWebアプリなので、Web Serviceを選択
2. Git リポジトリを接続
- 選択したサービスタイプの設定画面で、「Connect a repository」セクションを見つける
- GitHub, GitLab, Bitbucket のいずれかを選択し、アカウントを連携
- 初めて連携する場合は、Render.com に Git サービスの認証を許可する必要がある
- 連携が完了したら、公開したいリポジトリを選択
- 次に、デプロイするブランチを選択
3. サービス設定の構成
リポジトリとブランチを選択すると、Render.com が自動的にプロジェクトを分析し、いくつかの設定を提案。必要に応じて以下の項目を設定・確認
-
Name: サービスの識別のための名前(例:
my-web-app
) -
Build Command: アプリケーションをビルドするためのコマンド
pip install -r requirements.txt
-
Start Command: アプリケーションを起動するためのコマンド
gunicorn main:app # mainはファイル名 appはmain.py上の関数名
4. サービスを作成し、デプロイを開始
- すべての設定を確認したら、画面下部の「DEploy Web Service」をクリック
- デプロイの進行状況は、Render.com ダッシュボードのサービス詳細ページで確認できる
5. デプロイの確認
- デプロイが成功すると、ログの最後に「
Done
」のようなメッセージが表示される - サービス詳細ページの上部に、公開されたアプリケーションのURLが表示される
- そのURLにアクセスして、アプリケーションが正常に動作しているか確認
さいごに
無料でアプリが公開できるということで、Render.comを使ってみました。
DBに制約がある(確か、sqlite等のファイルは更新できなかったり、無料だと使えるDBにも制限がかかっている)などの不便な点はあるものの、簡単に公開できるアプリが無料で作成できるのは魅力的に感じました。