프리티어 Supabase 프로젝트, 자동으로 살려두는 방법
2026. 1. 4. 13:45ㆍFrontend
Supabase 프리 티어는 일주일 내 DB 호출이 없으면
프로젝트가 중지되는 제약이 있다.
이러한 제약에서 자유로워질 수 있는 방법은
프로젝트를 일주일에 한 번씩 DB를 호출하면 된다.
하지만 직접 DB를 호출하는 방법은 귀찮고
매번 프로젝트 중지 예정 이메일을 받는 것도 성가시다.
어떻게 하면 귀찮음을 줄일 수 있을까?
예전에 알게 된 Cron 기능이 떠올랐다.
Cron은 특정 작업을 특정 날에 반복할 수 있는 기능이다.
Supabase 밋업에서 답변받았던 것처럼
Cron으로 데이터를 삽입 작업을 등록해 놓으면
굳이 DB 호출을 직접 하지 않아도 될 거라 생각했지만,
이 방법은 이미 막힌 듯하다.
Vercel Cron 기능으로 우회하기
한 깃허브 프로젝트 보고
Vercel도 Cron 기능을 지원하는 걸 알게 되었다.
hobby 계정이면 Cron 2개를 기본으로 지원하고 있다. (2026년 기준)
Cron 작업 방식은 동일했고
작업 수행자가 Supabase가 아닌 Vercel인 차이였다.
프로젝트 구현 방법
구현 과정은 쉬웠다.
1. 프로젝트 가져오기
저장소를 포크 한다.
2. Supabase DB 테이블 생성하기
리드미에 있는 Sample SQL 코드를 Supabase Dashboard SQL Editor에서 실행한다.
3. 프로젝트 .env 파일 설정하기
.env 파일에서 NEXT_PUBLIC_SUPABASE_URL, NEXT_PUBLIC_SUPABASE_ANON_KEY를 설정한다.
4. 프로젝트 keep-alive-config.ts 파일 수정하기
해당 파일에서 vercel 배포 주소를 otherEndpoints 배열에 삽입한다.
*배포 주소 설정은 먼저 배포하고 otherEndpoints를 수정해도 된다.
*기존 otherEndpoints 배열 요소는 제거해도 상관없다.
5. Vercel 배포하기
CLI에서 vercel --prod를 입력한다.
이제 일주일에 한 번씩 DB 호출을 하지 않아도 되었다.
다만, RLS를 설정하지 않은 상태라 취약한 부분이 마음에 걸린다.
이외 궁금했던 것들
1. Vercel Cron 작업 시기는 vercel.json을 수정하면 된다.
> Vercel Cron 표현식 수정 방법 참고
2. Vercel Cron 테스트는 https://배포주소/api/keep-alive 접속하면 아래처럼 화면이 뜬다.
> 행이 추가되었는지 Supabase DB "keep-alive" 테이블을 확인해도 된다.

'Frontend' 카테고리의 다른 글
| Override 기능으로 개발자 도구 감지 우회하기 (0) | 2026.01.13 |
|---|---|
| 2026 그룹바이 스타트업 채용 박람회에서 여러 기업과 커피챗한 후기 (0) | 2026.01.13 |
| testing-library/react에서 form 테스트 안 된 이유 (0) | 2025.12.16 |
| Shadcn Dialog 컴포넌트에서 onSubmit 안 된 이유 (0) | 2025.12.15 |
| DEV KOREA with Supabase #5 참석 후기 (1) | 2025.12.11 |