Files
dbx-corm/.env.example
T
king 31fa8d573b feat(sso): dbx-main SSO 통합, /corm/ 서브경로 호스팅, 인증 미들웨어 적용
- SessionMiddleware 추가 (dbx-main/OMS 와 동일 SECRET_KEY/COOKIE_NAME/MAX_AGE).
  미설정 시 fail-fast.
- AuthGuardMiddleware: 미인증 시 HTML 요청은 dbx-main /login?next=... 으로 302,
  API 요청은 401 JSON. 예외 경로: /static/, /health, OAuth 콜백, /login, /logout.
- /health/db 엔드포인트 추가 (DB ping) — dbx-main 헬스 배지가 폴링.
- /login, /logout 라우트 추가 (자체 OAuth 없음, dbx-main 으로 302 위임).
- APP_ROOT_PATH 환경변수 도입 — Dockerfile 의 uvicorn --root-path 로 전달.
- templates/index.html: 모든 /static/, /js 절대경로를 {{ root_path }} 기반으로,
  window.APP_BASE_PATH 변수 주입.
- static/js/app.js: fetch wrapper 1개로 /api/* 호출에 APP_BASE_PATH prepend,
  401 응답 시 dbx-main 로그인으로 자동 이동. 32 곳 호출 사이트는 그대로 둠.
- Cafe24 OAuth 콜백의 hard-coded redirect 도 root_path 인지하도록 수정.
- docker-compose.yml: 호스트 포트 바인딩 제거(0.0.0.0:8002 노출 차단),
  expose 추가, web_net(npm_default) 외부 네트워크 attach, healthcheck 추가.
- .env.example 에 SSO/네트워크 항목 추가.
2026-05-24 15:44:28 +09:00

62 lines
1.9 KiB
Bash

# ============================================
# PostgreSQL 접속 정보
# ============================================
# 서버에서 docker network 확인 후 host 값 수정
# docker ps --filter "ancestor=postgres" --format "{{.Names}}"
POSTGRES_HOST=postgres-db
POSTGRES_PORT=5432
POSTGRES_USER=king
POSTGRES_PASSWORD=여기에_비밀번호_입력
# 데이터베이스 이름 (3개 분리되어 있음)
ITEMCODE_DB=itemcode_db
ORDERLIST_DB=orderlist_db
RETURN_DB=return_db
# ============================================
# 네이버 커머스 API
# ============================================
NAVER_CLIENT_ID=
NAVER_CLIENT_SECRET=
# ============================================
# 카페24 API
# ============================================
CAFE24_CLIENT_ID=
CAFE24_CLIENT_SECRET=
CAFE24_MALL_ID=miraskitchen
CAFE24_REDIRECT_URI=
# ============================================
# 앱 설정
# ============================================
APP_PORT=8002
# NPM 리버스 프록시 뒤 서브경로 호스팅
APP_ROOT_PATH=/corm
# ============================================
# SSO (dbx-main 세션 공유)
# ============================================
# dbx-main, OMS 와 반드시 같은 값으로 맞춰야 SSO 동작.
# 미설정 시 컨테이너 기동 실패 (fail-fast). openssl rand -hex 32 로 생성.
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
# ============================================
# Docker network
# ============================================
POSTGRES_NETWORK=postgres_default
WEB_NETWORK=npm_default