환경변수
kindie에서 사용하는 환경변수 목록과 각 변수의 발급 방법을 안내합니다.
환경변수 파일
npm run setup을 실행하면 .env.local 파일이 생성되고, NEXT_PUBLIC_APP_URL, DATABASE_URL, AUTH_SECRET 기본값이 자동으로 채워집니다. 아래 표를 참고하여 필요한 값을 조정하세요.
필수 환경변수
| 변수명 | 설명 | 발급처 |
|---|---|---|
DATABASE_URL |
PostgreSQL 연결 문자열 | Supabase |
AUTH_SECRET |
Auth.js 세션 암호화 키 | npm run setup 자동 생성 |
NEXT_PUBLIC_APP_URL |
앱 URL (배포 시 변경) | 기본값 http://localhost:3000 |
OAuth 인증
| 변수명 | 설명 | 발급처 |
|---|---|---|
AUTH_GOOGLE_ID |
Google OAuth 클라이언트 ID | Google Cloud Console |
AUTH_GOOGLE_SECRET |
Google OAuth 클라이언트 시크릿 | 위와 동일 |
AUTH_KAKAO_ID |
카카오 REST API 키 | Kakao Developers |
AUTH_KAKAO_SECRET |
카카오 클라이언트 시크릿 | 위와 동일 |
AUTH_NAVER_ID |
네이버 클라이언트 ID | Naver Developers |
AUTH_NAVER_SECRET |
네이버 클라이언트 시크릿 | 위와 동일 |
사용하지 않는 OAuth 프로바이더의 환경변수는 비워두면 됩니다.
config.ts에서 해당 기능을false로 설정하면 무시됩니다.
결제
| 변수명 | 설명 | 발급처 |
|---|---|---|
NEXT_PUBLIC_TOSS_CLIENT_KEY |
TossPayments 클라이언트 키 | TossPayments |
TOSS_SECRET_KEY |
TossPayments 시크릿 키 | 위와 동일 |
GitHub 접근
| 변수명 | 설명 | 발급처 |
|---|---|---|
GITHUB_ACCESS_TOKEN |
private repository 초대용 GitHub 토큰 | GitHub |
GITHUB_REPO_OWNER |
초대할 저장소 소유자 또는 조직명 | 대상 GitHub 저장소 |
GITHUB_REPO_NAME |
초대할 저장소 이름 | 대상 GitHub 저장소 |
GITHUB_REPO_PERMISSION |
초대 권한. 기본값은 pull |
선택 사항 |
텔레그램 알림
| 변수명 | 설명 | 발급처 |
|---|---|---|
TELEGRAM_BOT_TOKEN |
결제 알림 발송용 텔레그램 봇 토큰 | Telegram BotFather |
TELEGRAM_CHAT_ID |
결제 알림을 받을 개인/그룹/채널 chat id | Bot API getUpdates 또는 getChat |
SMS
| 변수명 | 설명 | 발급처 |
|---|---|---|
SOLAPI_API_KEY |
Solapi API 키 | Solapi |
SOLAPI_API_SECRET |
Solapi API 시크릿 | 위와 동일 |
SMS_SENDER_NUMBER |
발신번호 (사전 등록 필요) | Solapi 대시보드 |
SOLAPI_PFID |
알림톡 발신프로필 ID (알림톡 사용 시) | Solapi 대시보드 |
이메일
| 변수명 | 설명 | 발급처 |
|---|---|---|
RESEND_API_KEY |
Resend API 키 | Resend |
주소검색
| 변수명 | 설명 | 발급처 |
|---|---|---|
JUSO_API_KEY |
행정안전부 주소 API 키 | 도로명주소 API 센터 |
NEXT_PUBLIC_ 접두사
NEXT_PUBLIC_으로 시작하는 변수는 브라우저에 노출됩니다. 결제 SDK의 상점 ID나 채널 키처럼 클라이언트에서 필요한 값에만 사용됩니다. API 시크릿 등 민감한 값에는 절대 이 접두사를 붙이지 마세요.