본문으로 건너뛰기
무료 요금제 이용 가능

웹앱에 필요한 건다 여기 있습니다.

호스팅부터 PostgreSQL, 로그인, 파일 저장소, 이메일, Git 저장소까지 한 곳에서 사용합니다. Next.js 앱도 작은 API도 서버 설정 없이 배포할 수 있습니다.

무료로 시작하세요
npm create runlot my-app
문서 보기
익숙한 도구 그대로Next.jsHonoPrismaDrizzleTypeORMKnexSequelizeSvelteKitAstroNuxtReact Router
한 곳에서

콘솔 여섯 곳에서 서비스를 따로 연결하는 대신, 프로젝트 하나로 운영합니다.

따로 관리하던 콘솔 여섯 곳이 프로젝트 하나가 되고, 직접 관리하던 비밀 값 9개는 하나도 남지 않습니다.

앱, PostgreSQL, 로그인, 파일, 메일, 코드의 권한과 사용량, 로그, 백업을 한 곳에서 관리합니다.

호스팅deploy
PostgreSQLenv.db
로그인env.auth
파일 저장소env.storage
이메일env.email
Git 저장소git push
시작하기

명령 두 줄이면 배포가 끝납니다

CLI를 설치하고 로그인한 뒤에는 이 두 명령이 전부입니다.

  1. 01

    만들기

    Next.js, Hono, 정적 사이트 중에서 고릅니다. runlot.json과 필요한 설정은 처음부터 갖춰져 있습니다.

  2. 02

    배포하기

    배포가 끝나면 바로 접속할 수 있는 URL이 발급됩니다. my-app은 프로젝트이고 me는 개인 조직입니다.

  3. 03

    바로 사용하기

    파일 저장소와 이메일은 모든 프로젝트에 들어 있고, 데이터베이스와 로그인은 앱이 사용할 때 만들어집니다. 앱 코드에서 env로 사용하며, 따로 켤 것이 없습니다.

~/code — zsh

~/code $ npm create runlot my-app

Which template do you want?

1. next Next.js App Router — uses env.db and env.auth from server components

2. hono Hono worker — REST API example (/posts, /upload)

3. static A single static HTML page — assets only, no worker

4. studio Vite + React + Tailwind and a Hono API — what runlot Studio builds

Enter a name or a number: 2

Created /Users/you/code/my-app.

cd my-app

runlot dev

runlot deploy --org <slug>

~/code $ cd my-app && runlot deploy --org me

Bundling…

Bundled 3 files, 2.4 KiB

Created project me/my-app

Uploading 3 of 3 files (0.0 MB); 0 unchanged.

Deploying…

v1 3a7e2c91-0b4d-4f6a-9e1c-58d2b7f0a634 9f2c41b7e0aa 2026-10-20T04:12:31.418Z

migrated 0001_posts

Applied 1 migration.

https://my-app.me.runlot.app

~/code/my-app $ runlot pg execute -c "select * from posts"

id owner title

-- ------- ---------------

1 welcome Your first post

(1 row)

기능

필요한 기능이 다 있습니다

프로젝트를 만들면 아래 기능이 함께 따라옵니다. 따로 신청하거나 연결할 것이 없습니다.

진짜 PostgreSQL

익숙한 SQL 문법과 트랜잭션을 그대로 사용합니다. 앱에서는 env.db로, 터미널에서는 psql·pgAdmin·익숙한 ORM으로 같은 데이터베이스에 접속합니다.

runlot=> select id, name, active, created_at from users limit 4;

idnameactive
1jiwoot
2minseot
3haneult
4seojunf

(4 rows)

runlot=>

연속 백업

모든 커밋을 약 1분마다 암호화해 보관합니다. 백업·커밋·시각 중 하나를 고르면 그 지점으로 복원합니다.

쓰지 않으면 0원

요청이 없는 동안에는 실행을 멈추고, 다음 요청이 오면 다시 시작합니다. 데이터와 설정은 그대로입니다.

로그인

이메일과 GitHub·Google 로그인을 제공하고 세션도 관리합니다. 서버에서는 env.auth.user()로 사용자를 확인합니다.

파일 저장소

이미지와 첨부 파일을 올리고, 유효 기간이 있는 서명된 URL로 공유합니다. 자격 증명은 코드에 드러나지 않습니다.

이메일 · 도메인

프로젝트마다 메일 주소가 생깁니다. 가지고 있는 도메인은 CNAME과 TXT 레코드로 연결하며, 인증서는 자동으로 발급되고 갱신됩니다.

코드

env. 하나로 모두 사용합니다

연결 문자열이나 API 키를 따로 설정하지 않아도 됩니다. 로컬 개발에서도 같은 env를 사용하므로, 로컬에서 실행한 코드가 배포 환경에서도 그대로 동작합니다. Prisma, Drizzle, Kysely, TypeORM, Knex, Sequelize를 지원합니다.

import { Hono } from "hono";import { Pool } from "@runlot/pg"; const app = new Hono<{ Bindings: Env }>(); app.get("/posts", async (c) => {  const user = await c.env.auth.user(c.req.raw);  const db = new Pool({ db: c.env.db });   const { rows } = await db.query(    "select id, title from posts where owner = $1 limit 20",    [user.id],  );  return c.json(rows);}); app.post("/upload", async (c) => {  const form = await c.req.formData();  const file = form.get("file") as File;  const url = await c.env.storage.put("covers/" + file.name, file);  return c.json({ url });}); export default app;
200 OK
로그인한 사용자jiwoo@example.com
PostgreSQL4행
파일 저장소covers/hero.png · 서명된 URL
Next.jsHonoPrismaDrizzleTypeORMKnexSequelize
팀과 조직에서

