vercel がコンテナサポートをしたので極端なことを言えば何でも動く環境に変わった。
今回は、Denoをランタイムとして、vercel上で動かしてみる。
参考
導入
シンプルなサーバーのデプロイ
ドキュメントを参考にして、Dockerfile.vercel deno.json main.tsを作成する。
1 | FROM denoland/deno:2.9.1 |
1 | { |
1 | const port = parseInt(Deno.env.get("PORT") ?? "3000"); |
ここまで作成し、一旦Pushする。
続けて、vercel にログインしプロジェクトを作成、リポジトリを連携する。
これだけでデプロイ完了する。
非常に簡単。
Fresh をデプロイ
続けてFresh をデプロイしてみます。
まず、セットアップ。
1 | $ deno run -Ar jsr:@fresh/init |
Dockerfile.vercel は次のように書き換える。
1 | FROM denoland/deno:2.9.1 |
これでvercel上にFreshをデプロイできる。
Vercel で Deno を使うことができた。
Deno Deploy と比べれば、Deno KVは無いので、その問題はある。
しかし、Servicesの機能を使えばいくつかのコンテナをまとめることができる。
この点は Deno Deploy ではできず、個別に用意していた部分であり利点もある。
視点として、Deno Deploy を多用していた視点から見たバイアスはある。
だがしかし、Deno Deploy 上のDeno KVが無料だと1つしか作れなくなったりしているので、見直すタイミングが訪れたとも感じられた。
今後は、(予算の問題というのは多分にあるだろうが)バックフロント統合のものはdeno deploy、バックフロント分離のものはvercel、という使い分けを検討する可能性がある。
vervel初見で使ったが、なんとなくは触れたので良かった。
知らなかったのだが、StorageとしてUpstashやTursoの直結もできるようになっていたので、この点も良さそうであった。
では。