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
なしでも行けた