Supabase 연결 설정 (선택 사항)

이 장은 Supabase를 연결하려는 분을 위한 선택 안내입니다. 앱은 기본적으로 내 컴퓨터(로컬 DB)에 데이터를 저장하므로, Supabase 없이도 모든 핵심 기능을 바로 사용할 수 있습니다.
Supabase가 필요한 경우
아래 기능을 사용하려면 Supabase를 연결하세요.
| 기능 | 설명 |
|---|---|
| 기기 간 데이터 공유 | 여러 컴퓨터에서 같은 직원·미션 데이터를 사용 |
| 클라우드 백업 | 산출물(문서·이미지 등)이 만들어질 때 Supabase Storage에도 업로드 |
| 인스타그램 발행 | Instagram 게시 기능 사용 시 필요 |
Supabase 연결은 설정 > 연결에서 언제든지 추가할 수 있습니다. 기존 로컬 데이터는 이전 도구로 가져올 수 있습니다 (이전 후에도 로컬 데이터는 그대로 보존됩니다). 반대로 Supabase에서 내장 DB(내 컴퓨터)로 돌아가려면 **설정 > 연결 > [내장 DB로 전환]**을 사용하세요 — 데이터를 가져오거나 새로 시작할 수 있고, Supabase 쪽 데이터·연결 정보는 보존됩니다.
앱을 처음 켜면 순서대로 초기 설정을 진행합니다(약 3분).
언어 선택
한국어 / English 중 선택합니다. 나중에 설정 > 기본설정에서 변경할 수 있습니다. (영어를 선택하면 화면이 실시간 번역 레이어로 영어로 표시됩니다.)
Supabase 연결 — 내 데이터는 내 DB에
Supabase를 연결하면 데이터가 여러분의 Supabase 프로젝트에 저장됩니다. 필요한 값은 Project URL · service_role 키 · DB 접속 문자열 3가지이며, 모두 여러분의 Supabase 대시보드에서 가져옵니다.
입력한 연결 정보는 이 컴퓨터의 OS 보안 저장소에 암호화되어 보관되며, 외부 서버로 전송되지 않습니다.
1단계. Supabase 프로젝트 만들기 (무료)
supabase.com에 가입하고 [New project] 로 프로젝트를 하나 만듭니다.
- Database Password를 여기서 정합니다 — 4단계에서 다시 필요하니 꼭 보관하세요. 영문+숫자로만 만들면 뒤에서 편합니다 (특수문자는 접속 문자열을 깨뜨릴 수 있습니다).
- Region은 가까운 곳(예: Northeast Asia — Seoul)을 고릅니다.
- 생성 후 프로젝트가 준비될 때까지 1~2분 걸립니다.
무료 플랜이면 충분합니다. 단, 무료 프로젝트는 1주일간 사용이 없으면 일시정지됩니다 (대시보드에서 Restore로 복구).
2단계. Project URL 복사
대시보드 좌측 하단 톱니(⚙) → Project Settings > Data API의 Project URL을 복사합니다.
- 형식:
https://프로젝트ID.supabase.co
3단계. service_role key 복사
Project Settings > API Keys에서 service_role 키의 [Reveal]을 눌러 복사합니다. 새 대시보드에서는 Legacy API Keys 탭 안에 있을 수 있습니다.
- anon(public) 키가 아닙니다. anon 키를 넣으면 초기 설정 권한이 없어 실패합니다.
- 이 키는 이 컴퓨터의 OS 보안 저장소에만 암호화 보관되며, 외부 서버로 전송되지 않습니다.
4단계. DB connection string 복사 (가장 헷갈리는 단계)
대시보드 상단의 [Connect] 버튼 → Connection String 탭에서 방식을 Session pooler로 선택하고 URI를 복사합니다.
- 형식:
postgresql://postgres.프로젝트ID:[YOUR-PASSWORD]@aws-0-….pooler.supabase.com:5432/postgres - [YOUR-PASSWORD]를 대괄호까지 지우고 1단계에서 정한 DB 비밀번호로 바꿉니다.
- 기본 선택인 Direct connection(
db.….supabase.co)은 IPv6 전용이라 일반 네트워크에서 접속되지 않습니다. 반드시 Session pooler를 고르세요. - 비밀번호에 특수문자가 있으면 퍼센트 인코딩이 필요합니다:
@→%40#→%23/→%2F:→%3A - 비밀번호를 잊었다면 Project Settings > Database > Reset database password에서 재설정합니다.
5단계. 접속 테스트 → 초기 설정
값 3개를 넣고 [접속 테스트] 가 통과하면 [초기 설정 실행] 을 누릅니다.
앱이 여러분의 Supabase 안에 ai_office 스키마(직원·미션 데이터)와 artifacts 버킷(산출물 백업)을 만듭니다.
앱은 여러분 Supabase의
ai_office스키마 밖은 절대 건드리지 않습니다. 기존 데이터와 안전하게 분리되며, 설정 > 연결에서 언제든 되돌릴 수 있습니다.
자주 발생하는 오류
| 증상 | 원인과 해결 |
|---|---|
| "호스트를 찾을 수 없습니다 (시도한 호스트: db.…)" | Direct connection URI를 붙여넣은 경우입니다. Session pooler URI로 바꾸세요. |
| 시도한 호스트에 이상한 문자열이 보임 | 비밀번호의 특수문자가 URI를 깨뜨린 경우입니다. 퍼센트 인코딩하거나 비밀번호를 재설정하세요. |
| "인증에 실패했습니다" | DB 비밀번호가 틀렸거나 anon 키를 넣은 경우입니다. service_role 키인지 확인하세요. |
| "네트워크에 연결할 수 없습니다" | 인터넷 연결을 확인하고, 무료 프로젝트가 일시정지 상태가 아닌지 대시보드에서 확인하세요. |
연결 관리 (설정 > 연결)
연결이 끝나면 설정 > 연결에서 현재 상태를 확인하고 관리할 수 있습니다. 연결 정보는 마스킹되어 표시되며 원문은 노출되지 않습니다.
- 연결 정보 변경 — Project URL·키·접속 문자열을 다시 입력
- 접속 테스트 — 현재 연결 상태 점검
- 내보내기 / 가져오기 — 앱 재설치 시 연결을 옮기는 용도. 백업 파일은 입력한 암호로 암호화됩니다.
- 로컬 데이터 이전 — 로컬 모드에서 사용하던 데이터가 있으면 Supabase 초기 설정 완료 후 "로컬 데이터를 Supabase로 가져올까요?" 안내가 뜹니다. **[가져오기]**를 누르면 직원·미션·산출물 기록을 그대로 옮길 수 있습니다 (이전 후에도 로컬 데이터는 그대로 보존됩니다).
재설치 후 가져오기·재연결해도 기존 데이터와 테이블은 절대 삭제되지 않습니다 — 필요한 업데이트만 추가로 적용됩니다. (화면의 "스키마 버전"이 앱 기준과 다르면 업데이트가 자동 적용됩니다.)
초기화 되돌리기
설정 > 연결의 [초기화 되돌리기]는 ai_office 스키마를 삭제합니다. 직원·미션·산출물 기록이 모두 사라지므로 주의하세요. Supabase의 다른 데이터와 로컬 파일은 건드리지 않습니다.
구독
dodone.world 계정을 연결하고 구독(월 $10, 첫 7일 무료)으로 사용합니다. 설정 > 구독에서 연결된 계정·플랜·체험 남은 기간을 확인할 수 있습니다. 구독이 만료돼도 작업 데이터는 보존되며, 구독을 재개하면 그대로 이어서 사용합니다.