# ๐Ÿš€ ๋ฐฐํฌ ๊ฐ€์ด๋“œ ## 1๏ธโƒฃ Resend ์„ค์ • (์ด๋ฉ”์ผ ๋ฐœ์†ก) ### 1๋‹จ๊ณ„: Resend ๊ณ„์ • ์ƒ์„ฑ 1. [resend.com](https://resend.com) ์ ‘์† 2. "Sign Up" ํด๋ฆญ โ†’ GitHub ๊ณ„์ •์œผ๋กœ ๊ฐ€์ž… 3. ๋ฌด๋ฃŒ ํ‹ฐ์–ด: ์›” 3,000๊ฑด (์ถฉ๋ถ„ํ•จ!) ### 2๋‹จ๊ณ„: API Key ๋ฐœ๊ธ‰ 1. Dashboard โ†’ "API Keys" ๋ฉ”๋‰ด 2. "Create API Key" ํด๋ฆญ 3. Name: `jaengseung-made-production` 4. Permission: `Sending access` 5. ์ƒ์„ฑ๋œ ํ‚ค ๋ณต์‚ฌ (ํ•œ ๋ฒˆ๋งŒ ํ‘œ์‹œ๋จ!) ### 3๋‹จ๊ณ„: ๋„๋ฉ”์ธ ์ธ์ฆ (์„ ํƒ์‚ฌํ•ญ) **์˜ต์…˜ A: Resend ์„œ๋ธŒ๋„๋ฉ”์ธ ์‚ฌ์šฉ (๊ฐ„๋‹จ)** - `onboarding@resend.dev`์—์„œ ๋ฐœ์†ก - ๋ฐ”๋กœ ์‚ฌ์šฉ ๊ฐ€๋Šฅ **์˜ต์…˜ B: ์ปค์Šคํ…€ ๋„๋ฉ”์ธ ์‚ฌ์šฉ (์ „๋ฌธ์ )** 1. Resend Dashboard โ†’ "Domains" 2. "Add Domain" ํด๋ฆญ 3. `jaengseung-made.com` ์ž…๋ ฅ 4. DNS ๋ ˆ์ฝ”๋“œ ๋ณต์‚ฌ **๊ฐ€๋น„์•„ DNS ์„ค์ •:** 1. [๊ฐ€๋น„์•„ My๊ฐ€๋น„์•„](https://my.gabia.com) ๋กœ๊ทธ์ธ 2. "๋„๋ฉ”์ธ" โ†’ "jaengseung-made.com" ์„ ํƒ 3. "DNS ์ •๋ณด" โ†’ "DNS ๊ด€๋ฆฌ" ํด๋ฆญ 4. Resend์—์„œ ์ œ๊ณตํ•œ ๋ ˆ์ฝ”๋“œ ์ถ”๊ฐ€: ``` Type: TXT Host: _resend Value: [Resend์—์„œ ์ œ๊ณตํ•œ ๊ฐ’] Type: MX Host: @ Value: [Resend์—์„œ ์ œ๊ณตํ•œ ๊ฐ’] Priority: 10 ``` 5. ์ €์žฅ ํ›„ 10~30๋ถ„ ๋Œ€๊ธฐ 6. Resend์—์„œ "Verify" ํด๋ฆญ ### 4๋‹จ๊ณ„: ๋กœ์ปฌ ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • `.env.local` ํŒŒ์ผ ์ˆ˜์ •: ```bash RESEND_API_KEY=re_your_actual_api_key_here ``` --- ## 2๏ธโƒฃ Vercel ๋ฐฐํฌ ### 1๋‹จ๊ณ„: GitHub ์—ฐ๋™ (๊ถŒ์žฅ) **GitHub์— ํ‘ธ์‹œ:** ```bash # GitHub์— ์ƒˆ ์ €์žฅ์†Œ ์ƒ์„ฑ (jaengseung-made) git remote add github https://github.com/your-username/jaengseung-made.git git push github main ``` **Vercel ๋ฐฐํฌ:** 1. [vercel.com](https://vercel.com) ๊ฐ€์ž… (GitHub ์—ฐ๋™) 2. "Add New Project" ํด๋ฆญ 3. GitHub ์ €์žฅ์†Œ ์„ ํƒ: `jaengseung-made` 4. Environment Variables ์ถ”๊ฐ€: - `RESEND_API_KEY`: [๋ฐœ๊ธ‰๋ฐ›์€ ํ‚ค ๋ถ™์—ฌ๋„ฃ๊ธฐ] 5. "Deploy" ํด๋ฆญ 6. ๋ฐฐํฌ ์™„๋ฃŒ! (์•ฝ 2๋ถ„) ### 2๋‹จ๊ณ„: ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ (jaengseung-made.com) **Vercel ์„ค์ •:** 1. Vercel Dashboard โ†’ ํ”„๋กœ์ ํŠธ ์„ ํƒ 2. "Settings" โ†’ "Domains" 3. "Add Domain" ํด๋ฆญ 4. `jaengseung-made.com` ์ž…๋ ฅ 5. DNS ์„ค์ • ์•ˆ๋‚ด ํ™•์ธ **๊ฐ€๋น„์•„ DNS ์„ค์ •:** 1. [๊ฐ€๋น„์•„ My๊ฐ€๋น„์•„](https://my.gabia.com) ๋กœ๊ทธ์ธ 2. "๋„๋ฉ”์ธ" โ†’ "jaengseung-made.com" ์„ ํƒ 3. "DNS ์ •๋ณด" โ†’ "DNS ๊ด€๋ฆฌ" ํด๋ฆญ 4. ๊ธฐ์กด A ๋ ˆ์ฝ”๋“œ ์‚ญ์ œ (์žˆ๋‹ค๋ฉด) 5. ์ƒˆ ๋ ˆ์ฝ”๋“œ ์ถ”๊ฐ€: **๋ฐฉ๋ฒ• A: A ๋ ˆ์ฝ”๋“œ (๊ถŒ์žฅ)** ``` Type: A Host: @ Value: 76.76.19.19 TTL: 600 ``` **๋ฐฉ๋ฒ• B: CNAME ๋ ˆ์ฝ”๋“œ** ``` Type: CNAME Host: @ Value: cname.vercel-dns.com. TTL: 600 ``` **www ์„œ๋ธŒ๋„๋ฉ”์ธ ์ถ”๊ฐ€:** ``` Type: CNAME Host: www Value: cname.vercel-dns.com. TTL: 600 ``` 6. ์ €์žฅ ํ›„ 10~30๋ถ„ ๋Œ€๊ธฐ 7. Vercel์—์„œ ์ž๋™์œผ๋กœ SSL ์ธ์ฆ์„œ ๋ฐœ๊ธ‰ (HTTPS) ### 3๋‹จ๊ณ„: ๋ฐฐํฌ ํ™•์ธ - https://jaengseung-made.com ์ ‘์† - ๋ฌธ์˜ ํผ ํ…Œ์ŠคํŠธ (์‹ค์ œ ์ด๋ฉ”์ผ ๋ฐœ์†ก ํ™•์ธ) --- ## 3๏ธโƒฃ ๋Œ€์•ˆ: Gitea + Vercel CLI ์ง์ ‘ ๋ฐฐํฌ Vercel CLI๋กœ ์ง์ ‘ ๋ฐฐํฌ: ```bash # Vercel CLI ์„ค์น˜ npm install -g vercel # ํ”„๋กœ์ ํŠธ ํด๋”์—์„œ ์‹คํ–‰ cd C:\Users\๋ฐ•์žฌ์˜ค\Desktop\workspace\jaengseung-made # ๋กœ๊ทธ์ธ vercel login # ๋ฐฐํฌ vercel --prod # ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ vercel env add RESEND_API_KEY # [๋ฐœ๊ธ‰๋ฐ›์€ ํ‚ค ๋ถ™์—ฌ๋„ฃ๊ธฐ] # Production, Preview, Development ๋ชจ๋‘ ์„ ํƒ # ์žฌ๋ฐฐํฌ vercel --prod ``` --- ## 4๏ธโƒฃ Synology NAS ๋ฐฐํฌ (๋น„์ถ”์ฒœ) ์„ฑ๋Šฅ/์•ˆ์ •์„ฑ ์ด์œ ๋กœ ๋น„์ถ”์ฒœํ•˜์ง€๋งŒ, ์›ํ•˜์‹œ๋ฉด: ### Docker๋กœ ๋ฐฐํฌ 1. `Dockerfile` ์ƒ์„ฑ (์ด๋ฏธ ์žˆ์Œ) 2. Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ: ```bash docker build -t jaengseung-made . ``` 3. ์ปจํ…Œ์ด๋„ˆ ์‹คํ–‰: ```bash docker run -d -p 3000:3000 \ -e RESEND_API_KEY=your_key \ --name jaengseung-made \ jaengseung-made ``` 4. ํฌํŠธ ํฌ์›Œ๋”ฉ: ๋ผ์šฐํ„ฐ์—์„œ 80 โ†’ NAS IP:3000 5. ๊ฐ€๋น„์•„ DNS: A ๋ ˆ์ฝ”๋“œ๋ฅผ ๊ณต์ธ IP๋กœ ์„ค์ • **๋ฌธ์ œ์ :** - ๋А๋ฆฐ ์†๋„ (๊ฐ€์ •์šฉ ์ธํ„ฐ๋„ท) - ๋‹ค์šดํƒ€์ž„ (์ •์ „, ์žฌ๋ถ€ํŒ…) - HTTPS ์ˆ˜๋™ ์„ค์ • ํ•„์š” (Let's Encrypt) - ๋ณด์•ˆ ๊ด€๋ฆฌ ํ•„์š” --- ## 5๏ธโƒฃ ์ตœ์ข… ์ฒดํฌ๋ฆฌ์ŠคํŠธ ### ๋ฐฐํฌ ์ „ - [ ] Resend ๊ณ„์ • ์ƒ์„ฑ ๋ฐ API Key ๋ฐœ๊ธ‰ - [ ] `.env.local`์— API Key ์„ค์ • - [ ] ๋กœ์ปฌ์—์„œ ๋ฌธ์˜ ํผ ํ…Œ์ŠคํŠธ (http://localhost:3000) - [ ] Git ์ปค๋ฐ‹ ๋ฐ ํ‘ธ์‹œ ### Vercel ๋ฐฐํฌ - [ ] Vercel ๊ณ„์ • ์ƒ์„ฑ (GitHub ์—ฐ๋™) - [ ] ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ - [ ] ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์ถ”๊ฐ€ (RESEND_API_KEY) - [ ] ๋ฐฐํฌ URL์—์„œ ํ…Œ์ŠคํŠธ ### ๋„๋ฉ”์ธ ์—ฐ๊ฒฐ - [ ] Vercel์— ๋„๋ฉ”์ธ ์ถ”๊ฐ€ - [ ] ๊ฐ€๋น„์•„ DNS ์„ค์ • (A ๋ ˆ์ฝ”๋“œ) - [ ] www ์„œ๋ธŒ๋„๋ฉ”์ธ ์ถ”๊ฐ€ (CNAME) - [ ] SSL ์ธ์ฆ์„œ ์ž๋™ ๋ฐœ๊ธ‰ ํ™•์ธ (10~30๋ถ„) - [ ] https://jaengseung-made.com ์ ‘์† ํ™•์ธ ### ์ตœ์ข… ํ…Œ์ŠคํŠธ - [ ] ๋ฌธ์˜ ํผ ์‹ค์ œ ๋ฐœ์†ก ํ…Œ์ŠคํŠธ - [ ] bgg8988@gmail.com์œผ๋กœ ์ด๋ฉ”์ผ ์ˆ˜์‹  ํ™•์ธ - [ ] ๋ชจ๋ฐ”์ผ์—์„œ ์ ‘์† ํ…Œ์ŠคํŠธ - [ ] ๋ชจ๋“  ๋งํฌ ๋™์ž‘ ํ™•์ธ ### ๋งˆ์ผ€ํŒ… - [ ] ํฌ๋ชฝ ์„œ๋น„์Šค ๋“ฑ๋ก (ํฌํŠธํด๋ฆฌ์˜ค URL ์ฒจ๋ถ€) - [ ] ์ˆจ๊ณ  ํ”„๋กœํ•„ ์ƒ์„ฑ - [ ] Google Search Console ๋“ฑ๋ก - [ ] ๋ฉ”ํƒ€ ํƒœ๊ทธ ํ™•์ธ (์ด๋ฏธ ์ ์šฉ๋จ) --- ## ๐Ÿ†˜ ํŠธ๋Ÿฌ๋ธ”์ŠˆํŒ… ### ๋ฌธ์˜ ํผ์ด ์ž‘๋™ํ•˜์ง€ ์•Š์•„์š” 1. `.env.local`์— `RESEND_API_KEY` ํ™•์ธ 2. Vercel ํ™˜๊ฒฝ๋ณ€์ˆ˜ ์„ค์ • ํ™•์ธ 3. Resend Dashboard์—์„œ "Logs" ํ™•์ธ 4. ๋ธŒ๋ผ์šฐ์ € ๊ฐœ๋ฐœ์ž ๋„๊ตฌ โ†’ Network ํƒญ ํ™•์ธ ### ๋„๋ฉ”์ธ์ด ์—ฐ๊ฒฐ๋˜์ง€ ์•Š์•„์š” 1. DNS ์ „ํŒŒ ๋Œ€๊ธฐ (์ตœ๋Œ€ 24์‹œ๊ฐ„, ๋ณดํ†ต 30๋ถ„) 2. DNS ์ „ํŒŒ ํ™•์ธ: https://dnschecker.org 3. ๊ฐ€๋น„์•„ DNS ์„ค์ • ์žฌํ™•์ธ 4. Vercel Domain ์ƒํƒœ ํ™•์ธ ### ์ด๋ฉ”์ผ์ด ์˜ค์ง€ ์•Š์•„์š” 1. Resend Dashboard โ†’ "Logs" ํ™•์ธ 2. ์ŠคํŒธ ๋ฉ”์ผํ•จ ํ™•์ธ 3. API Key ๊ถŒํ•œ ํ™•์ธ (Sending access) 4. ๋„๋ฉ”์ธ ์ธ์ฆ ์ƒํƒœ ํ™•์ธ (์ปค์Šคํ…€ ๋„๋ฉ”์ธ ์‚ฌ์šฉ ์‹œ) --- ## ๐Ÿ“ž ์ง€์› ๋ฐฐํฌ ๊ด€๋ จ ๋ฌธ์˜: bgg8988@gmail.com