Vercel 배포
kindie 프로젝트를 Vercel에 배포하는 방법을 안내합니다.
개요
kindie는 Vercel에 최적화되어 있습니다. GitHub 리포지토리를 연결하면 자동 배포가 설정됩니다.
배포 절차
1. Vercel 가입 및 프로젝트 연결
- Vercel에 가입 (GitHub 계정 연동 권장)
- New Project → GitHub 리포지토리 선택
- Framework Preset: Next.js (자동 감지)
- Deploy 클릭
2. 환경변수 설정
Vercel 대시보드에서 Settings > Environment Variables에 필요한 환경변수를 추가하세요.
필수:
DATABASE_URL
AUTH_SECRET
NEXT_PUBLIC_APP_URL → https://your-domain.com사용하는 기능에 따라 추가:
AUTH_GOOGLE_ID / AUTH_GOOGLE_SECRET
AUTH_KAKAO_ID / AUTH_KAKAO_SECRET
AUTH_NAVER_ID / AUTH_NAVER_SECRET
NEXT_PUBLIC_PORTONE_STORE_ID / NEXT_PUBLIC_PORTONE_CHANNEL_KEY / PORTONE_API_SECRET
SOLAPI_API_KEY / SOLAPI_API_SECRET / SMS_SENDER_NUMBER
SOLAPI_PFID (알림톡 사용 시)
RESEND_API_KEY
JUSO_API_KEY
NEXT_PUBLIC_APP_URL은 실제 배포 도메인으로 설정해야 OAuth 콜백, 이메일 링크 등이 정상 동작합니다.
3. 커스텀 도메인 (선택)
- Vercel 대시보드 Settings > Domains
- 도메인 추가 (예:
kindie.dev) - DNS 설정: Vercel이 안내하는 CNAME 또는 A 레코드 추가
- SSL 인증서 자동 발급
4. Supabase 연결 확인
Supabase의 Settings > Database > Connection Pooling에서 Connection string을 사용하는 것이 권장됩니다. Vercel의 서버리스 환경에서는 커넥션 풀링이 중요합니다.
DATABASE_URL="postgresql://postgres.[PROJECT-REF]:[DB-PASSWORD]@[REGION].pooler.supabase.com:6543/postgres"자동 배포
GitHub에 push하면 Vercel이 자동으로 배포합니다:
main브랜치 → 프로덕션 배포- PR 생성 → 프리뷰 배포 (고유 URL 생성)
운영 팁
보안
- 환경변수에 민감한 값은 Vercel 환경변수로만 관리 (
.env.local을 커밋하지 마세요) AUTH_SECRET은 프로덕션용으로 별도 생성- OAuth 콜백 URL을 프로덕션 도메인으로 업데이트
모니터링
- Vercel Analytics 탭에서 성능 모니터링
- Vercel Logs 탭에서 서버 에러 확인
- Supabase 대시보드에서 DB 사용량 모니터링
웹훅 URL 업데이트
배포 후 외부 서비스의 웹훅 URL을 프로덕션 도메인으로 업데이트하세요:
- PortOne 웹훅:
https://your-domain.com/api/webhooks/portone - Resend 웹훅:
https://your-domain.com/api/webhooks/resend