무료 서비스로 Velog Backup을 배포하는 방법입니다.
- GitHub 계정 (OAuth 및 코드 호스팅)
- Supabase 계정 (무료 PostgreSQL)
- Railway 계정 (백엔드 호스팅)
- Vercel 계정 (프론트엔드 호스팅)
- Resend 계정 (이메일 알림, 선택)
- GitHub Developer Settings 접속
- OAuth Apps > New OAuth App 클릭
- 앱 정보 입력:
- Application name:
Velog Backup - Homepage URL:
https://your-app.vercel.app - Authorization callback URL:
https://your-app.vercel.app/auth/callback
- Application name:
- Register application 클릭
- Client ID 복사
- Generate a new client secret 클릭하여 Client Secret 복사
개발 환경에서는 callback URL을
http://localhost:3000/auth/callback으로 설정하세요.
- Supabase 접속 및 회원가입
- New Project 클릭
- 프로젝트 정보 입력:
- Name: velog-backup
- Database Password: 강력한 비밀번호 생성
- Region: Northeast Asia (Seoul)
- 프로젝트 생성 완료 (1-2분 소요)
- Settings > Database에서 Connection String 복사:
postgresql://postgres:[YOUR-PASSWORD]@[HOST]:5432/postgres
- Railway 접속 및 GitHub로 로그인
- New Project > Deploy from GitHub repo 클릭
- 저장소 선택:
Velog_Backup - Add variables 클릭하여 환경 변수 설정:
DATABASE_URL=postgresql://postgres:password@host:5432/postgres
SECRET_KEY=your-super-secret-key-min-32-characters-long
GITHUB_CLIENT_ID=your-github-client-id
GITHUB_CLIENT_SECRET=your-github-client-secret
FRONTEND_URL=https://your-app.vercel.app
ENVIRONMENT=production
RESEND_API_KEY=re_your_resend_api_key # 선택: 이메일 알림용-
Settings > Environment에서 Root Directory 설정:
- Root Directory:
backend
- Root Directory:
-
배포 완료 후 도메인 복사:
https://your-backend.up.railway.app
-
Vercel 접속 및 GitHub로 로그인
-
Add New > Project 클릭
-
GitHub 저장소 선택:
Velog_Backup -
Configure Project:
- Framework Preset: Next.js
- Root Directory:
frontend - Build Command:
npm run build - Output Directory:
.next
-
Environment Variables 추가:
NEXT_PUBLIC_API_URL=https://your-backend.up.railway.app- Deploy 클릭
- 배포 완료 후 도메인 확인:
https://your-app.vercel.app
- GitHub Developer Settings로 돌아가기
- 생성한 OAuth App 클릭
- Authorization callback URL을 Vercel 도메인으로 업데이트:
https://your-app.vercel.app/auth/callback - Update application 클릭
이제 다음 URL로 접속할 수 있습니다:
- 프론트엔드: https://your-app.vercel.app
- 백엔드 API: https://your-backend.up.railway.app/docs
- Railway 로그 확인:
Settings > Deployments > Logs - 환경 변수가 올바른지 확인
- Backend
FRONTEND_URL이 정확한지 확인 - 추가 도메인이 필요하면
CORS_ORIGINS환경 변수에 쉼표로 구분하여 추가
- Supabase DATABASE_URL 확인
- Supabase 프로젝트가 활성 상태인지 확인
GITHUB_CLIENT_ID와GITHUB_CLIENT_SECRET이 올바른지 확인- Authorization callback URL이 정확한지 확인
| 서비스 | 무료 플랜 제한 |
|---|---|
| Supabase | 500MB DB, 2GB 트래픽/월 |
| Railway | $5 무료 크레딧/월, 500시간 |
| Vercel | 100GB 대역폭/월, 무제한 배포 |
| Resend | 3,000 이메일/월 |
참고: 개인 사용 기준으로 충분합니다!