회사에서 만든 앱도 그대로 올리세요

AI 코딩 도구로 사내 도구를 만드는 일은 쉬워졌지만, 배포는 여전히 누군가에게 부탁해야 합니다. runlot에서는 누가 만들었고 어떤 데이터를 사용하는지가 처음부터 기록되어 있습니다.

  1. 01

    조직과 역할

    구성원을 초대하고 관리자·구성원·뷰어 역할로 누가 배포하고 누가 보기만 하는지 정합니다.

  2. 02

    조직 안에서만 열기

    프로젝트 접근을 조직 구성원만으로 설정하면 앱 코드가 실행되기 전에 확인합니다. 앱마다 로그인 화면을 다시 만들 필요가 없습니다.

  3. 03

    프로젝트마다 분리된 데이터베이스

    사내 도구가 수십 개여도 도구마다 전용 PostgreSQL을 사용합니다. 어떤 데이터가 어디 있는지는 프로젝트 목록에서 확인합니다.

팀·조직 도입 문의
운영

앱 전체를 한눈에 보고
같은 자리에서 고칩니다.

들어오는 요청과 워커, 워커에 연결된 데이터베이스와 저장소, 메일을 한 화면에 보여 줍니다. 다른 연결보다 느린 연결이 있으면 그 연결선을 진하게 표시합니다.

연결된 서비스 env
Runlot Studio

설명하면 Studio가 만들고
runlot이 실행합니다.

미리보기에서 결과를 확인하고 고칠 내용을 말로 요청하세요. PostgreSQL, 로그인, 파일 저장소, 이메일은 앱이 사용할 때 준비되고, 데스크톱 앱에서는 Claude나 ChatGPT 구독을 연결할 수 있습니다.

Studio 작업 화면입니다. 카페 주문 페이지에 수량 버튼을 붙여 달라는 대화와 바뀐 파일, 장바구니 미리보기를 보여 줍니다.
요금

먼저 무료로 사용해 보세요

무료 요금제 안에서는 청구되지 않습니다. 카드가 등록되어 있어도 마찬가지입니다.

무료

지금 이용 가능

$0/ 월

개인 프로젝트와 사이드 프로젝트에 충분합니다.

  • 하루 요청 10만 건
  • 프로젝트 3개 · 프로젝트마다 PostgreSQL 500 MB
  • 백업 7일 보관 · 파일 저장소 10 GiB
  • 프로젝트당 커스텀 도메인 1개
무료로 시작하세요

프로

개인 · 소규모 팀

$20/ 월

직접 만든 서비스를 자기 도메인으로 운영하는 분께 맞습니다.

  • 월 요청 1,000만 건 포함
  • 프로젝트 30개 · 프로젝트마다 PostgreSQL 8 GB
  • 백업 30일 보관 · 파일 저장소 100 GiB
  • 프로젝트당 커스텀 도메인 50개
  • 포함량을 넘긴 만큼만 과금 · 지출 한도 기본 적용
프로 시작하기

엔터프라이즈

맞춤 견적

문의

구성원 여러 명이 사내 도구를 올리는 회사를 위한 요금제입니다.

  • 연간 계약 · 인보이스 결제
  • 전담 지원 채널과 온보딩
  • 자체 인프라 설치 — Helm 차트 · deb/rpm 패키지
도입 문의
이번 달 사용량 $0.00월 지출 한도가 기본으로 켜져 있습니다
자주 묻는 질문

궁금한 것들

문서 보기
한도를 넘기면 어떻게 되나요?

무료 요금제는 요금으로 바뀌지 않습니다. 그날은 요청을 더 받지 않고, 다음 날부터 다시 받습니다. 프로는 포함량을 넘긴 만큼만 사용량으로 청구하며, 월 지출 한도가 기본으로 켜져 있어 그 위로는 올라가지 않습니다. 한도에 가까워지면 먼저 알려 드립니다.

이미 만들어 둔 앱을 옮길 수 있나요?

네. 기존 저장소에서 runlot deploy를 실행하면 됩니다. 프레임워크를 알아보고 필요한 설정을 만들어 둡니다. 데이터베이스는 pg_dump로 뜬 파일을 그대로 넣을 수 있습니다.

나중에 데이터를 가져갈 수 있나요?

네. 표준 PostgreSQL이라 pg_dump가 그대로 동작합니다. 파일은 평범한 객체라서 env.storage.presign으로 어느 파일이든 서명된 주소를 만들 수 있습니다. 데이터를 묶어 두는 독자 형식은 사용하지 않습니다.

리전은 어디인가요?

서울 리전에서 실행됩니다. 앱과 데이터베이스가 같은 곳에 있어 데이터베이스 호출이 네트워크를 건너지 않습니다. 서울에서 먼 곳의 사용자에게는 응답이 그만큼 늦습니다.

첫 웹앱을
배포해 보세요.

로그인한 뒤 명령 두 줄이면 첫 배포가 끝납니다.

무료로 시작하세요
npm create runlot my-app