Python+Django REST Frameworkで作ったAPIをRender.comにデプロイしてみた

はじめに

以前書いた記事でHerokuにデプロイする記事を書いたのですが、2022年11月28日から無料プランを廃止するという事なので、代替としてRender.comにデプロイし直してみました。

手順

https://render.com/ にアクセスし、「GET STARTED FOR FREE」を選択します。

今回はgithubを選択しました。

設定ファイル

render.yamlとbuild.shを用意する必要があります。今回はこんな感じで設定しました。

databases:
  - name: mysite_db
    plan: free
    databaseName: mysite_db
    user: mysite_db

services:
  - type: web
    name: mysite
    plan: free
    env: python
    rootDir: src/mysite
    buildCommand: "./build.sh"
    startCommand: "gunicorn mysite.wsgi:application --timeout 600"
    envVars:
      - key: DATABASE_URL
        fromDatabase:
          name: mysite_db
          property: connectionString
      - key: SECRET_KEY
        generateValue: true
      - key: WEB_CONCURRENCY
        value: 2
      - key: DJANGO_SUPERUSER_PASSWORD
        generateValue: true
      - key: PYTHON_VERSION
        value: 3.9.1
      - key: DJANGO_SETTINGS_MODULE
        value: mysite.settings.production
#!/usr/bin/env bash
# exit on error
set -o errexit

pip install -r requirements.txt

python manage.py collectstatic --noinput

デプロイ

Blueprints⇒New Blueprint Instance

デプロイ対象のConnectをクリックし、適当なService Group Nameを指定してApply

デプロイが成功すれば以下のような状態になります。

最後に

herokuより処理速度がかなり落ちました。

未分類

Posted by ababa