From 58290041e1698e933432179954dcebaf3a882520 Mon Sep 17 00:00:00 2001 From: gahusb Date: Sat, 6 Jun 2026 16:20:44 +0900 Subject: [PATCH] =?UTF-8?q?docs(plan):=20Phase=204=20=EC=99=84=EB=A3=8C(OA?= =?UTF-8?q?uth=20E2E=20=EA=B2=80=EC=A6=9D)=20+=20Phase=206=20supa=20?= =?UTF-8?q?=EB=85=B8=EC=B6=9C=C2=B7OAuth=20=EB=B6=80=EB=B6=84=20=EC=99=84?= =?UTF-8?q?=EB=A3=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 로컬 통합테스트: supa 도메인 apikey 200, Google OAuth 로그인→mypage 데이터 확인 - supa 노출: Cloudflare DNS + DSM 역방향 프록시(443→8100) + Let's Encrypt - OAuth: GOTRUE_GOOGLE 활성화, authorize 302 확인 - 남은 컷오버는 Phase 5(앱 배포) 후 Co-Authored-By: Claude Opus 4.8 (1M context) --- .../plans/2026-06-02-nas-selfhost-migration.md | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/docs/superpowers/plans/2026-06-02-nas-selfhost-migration.md b/docs/superpowers/plans/2026-06-02-nas-selfhost-migration.md index b8018a5..ded2543 100644 --- a/docs/superpowers/plans/2026-06-02-nas-selfhost-migration.md +++ b/docs/superpowers/plans/2026-06-02-nas-selfhost-migration.md @@ -209,7 +209,13 @@ --- -## Phase 4 — 코드 env 전환 + 로컬 통합 테스트 +## Phase 4 — 코드 env 전환 + 로컬 통합 테스트 ✅ (2026-06-06 완료) + +> **실행 결과 (2026-06-06):** +> - 로컬 `.env.local`을 NAS Supabase로 전환(URL/ANON/SERVICE) → LAN(`192.168.45.54:8100`) 및 도메인(`https://supa.jaengseung-made.com`) 양쪽에서 apikey 200·RLS(`[]`) 확인. +> - 전 페이지(home/login/mypage/work/music/packages/saju/freelance) 200, Supabase 연결 에러 0. +> - **Google OAuth E2E 성공**: 브라우저 로그인 → supa 콜백 → 세션 → mypage 본인 데이터(RLS) 확인. 이메일/비번 계정은 없어 OAuth로만 검증. +> - 검증 후 `.env.local`은 클라우드로 복구(로컬 개발 정상화). 백업 `.env.local.cloud.bak`. **목표:** 앱이 NAS self-host Supabase를 바라보게 하고, 로컬에서 핵심 흐름을 검증. @@ -271,6 +277,12 @@ ## Phase 6 — 도메인·SSL·nginx + 병행→컷오버 +> **부분 완료 (2026-06-06) — supa 백엔드 노출 + OAuth:** +> - 도메인 DNS는 **가비아 등록 + Cloudflare 네임서버 위임** 구조 확인 → supa 레코드는 **Cloudflare DNS**에 추가(A `supa`→211.44.164.244, DNS only). +> - 외부 노출은 **Synology DSM 역방향 프록시**가 443 관리 → `supa.jaengseung-made.com`(443) → `localhost:8100`(kong) + DSM Let's Encrypt 인증서. (cloudflared도 NAS에 존재 — 향후 Tunnel 대안) +> - **Google OAuth**: `docker-compose.yml` GOTRUE_EXTERNAL_GOOGLE 주석 해제 + `.env`(GOOGLE_ENABLED/CLIENT_ID/SECRET), redirect=`https://supa.jaengseung-made.com/auth/v1/callback`, Google Console redirect URI 등록. `authorize?provider=google` → 302 accounts.google.com 확인. +> - **남은 것(앱 컷오버)**: Phase 5(앱 NAS 배포) 후 `jaengseung-made.com`을 Vercel→NAS Next로 전환 + 앱 OAuth redirect를 도메인으로 + ADDITIONAL_REDIRECT_URLS 정리(현재 localhost 테스트분 포함). + **목표:** 외부 트래픽을 SSL로 받고, 검증 후 DNS를 NAS로 전환한다. > **노출 방식 확정(Phase 0):** 443이 이미 열려 있고 기존 nginx가 HTTPS 운영 중 → **기존 nginx에 vhost 추가**. 신규 포트포워딩 불필요. Cloudflare Tunnel 미사용.