설치와 첫 배포
빈 폴더에서 공개 주소까지, 명령 세 줄입니다.
CLI 를 설치합니다
npm i -g runlot
runlot loginrunlot login 은 브라우저를 열어 계정을 잇습니다. 발급된 토큰은 ~/.runlot/credentials.json 에 컨트롤 플레인 주소별로 저장되고, 파일 권한은 0600 입니다.
프로젝트를 만듭니다
npm create runlot@latest my-app
cd my-app만들어지는 것은 다섯 개뿐입니다 — runlot.json, src/index.ts, public/hello.txt, .gitignore, 그리고 두 디렉토리. 템플릿을 일부러 작게 두었습니다. 배포 계약이 무엇인지(runlot.json + 진입점 + 자산 디렉토리) 한 화면에 보이는 편이, 처음 쓰는 사람에게는 잘 갖춰진 템플릿보다 낫기 때문입니다.
디렉토리 이름은 그대로 프로젝트 이름이 되고, 프로젝트 이름은 배포 주소의 첫 라벨이 됩니다. 그래서 ^[a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?$ 를 만족해야 하고, 어긋나면 만드는 시점에 알려 줍니다.
배포합니다
runlot deploy번들을 만들고, 올리고, 새 버전으로 전환합니다. 프로젝트가 아직 없으면 그 자리에서 만듭니다 — 첫 배포가 "프로젝트를 먼저 만드세요" 로 끝나면 같은 이름을 두 번 타이핑하는 것 말고 할 수 있는 일이 없기 때문입니다.
끝나면 주소가 찍힙니다.
my-app--me.runlot.app<프로젝트>--<조직>.runlot.app 모양입니다. 점이 아니라 하이픈 둘인 이유는 와일드카드 DNS 가 한 라벨만 덮기 때문입니다 — my-app.me.runlot.app 은 해석기에 따라 풀리지 않습니다.
데이터베이스를 켭니다
runlot add pg
runlot deployrunlot add 는 여러 개를 한 번에 켤 수 있습니다.
runlot add pg auth storage순서를 어떻게 적든 pg → auth → storage 로 실행됩니다. 앱의 로그인은 데이터베이스가 있어야 켜지기 때문입니다. auth 만 적고 데이터베이스가 없으면 데이터베이스를 함께 켜고 그 사실을 알려 줍니다.
켜고 나면 워커에서 env.db · env.auth · env.storage 를 바로 쓸 수 있습니다. 접속 문자열도, 시크릿도 필요 없습니다.