generated from ttipo/project-base
73babeaa2c
전 직원 전환 전에 서버가 스스로 지키고 되살릴 수 있게 했다. - 관리자 단단히(setup): 관리자 역할에서 impersonate 를 빼고 관리자 허용 IP 를 앱 네트워크로 — 관리자 비밀번호로 바깥 993 · JMAP 에서 직원 메일함에 대리 로그인되던 길을 막았다. 운영에서 처음 걸 때는 되돌릴 복구 관리자가 있을 때만 건다(관리자 잠김 방지). - 휴지통 · 스팸 30일 정리를 KST 03:00 으로 명시. imapsync 로 옮긴 메일도 옮긴 때부터 센다(임시 엔진 실측). - restic 백업(호스트 systemd 03:30 — 메일 볼륨 warm → 엔진 멈춤 9초 안팎 → final, pg_dump, 업로드, env) · 복원(새 서버 차례를 빈 클론에서 실측) · 15분 점검 · 부팅 되살리기, Healthchecks 하트비트. - 메일 프로그램 자동 설정: frontend nginx 의 autoconfig · autodiscover 고정 응답(엔진 것은 POP3 를 알리고 입력을 되돌려 쓴다). - 모든 서비스 docker 로그 보존, DB 이미지 판 · digest 고정. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
68 lines
2.1 KiB
Plaintext
68 lines
2.1 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/
|
|
# 운영 서버의 백업 · 감시 설정(13단계 — S3 키 · Healthchecks 주소 · restic 비밀번호). 서버의 /etc/arasystem/ 에 두지만 저장소 안에 잘못 만들어도 올라가지 않게
|
|
/ops/*.env
|
|
/ops/restic-password
|
|
# 업로드 파일 (로컬 저장) — 코드가 아니다
|
|
backend/uploads/
|
|
# 대용량 첨부 파일 (11단계 — FILE_STORAGE_DIR 의 기본값 ./files, 볼륨을 붙이지 않은 개발 · 호스트 실행) — 코드가 아니다
|
|
backend/files/
|
|
|
|
# ==========================================
|
|
# 의존성/빌드 산출물
|
|
# ==========================================
|
|
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/
|