renderとplanetScaleを使ってWebアプリを作る
環境
- Rails
- Planet Scale
- render.com
Railsアプリを作成時に最初にPlanetScaleの環境を整えるとよさそう
render
とりあず、Rails new app
して、それをデプロイするまでもっていく
renderのダッシュボードから、New> WebService
Githubの当該リポジトリと連携
以上のような設定
そもそもRails をAPIモードで使うのでBuild Commandはbundle install;
に変更する
Missing secret_key_base for 'production' environment
のエラーがでるので対処。
これはローカルにあるmaster.keyが.gitignoreに含まれており、ないためにエラーになる。
master.keyは暗号化されたファイルを復号するのに必要な鍵なので、Githubにプッシュしないのが正しい
なので、ローカルでmaster.key
の中身をコピーする
そして、renderで環境変数を設定する。key
がSECRET_KEY_BASE
、Value
がコピーしたやつ
master.keyの役割についてはこれがわかりやすかった
途中から更新が途絶えていましたね。
ここに知りたいことがまとまっていた
Fly.ioでAPIを動かすことにした。
render.com ではアクセスがないと止まってしまうので、APIが使えるようになるには30秒くらい待つ必要があるため、それがないFly.ioへデプロイする
githubと連携しての自動デプロイができないので、renderのままにした
Fly.ioへのデプロイが失敗する
$ fly deploy
==> Verifying app config
--> Verified app config
==> Building image
...
------
> [internal] load remote build context:
------
Error failed to fetch an image or build from source: error building: error during connect: Post "http://...
とエラーがでた。
imageのbuildが終わらずタイムアウトしていそうなので
$ flyctl deploy --local-only
としてローカルでbuildを行い、imageをプッシュするようにした。
下記の記事を参考にした
$ flyctl wireguard websockets enable
としたら、 --local-only
なしでも行けた