만들기
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에 한 줄씩 적으면 배포가 만듭니다. 앱 코드에서는 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 존을 우리 네임서버에서 운영하고 DNSSEC까지 켤 수 있습니다.
요청이 없는 동안에는 실행을 멈추고, 다음 요청이 오면 자동으로 다시 시작합니다. 데이터와 설정은 그대로 유지됩니다.
한 시간마다 스냅샷을 암호화해 보관합니다. 대시보드에서 시점을 골라 데이터를 복원할 수 있습니다.
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일 뒤 정지 · 수동 복구 |
| 프로젝트당 고정비 | 없음 | 없음 | 사용자당 요금 | 프로젝트마다 인스턴스 |
| 필요한 서비스 수 | 한 곳 | 두 곳 이상 | 두 곳 이상 | 두 곳 이상 |
각 서비스의 공개 문서와 요금 페이지를 기준으로 정리했습니다. 달라진 점이 있으면 알려 주세요.
AI 코딩 도구로 사내 도구를 만드는 일은 쉬워졌지만, 배포는 여전히 누군가에게 부탁해야 합니다. runlot에서는 누가 만들었고 어떤 데이터를 쓰는지가 처음부터 붙어 있어서, 보안 담당자에게 따로 설명할 것이 없습니다.
조직을 만들고 구성원을 초대하세요. 관리자·구성원·뷰어 역할로 누가 배포하고 누가 보기만 하는지 정합니다. 회사 계정으로 로그인하는 SSO도 그대로 연결됩니다.
프로젝트 접근을 조직 구성원만으로 설정하면 로그인한 구성원 외에는 닿지 않습니다. 앱 코드가 실행되기 전에 확인하므로, 앱마다 로그인 화면을 다시 만들 필요가 없습니다.
사내 도구가 수십 개 떠 있어도 각자 자기 PostgreSQL을 씁니다. 어떤 데이터가 어디 있는지는 프로젝트 목록이 답합니다.
배포와 롤백, 구성원 변경, 시크릿과 데이터베이스 작업이 조직 감사 기록에 남습니다. 대시보드에서 사람·프로젝트·기간으로 찾아보고, 필요하면 내려받으세요.
프로덕션 반영에 관리자 승인을 요구할 수 있습니다. 배포 자체는 막지 않고 미리보기로 바로 확인하되, 실제 서비스에 나가는 순간만 승인이 정합니다.
프로젝트마다 소유자가 있습니다. 구성원이 조직을 떠날 때 소유한 프로젝트를 다른 사람에게 넘기고, 소유자 없는 프로젝트는 목록에 바로 표시되어 조용히 돌아가는 서비스가 남지 않습니다.
조직 사용량은 프로젝트와 소유자별로 나뉘어 청구서에 그대로 나옵니다. 데이터를 회사 밖에 두기 어렵다면 자체 인프라에 설치하는 형태로도 제공합니다.
팀·조직 도입 문의무료 요금제 안에서는 청구되지 않습니다. 카드가 등록되어 있어도 마찬가지입니다.
개인 프로젝트와 사이드 프로젝트에 충분합니다.
직접 만든 서비스를 자기 도메인으로 운영하는 분께 맞습니다.
구성원 여러 명이 사내 도구를 올리는 회사를 위한 요금제입니다.
무료 요금제는 요금으로 바뀌지 않습니다. 그날의 요청을 더 받지 않고 다음 날 다시 열립니다. 프로는 포함량을 넘긴 만큼만 사용량으로 청구하며, 월 한도가 기본으로 켜져 있어 그 위로는 올라가지 않습니다. 한도에 가까워지면 먼저 알려 드립니다.
네. 기존 저장소에서 runlot deploy를 실행하면 됩니다. 프레임워크를 알아보고 필요한 설정을 만들어 둡니다. 데이터베이스는 pg_dump로 뜬 파일을 그대로 넣을 수 있습니다.
네. 표준 PostgreSQL이라 pg_dump가 그대로 동작하고, 파일 저장소는 대시보드나 CLI로 한 번에 내려받습니다. 잠가 두는 형식은 쓰지 않습니다.
지금은 서울 리전 한 곳에서 실행됩니다. 앱과 데이터베이스가 같은 곳에 있어 국내 사용자에게 응답이 빠릅니다. 다른 리전은 준비되는 대로 안내해 드리겠습니다.