Files
dbx-orderlist/.env.example
T
king 88d7b1ba7a feat(sso): SESSION_SECRET_KEY 미설정 시 fail-fast
- SESSION_SECRET_KEY 가 .env 에 없으면 컨테이너 기동 단계에서 RuntimeError.
  알려진 기본값(super-secret-key) 폴백 제거로 양쪽 secret 불일치 사고 방지.
- .env.example 의 SESSION_SECRET_KEY 안내 강화 (openssl 명령, dbx-main 동기화 언급).
2026-05-24 13:25:38 +09:00

53 lines
2.0 KiB
Bash

# ===== Database (PostgreSQL) =====
DB_HOST=postgres-db
DB_PORT=5432
DB_USER=king
DB_PASSWORD=change-me-strong-password
ORDER_DB_NAME=orderlist_db
ITEM_DB_NAME=itemcode_db
RETURN_DB_NAME=return_db
CHECKLIST_DB_NAME=checklist_db
# (선택) 직접 DATABASE_URL 지정 시 위 DB_* 보다 우선
# DATABASE_URL=postgresql+psycopg2://king:password@postgres-db:5432/orderlist_db
# ===== App =====
# NPM 리버스 프록시 뒤에서 /orderlist/ 서브경로로 호스팅된다.
APP_ROOT_PATH=/orderlist
# ===== SSO (dbx-main 세션 공유) =====
# dbx-main 과 OMS 가 반드시 같은 값으로 맞춰야 SSO가 동작한다.
# - SESSION_SECRET_KEY : 두 앱이 동일해야 세션 쿠키를 서로 복호화 가능.
# 미설정 시 컨테이너 기동 실패(fail-fast).
# openssl rand -hex 32 로 생성한 같은 값을 dbx-main .env 에도 박을 것.
# - SESSION_COOKIE_NAME : 두 앱이 동일해야 같은 쿠키를 본다 (기본 'session')
SESSION_SECRET_KEY=__paste-same-value-as-dbx-main__
SESSION_COOKIE_NAME=session
SESSION_SAME_SITE=lax
SESSION_HTTPS_ONLY=1
SESSION_MAX_AGE=28800
# 세션에서 읽을 사용자 식별 키. dbx-main 이 어느 키로 쓰는지에 맞춰라.
SESSION_USER_KEY=user_email
SESSION_NAME_KEY=user_name
# 미인증 시 보낼 dbx-main 로그인/로그아웃 URL
MAIN_LOGIN_URL=https://dbx.no1king.freeddns.org/login
MAIN_LOGOUT_URL=https://dbx.no1king.freeddns.org/logout
# (선택) 신뢰된 업스트림 헤더로 사용자 정보 받기 (auth_request 패턴)
# 활성화하려면 1, 그리고 NPM/nginx 에서 인증 검증 후 헤더를 주입해야 한다.
ALLOW_TRUSTED_USER_HEADER=0
TRUSTED_USER_HEADER=X-Forwarded-User
TRUSTED_NAME_HEADER=X-Forwarded-User-Name
# dbx-main 에서 인증된 사용자를 OMS DB 에 자동 등록할지
AUTO_PROVISION_USERS=1
# 자동 등록 시 is_admin=True 로 만들 이메일(쉼표 구분)
ADMIN_EMAILS=king@dbxcorp.co.kr
# ===== Docker network =====
POSTGRES_NETWORK=postgres_default
WEB_NETWORK=npm_default