Flask + Markdown Viewer を Render に無料でデプロイする手順書
✅ この手順の目的
-
Flaskアプリ(Markdown Viewer)を Render.com 上に無料でデプロイ
-
GitHubと連携し、自動デプロイを構築
-
Flaskそのままで使えるので構成変更不要
Render とは?
-
Python(Flask/Django)などを簡単にホスティングできるプラットフォーム
-
GitHubと連携してデプロイ可能
-
無料プランあり(自動スリープあり)
必要なファイル構成
/markdown-viewer/
├── app/
│ ├── __init__.py
│ ├── routes.py
│ ├── templates/
│ └── static/
├── markdowns/
├── requirements.txt
├── run.py ← Flask起動用エントリポイント
1. run.py の内容
from app import app
if __name__ == "__main__":
app.run(debug=False, host="0.0.0.0", port=10000)
✅ ポイント:
host="0.0.0.0"にすることで外部からアクセス可能
2. ローカルで最終確認
pip install -r requirements.txt
python run.py
🚀 3. GitHub にリポジトリをプッシュ
git init
git add .
git commit -m "initial commit"
git remote add origin https://github.com/yourname/repojitory-name.git
git push -u origin main
4. Render にログイン & デプロイ設定
-
「New +」→ Web Service を選択
-
GitHubアカウントを連携
-
以下のように設定:
| 項目 | 設定値 |
|---|---|
| Name | markdown-viewer(任意) |
| Runtime | Python |
| Build Command | pip install -r requirements.txt |
| Start Command | python run.py |
| Instance Type | Free |
- 「Create Web Service」を押すとデプロイ開始
✅ 完了後の確認
-
自動で
https://your-app-name.onrender.comのURLが発行 -
Markdown Viewer が表示されていれば成功 🎉
-
Markdownを追加・修正 →
git pushで自動再デプロイ
無料プランの注意点
| 項目 | 内容 |
|---|---|
| 自動スリープ | 15分アクセスがないと一時停止、最初のアクセスは少し遅くなる |
| DB永続化 | 必要な場合は別途PostgreSQLサービス追加(無料枠あり) |
| カスタムドメイン | 独自ドメインも無料で設定可能(DNS設定が必要) |
✅ おすすめ:.env にPORTなどを書く場合
Renderは環境変数 PORT を自動で注入してくるので、以下のようにもできます:
import os
from app import app
if __name__ == "__main__":
port = int(os.environ.get("PORT", 10000))
app.run(debug=False, host="0.0.0.0", port=port)
これで「FlaskをRenderで世界に公開」完了です!
-
Flaskコードを維持したまま
-
URLでいつでも誰でも閲覧可能に!