generated from ttipo/project-base
238d0ba838
웹메일 1단계를 개발 환경에서 띄우고 운영에 올리기 위한 인프라 구성이다. - 메일 엔진 Stalwart(v0.16.27)와 개발용 Mailpit 을 compose profile `mail` 로 추가한다. 초기 설정은 mail/scripts/setup.mjs 가 맡는다 — 여러 번 실행해도 안전하고, 운영에서는 사전 검사가 실패하면 아무것도 바꾸지 않고 멈춘다 - 화면과 API 를 한 주소로 배포한다: 프론트 nginx 가 /api 를 백엔드로 넘기고, 본문 한도·시간 제한·헤더 전달을 env 와 맞춘다. nginx 가 직접 내는 오류도 표준 실패 형식이다 - 인터넷을 향한 nginx 는 edge 네트워크로 백엔드에만 닿고, DB·메일 엔진은 app-network 에 둔다 (메일 엔진의 신뢰 대역도 app-network 뿐) - Node 24.22.1·npm 11.6.2·nginx 1.30.6 을 Dockerfile 과 CI 에 한 값으로 고정한다 - 개발 호스트 포트는 127.0.0.1 로 한정하고, data/ 는 클론 때부터 사용자 소유가 되게 .gitkeep 을 추적한다 Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
63 lines
1.7 KiB
Plaintext
63 lines
1.7 KiB
Plaintext
# ==========================================
|
|
# 환경 변수 (민감정보) — 절대 커밋 금지
|
|
# ==========================================
|
|
.env
|
|
.env.*
|
|
!.env.example
|
|
!.env.*.example
|
|
|
|
# ==========================================
|
|
# 도커 영속 데이터
|
|
# ==========================================
|
|
# ⚠️ 루트 기준으로 고정한다(앞의 /). 'data/' 로 두면 모든 depth 의 data 디렉터리가 무시되어
|
|
# flutter/lib/features/<도메인>/data/ 같은 소스 코드까지 커밋되지 않는다.
|
|
# 디렉터리(/data/)가 아니라 내용(/data/*)을 무시하고 .gitkeep 만 추적한다 — 그래야 클론할 때 data/ 가
|
|
# 클론한 사용자 소유로 생긴다. 없으면 운영의 `sudo docker compose up` 이 root 소유로 만들어
|
|
# 메일 setup 스크립트가 data/mail/ 에 쓰지 못한다 (mail/README.md "운영 배포").
|
|
# (개발 DB·업로드 등 data/ 아래 내용은 모두 무시된다)
|
|
/data/*
|
|
!/data/.gitkeep
|
|
/db-data/
|
|
/redis-data/
|
|
# CI 러너 등록 정보
|
|
ci/runner-data/
|
|
# 업로드 파일 (로컬 저장) — 코드가 아니다
|
|
backend/uploads/
|
|
|
|
# ==========================================
|
|
# 의존성/빌드 산출물
|
|
# ==========================================
|
|
node_modules/
|
|
dist/
|
|
build/
|
|
coverage/
|
|
.tsbuildinfo
|
|
*.tsbuildinfo
|
|
|
|
# ==========================================
|
|
# 로그
|
|
# ==========================================
|
|
logs/
|
|
*.log
|
|
npm-debug.log*
|
|
yarn-debug.log*
|
|
yarn-error.log*
|
|
pnpm-debug.log*
|
|
|
|
# ==========================================
|
|
# IDE / OS
|
|
# ==========================================
|
|
.idea/
|
|
.vscode/*
|
|
!.vscode/extensions.json
|
|
!.vscode/settings.json
|
|
.DS_Store
|
|
Thumbs.db
|
|
|
|
# ==========================================
|
|
# 캐시
|
|
# ==========================================
|
|
.cache/
|
|
.eslintcache
|
|
.npm/
|