셀프 호스팅: Lovable Cloud 프로젝트를 어디서든 실행하기
코드와 데이터를 내보내고, 데이터베이스 마이그레이션을 실행하고, Lovable Cloud 프로젝트를 Supabase 또는 다른 제공업체로 마이그레이션하세요.
Lovable Cloud는 가장 쉽고, 빠르고, 즐거운 빌드 장소로 설계되었습니다. 마이그레이션이 가능한 이유는 필요가 아닌 선택에 의해 머물기를 원하기 때문입니다.
이 가이드는 Lovable Cloud 프로젝트를 셀프 호스팅하고 다른 제공업체(예: Supabase)로 이동하는 방법을 설명합니다.
핵심 원칙
-
코드는 당신의 것입니다.
GitHub 통합을 사용하여 언제든지 코드를 내보내세요. 제한 없이 복제, 내보내기, 셀프 호스팅할 수 있습니다. -
데이터는 당신의 것입니다.
데이터베이스, 스토리지, 구성을 다른 제공업체로 내보내거나 마이그레이션할 수 있습니다. -
Lovable은 오픈 소스 기술을 기반으로 합니다.
모든 것이 오픈 표준과 오픈 소스 기술로 실행됩니다. 독점 프레임워크도, 숨겨진 종속성도 없습니다. -
우리는 통제가 아닌 품질을 통해 신뢰를 얻습니다.
Lovable Cloud는 속도, 단순성, 신뢰성을 위해 설계되었습니다. 프로젝트를 가져갈 수 있다는 것을 알고 자신 있게 빌드, 호스팅, 확장할 수 있습니다.
마이그레이션 개요
| 앱 구성 요소 | 마이그레이션 방법 | 참고 사항 |
|---|---|---|
| 데이터베이스 스키마 | SQL 마이그레이션을 통해 자동 | 테이블, 열, 인덱스, RLS 정책, 함수, 트리거 포함 |
| 스토리지 버킷 | SQL 마이그레이션을 통해 자동 | 접근 정책 포함 |
| 인증 제공업체 | 수동 | 새 호스팅 환경에서 auth 재구성 (예: Google OAuth, GitHub) |
| 환경 변수 및 secrets | 수동 | 새 호스팅 환경에서 외부 서비스용 API 키, 토큰 또는 자격 증명 재구성 (예: Stripe) |
| 데이터 (테이블 내용) | 수동 | CSV로 내보내기/가져오기 |
| 스토리지 파일 | 수동 | 수동으로 다운로드/업로드 |
| 사용자 계정 | 수동, 부분 | 데이터베이스에서 사용자 데이터를 내보낼 수 있지만 사용자 비밀번호는 내보낼 수 없으므로 비밀번호 재설정 흐름을 트리거해야 함. 실제 사용자를 온보딩하기 전에 마이그레이션을 계획하는 것이 좋음. |
예시: Lovable Cloud 프로젝트를 Supabase로 이동하기
약간의 기술 지식으로 모든 backend 솔루션에 연결할 수 있습니다. 아래 단계는 Lovable Cloud 프로젝트를 Supabase로 마이그레이션하는 방법을 안내합니다. Supabase 관련 단계에 대한 자세한 내용은 Supabase 문서를 참조하세요.
프로젝트를 자체 Supabase 인스턴스로 마이그레이션한 후에는 로컬 환경이나 선호하는 IDE에서 개발을 계속해야 합니다. Lovable의 프로젝트는 원래 Lovable Cloud 데이터베이스에 연결된 상태로 유지되므로 마이그레이션 후 Lovable에서 변경한 사항은 새 Supabase 설정과 동기화되지 않습니다.
1. 새 Supabase 프로젝트 생성
새 Supabase 프로젝트를 생성하려면 아래 단계를 따르세요.
- supabase.com → New project로 이동
- 조직을 선택하고 다음을 입력:
- Project name: 원하는 이름
- Database password: 강력한 비밀번호
- Region: 사용자에게 가장 가까운 곳
- Create new project를 클릭하고 프로젝트가 초기화될 때까지 약 2분 대기.
- 새 Supabase 프로젝트 설정에서 다음 값을 저장:
Project IDPublic API Key(anon key)Project URL:https://[your-project-id].supabase.co
2. 환경 변수 업데이트
.env 파일에서 Lovable Cloud 값을 새 Supabase 자격 증명으로 교체합니다.
- Lovable 프로젝트에서 Code로 이동합니다.
.env파일을 찾습니다.- Lovable Cloud 값을 새 Supabase 자격 증명으로 업데이트:
VITE_SUPABASE_PROJECT_ID="your-new-project-id"
VITE_SUPABASE_PUBLISHABLE_KEY="your-new-anon-key"
VITE_SUPABASE_URL="https://your-new-project-id.supabase.co"- 변경 사항을 저장합니다.
3. Supabase 구성 업데이트
supabase/config.toml 파일에서 Lovable Cloud 프로젝트 ID를 새 Supabase 프로젝트 ID로 교체합니다.
- Lovable 프로젝트에서 Code로 이동합니다.
supabase/config.toml파일을 찾습니다.- Lovable Cloud 프로젝트 ID를 새 Supabase 프로젝트 ID로 업데이트:
project_id = "your-new-project-id"- 변경 사항을 저장합니다.
4. 데이터베이스 마이그레이션 실행
각 Lovable Cloud 프로젝트에는 supabase/migrations/ 폴더에 SQL 마이그레이션 파일이 포함되어 있습니다.
파일 이름의 타임스탬프를 기반으로 시간순으로 실행합니다. 가장 오래된 것부터 최신 순으로 정렬됩니다. 예:
20251008155159_[hash].sql # 첫 번째 - 가장 오래된
20251008155215_[hash].sql # 두 번째Lovable Cloud 프로젝트의 각 마이그레이션 파일에 대해 아래 단계를 따르세요:
- 각 마이그레이션 파일에서 전체 SQL 내용을 복사합니다.
- 새 Supabase 프로젝트의 SQL editor에 붙여넣습니다.
- 실행하고 성공 메시지를 기다립니다.
마이그레이션이 실패하면 마이그레이션 순서, 테이블 종속성, SQL 구문 오류를 확인하세요.
5. 데이터 내보내기 및 가져오기
Lovable Cloud 프로젝트에서 데이터를 내보낸 다음 새 Supabase 프로젝트로 수동으로 가져옵니다.
Lovable Cloud 프로젝트에서 데이터가 있는 각 테이블 내보내기:
- Cloud → Database → Table로 이동합니다.
- Export CSV를 클릭합니다.
- 파일을 저장합니다.
새 Supabase 프로젝트의 해당 테이블에 CSV 파일 가져오기:
- Table Editor로 이동합니다.
- 각 테이블에서 Insert → Import data from CSV를 클릭합니다.
- 열을 올바르게 매핑합니다.
- Import data를 클릭합니다.
6. 인증 재구성
Lovable Cloud 프로젝트에 인증이 필요한 경우 새 Supabase 프로젝트에서 auth 제공업체를 수동으로 재구성해야 합니다.
- 새 Supabase 프로젝트에서 Authentication → Sign In / Providers로 이동합니다.
- 각 제공업체를 활성화하고 구성합니다.
- OAuth 앱 설정(예: Google Console, GitHub)에서
redirect URLs을 새 Supabase 프로젝트 URL을 사용하도록 업데이트합니다.
7. 스토리지 파일 마이그레이션
Lovable Cloud 프로젝트의 스토리지 버킷에서 파일을 다운로드하고 새 Supabase 프로젝트에 업로드합니다.
- Lovable 프로젝트에서 Cloud → Storage로 이동합니다.
- 스토리지 버킷에서 파일을 다운로드합니다.
- Supabase에서 Storage로 이동하여 해당 버킷에 파일을 업로드합니다.
8. 환경 변수 및 secrets 설정
Lovable Cloud 프로젝트에서 외부 서비스(예: Stripe)를 사용하는 경우 새 Supabase 프로젝트에서 API 키, 토큰, 자격 증명을 수동으로 재구성해야 합니다.
- 새 Supabase 프로젝트에서 Edge Functions → Manage Secrets로 이동합니다.
- API 키 또는 외부 서비스 자격 증명을 추가합니다.
- 변경 사항을 저장합니다.
9. 모든 것이 작동하는지 확인
모든 단계를 완료하면 앱이 전적으로 Supabase backend에서 실행됩니다. 모든 것이 작동하는지 확인하세요. 예:
- 앱이 오류 없이 로드됨
- 데이터베이스 레코드를 생성하고 읽을 수 있음
- 인증이 작동함
- 스토리지 업로드/다운로드가 성공함
고급: CLI 마이그레이션 옵션
명령줄에 익숙한 개발자의 경우:
# 1. Supabase CLI 설치
npm install -g @supabase/cli
# 또는
brew install supabase/tap/supabase
# 2. config 파일 업데이트 (.env + supabase/config.toml)
# 3. 새 Supabase 프로젝트에 연결
supabase login
supabase link --project-ref your-new-project-id
# 4. 모든 마이그레이션 푸시
supabase db push
# 5. 스키마 확인
supabase db diff