πŸ“– star365 Docs
← λ³΄κ³ μ„œ λͺ©λ‘

Hospital μΉ¨ν•΄ 후속 β€” μ‚¬μš©μž μ•‘μ…˜ 체크리슀트 (Secret νšŒμ „)

Why: hospital /tmp/.ed1a089d8.sh 등이 GROQ/NAVER/KAKAO/GOOGLE OAuth secrets 등을 4μ›” 24일 3회 μ™ΈλΆ€ POST μ‹œλ„. 유좜 κ°€μ •μœΌλ‘œ μ¦‰μ‹œ νšŒμ „.

λŒ€μƒ ν‚€: PM2 dump.pm2 environμ—μ„œ 평문 λ…ΈμΆœμ΄ ν™•μΈλœ ν‚€λ“€.


1. NAVER Developer Console

2. KAKAO Developer Console

3. GOOGLE Cloud Console (OAuth)

4. GROQ API

5. 자체 μ‹œν¬λ¦Ώ (μ½˜μ†” λΆˆν•„μš”, μž„μ˜ 생성)

생성 λͺ…λ Ή:

# 32자 random
openssl rand -base64 24

β“ž νšŒμ „ ν›„ 적용 절차 (각 ν‚€λ§ˆλ‹€)

PM2 dump.pm2 + λͺ¨λ“  μ»¨ν…Œμ΄λ„ˆ .env λ™μ‹œ κ°±μ‹  ν•„μš”.

A. PM2 environ κ°±μ‹  (hospital)

ssh root@45.63.121.251
# .env λ˜λŠ” ecosystem.config.js μœ„μΉ˜ 확인
grep -rl "GROQ_API_KEY=" /opt/agency/.env* /opt/agency/apps/*/.env* /opt/agency/ecosystem.config.js 2>/dev/null

# μƒˆ ν‚€λ‘œ ꡐ체 (예: GROQ)
sed -i.bak "s|GROQ_API_KEY=.*|GROQ_API_KEY=<NEW>|" /opt/agency/.env
# PM2 ν™˜κ²½ reload
/root/.npm-global/bin/pm2 restart agency-web --update-env
/root/.npm-global/bin/pm2 restart agency-api --update-env
/root/.npm-global/bin/pm2 save

B. Docker μ»¨ν…Œμ΄λ„ˆ .env (ν•΄λ‹Ήλ˜λŠ” 경우)

docker ps --format '{{.Names}}' | xargs -I{} docker exec {} env 2>/dev/null | grep -E "GROQ_API_KEY|NAVER_CLIENT_SECRET|KAKAO_CLIENT" 2>/dev/null
# 영ν–₯ μ»¨ν…Œμ΄λ„ˆμ˜ .env κ°±μ‹  ν›„ docker compose up -d --no-deps <service>

C. 검증

# μ™ΈλΆ€μ—μ„œ OAuth flow 1회 ν…ŒμŠ€νŠΈ
curl -I https://agency.starium.site/
# 영ν–₯ endpoint 200/302 확인

νšŒμ „ μ§„ν–‰ μ²΄ν¬λ°•μŠ€


μ°Έκ³