6027856cbb
외부 Gitea 인스턴스의 조직에 저장소를 자동 동기화한다. - GiteaService: /api/v1 클라이언트(내장 fetch, 새 의존성 없음), enabled 게이트 - Repo 엔티티에 연동 컬럼(giteaRepoId/giteaFullName/cloneUrl/htmlUrl) 추가 - RepoService 생성/수정/삭제에 Gitea 동기화 와이어링(생성 우선·실패 시 롤백) - GITEA_* env 문서화(.env.example), api-contract/진행현황 문서 갱신 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
34 lines
1.4 KiB
Bash
34 lines
1.4 KiB
Bash
# ==========================================
|
|
# 백엔드 고유 설정 예시 — 복사해 .env.development 생성
|
|
# 루트 .env 에서 내려주지 않는 값만 작성한다 (JWT 등)
|
|
# ==========================================
|
|
|
|
# JWT 시크릿 (access/refresh 분리) — 임의의 강력한 랜덤 문자열로 교체
|
|
# 생성 예: node -e "console.log(require('crypto').randomBytes(48).toString('hex'))"
|
|
JWT_ACCESS_SECRET=change-me-access-secret
|
|
JWT_REFRESH_SECRET=change-me-refresh-secret
|
|
|
|
# 토큰 만료 시간
|
|
JWT_ACCESS_TTL=15m
|
|
JWT_REFRESH_TTL=14d
|
|
|
|
# --- Gitea 연동 (외부 Gitea 인스턴스) ---
|
|
# 세 값이 모두 채워져야 연동 활성화. 비우면 저장소는 Gitea 동기화 없이 동작한다.
|
|
# 저장소 생성/수정/삭제 시 GITEA_ORG 조직 아래 repo 가 자동 동기화된다.
|
|
# GITEA_BASE_URL: 끝 슬래시 없이 (/api/v1 는 코드가 붙임)
|
|
GITEA_BASE_URL=https://gitea.example.com
|
|
# GITEA_TOKEN: 조직 권한을 가진 액세스 토큰 (Gitea Settings → Applications → Generate Token)
|
|
GITEA_TOKEN=change-me-gitea-token
|
|
# GITEA_ORG: 저장소가 생성될 조직 이름 (Relay 의 owner 로도 사용)
|
|
GITEA_ORG=marketing-team
|
|
|
|
# --- 단독 실행(non-Docker) 시 주석 해제 ---
|
|
# NODE_ENV=development
|
|
# DB_HOST=localhost
|
|
# DB_PORT=5532
|
|
# DB_USER=dev_ttipo
|
|
# DB_PASSWORD=dev_960426
|
|
# DB_NAME=comrelay_db
|
|
# FRONTEND_URL=http://localhost:5173
|
|
# CORS_ORIGIN=http://localhost:5173
|