作る
Next.js、Hono、静的サイトから選んでください。必要な設定は最初から入っています。
$ npm create runlot my-app作って、デプロイして、必要な機能を足す。三行で終わります。
Next.js、Hono、静的サイトから選んでください。必要な設定は最初から入っています。
$ npm create runlot my-appデプロイが終わると、すぐアクセスできる URL が発行されます。サーバーを自分で設定する必要はありません。
$ runlot deploy
→ https://my-app.me.runlot.appmy-app はプロジェクト、me は個人組織です。
runlot.json に 1 行ずつ書けば、デプロイが作ります。アプリのコードからは env で使えます。
{ "database": true, "auth": true, "storage": true, "email": true }
→ env.db · env.auth · env.storage · env.email有効にするコマンドはありません。必要なものだけ書いて構いません。
プロジェクトを作れば、下のものが一緒についてきます。別に申し込むものも、つなぐものもありません。
使い慣れた SQL とトランザクションがそのまま動きます。アプリからは env.db、ターミナルからは psql・pgAdmin・使い慣れた ORM で同じデータベースに触れます。
メールとソーシャルログイン、セッション管理を提供します。サーバーコードでユーザーを確認し、データへのアクセス権を決められます。
画像や添付ファイルをアップロードし、有効期限つきの署名 URL で共有できます。外部のストレージをつなぐ必要はありません。
プロジェクトごとにメールアドレスが用意されます。env.email.send で送り、そのアドレス宛のメールはワーカーの email() ハンドラーが受け取ります。送受信したメールはダッシュボードで確認できます。
プロジェクトの中にリポジトリを作り、HTTPS か SSH で push してください。コミットとファイルはダッシュボードでそのまま見られます。コードを置くための別サービスは要りません。
お持ちのドメインをつないでください。証明書は自動で発行され、更新されます。DNS ゾーンを Runlot のネームサーバーで運用し、DNSSEC も有効にできます。
リクエストが来ない間は実行を止め、次のリクエストで自動的に立ち上がります。データと設定はそのまま残ります。
1 時間ごとにスナップショットを暗号化して保管します。ダッシュボードで時点を選んで復元できます。
env からそのまま使う接続文字列や API キーを設定する必要はありません。env でアクセスして、使い慣れたフレームワークと ORM をそのまま使ってください。
env API を使いますimport { Pool } from "@runlot/pg";
import { env } from "@runlot/next";
export default async function PostsPage() {
const user = await env.auth.user();
const db = new Pool({ db: env.db });
const { rows } = await db.query(
"select id, title from posts where owner = $1 limit 20",
[user.id],
);
return (
<ul>
{rows.map((p) => <li key={p.id}>{p.title}</li>)}
</ul>
);
}サービスごとに設定して運用していたものが、一つのプロジェクトの中にあります。
| runlot | Cloudflare | Vercel | Supabase | |
|---|---|---|---|---|
| アプリのホスティング | 対応 | 対応 | 対応 | 非対応 |
| Next.js | 対応 | アダプタが必要 | 対応 | 非対応 |
| データベース | 本物の PostgreSQL | SQLite (D1) | 外部サービス連携 | PostgreSQL |
| ログイン · ファイル | 対応 | 一部 | 一部 | 対応 |
| 使っていない間 | 0 円・自動で復帰 | 0 円 | 0 円 | 7 日後に停止・手動で復旧 |
| プロジェクトごとの固定費 | なし | なし | ユーザーごとの料金 | プロジェクトごとにインスタンス |
| 必要なサービスの数 | 1 か所 | 2 か所以上 | 2 か所以上 | 2 か所以上 |
各サービスの公開ドキュメントと料金ページをもとにまとめました。変わっている点があればお知らせください。
AI コーディングツールで社内ツールを作るのは簡単になりましたが、デプロイは今も誰かに頼む必要があります。runlot では誰が作り、どのデータを使うのかが最初から記録されているので、セキュリティ担当者に改めて説明することがありません。
組織を作ってメンバーを招待してください。管理者・メンバー・閲覧者のロールで、誰がデプロイし誰が見るだけかを決めます。会社アカウントでログインする SSO もそのままつながります。
プロジェクトへのアクセスを組織のメンバーのみにすると、ログインしたメンバー以外は届きません。アプリのコードが動く前に確認するので、アプリごとにログイン画面を作り直す必要はありません。
社内ツールが何十個あっても、それぞれが自分の PostgreSQL を使います。どのデータがどこにあるかはプロジェクト一覧が答えになります。
デプロイとロールバック、メンバーの変更、シークレットやデータベースの操作が組織の監査ログに残ります。ダッシュボードから人・プロジェクト・期間で探せますし、必要ならダウンロードできます。
本番への反映に管理者の承認を求められます。デプロイ自体は止めずプレビューですぐ確認できて、実際にユーザーへ出る瞬間だけを承認が決めます。
プロジェクトには必ずオーナーがいます。メンバーが組織を離れるときに持っていたプロジェクトを引き継ぎ、オーナーのいないプロジェクトは一覧にすぐ出るので、静かに動き続けるサービスが残りません。
組織の使用量はプロジェクトとオーナーごとに分かれ、そのまま請求書に出ます。データを社外に置けない場合は、自社のインフラに導入する形でも提供します。
チーム・組織の導入について無料プランの範囲では請求されません。カードを登録していても同じです。
個人のプロジェクトやサイドプロジェクトには十分です。
作ったサービスを自分のドメインで運用する方に向いています。
複数のメンバーが社内ツールを出していく会社のためのプランです。
無料プランでは料金には変わりません。その日のリクエストをそれ以上受け取らず、翌日また開きます。プロは含まれる量を超えた分だけ従量で請求し、月の利用上限が標準で入っているのでそれ以上には上がりません。上限に近づくと先にお知らせします。
はい。既存のリポジトリで runlot deploy を実行してください。フレームワークを判別して必要な設定を用意します。データベースは pg_dump で取ったファイルをそのまま取り込めます。
はい。標準の PostgreSQL なので pg_dump がそのまま動き、ファイルストレージはダッシュボードか CLI から一括でダウンロードできます。閉じ込めるような形式は使いません。
今はソウルリージョンの一か所で動いています。アプリとデータベースが同じ場所にあるため、データベース呼び出しがネットワークをまたぎません。ほかのリージョンは準備でき次第お知らせします。