1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Django+DockerのWEBアプリをRender.comにデプロイした時の覚え書き

Posted at

Render.comのフリープランでWEBアプリをデプロイしたときのことを忘れないよう記録しておく。

  • フリープランではデータベースにPostgresしか選択肢がない
    あらかじめPostgresを使用することを踏まえておく

前提

  • githubにリポジトリがある
  • リポジトリにrender.yamlがある
services:
  - type: web
    name: sao-web
    runtime: docker
    plan: free
    dockerfilePath: ./Dockerfile.prod
    envVars:
      - key: SAO_PROFILE
        value: prod
      - key: DJANGO_SECRET_KEY
        generateValue: true

データベース作成

フリープランのデータベースは30日を過ぎるとアクセスできなくなる。
そうなったら有料プランに移行しない限りアクセスできない。
フリープランで大切なデータを入れてはいけない。

フリープランだとrender.yamlからデータベースの作成ができないっぽい(ソース不明)。
なのでrender.comのサイト上でPostresサービスを作成する。

ここで設定するのは2か所だけ

  • Name
    • Render.comの中で識別するためのサービス名
  • Plan Options
    • 料金プラン

データベースの作成は以上

環境変数グループを作成する

データベースのホストやらユーザー名やらをWEBアプリ側から参照させるために
環境変数グループを作成する
(render.yamlに書いてもいいけどデータベースユーザーのパスワード書くわけにいかないしね)

  • render.yamlからデータベースサービスの情報を参照する方法がありかもしれないけど今はわからない。

データベースサービスで定義されている情報でWEBサービスに必要なのはこれ

  • Hostname -> DB_HOST
  • Port -> DB_PORT
  • Database -> DB_NAME
  • Username -> SAO_DB_USER
  • Password -> SAO_DB_PASSWORD

.envファイル食わせて作成することもできる

Blueprintを作成する

githubのリポジトリの一覧からデプロイしたいリポジトリにコネクトする
サービス名を入力する

デプロイが始まるとリポジトリにあるrender.yamlの内容にしたがってwebサービスが作られるが、失敗する

環境変数グループとWEBサービスをリンクする

Projectページを開くとサービスのリストにBlueprintから作成されたWEBサービスがあるので
それをクリックする
左のメニューのEnvironmentをクリック、右ペインのLinked Environment GroupsのLink Environment Groupリストからさっき作った環境変数グループを選択してLinkをクリックする。

トップ画面に戻るとDeployが始まってるので結果を確認する。問題なければwebサービスのデプロイは完了する

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?