Quartz 웹 문서 사이트 배포
docs/를 그래프 뷰·백링크·검색이 있는 웹사이트로 배포한다.
비개발 직군의 “읽기” 진입점이 된다.
실제 구성 (2026-07-24 확정)
원래 가이드는 별도 site repo + GitHub Pages였으나 다음 이유로 변경했다:
- Tapplee org는 free 플랜 — private repo의 GitHub Pages 불가, 사내 한정 요건 위반.
- 별도 repo가 private인 이 repo를 checkout하려면 PAT 관리가 필요 — 같은 repo 안 워크플로우면 인증 문제가 없다.
확정 구성: 이 repo의 quartz-deploy.yml이 빌드 시점에 Quartz를 클론해 docs/를 content로 주입하고, Cloudflare Pages(tapple-docs.pages.dev)로 배포한다. Quartz 코드는 커밋하지 않으므로 repo는 가볍게 유지된다(“별도 repo” 원칙의 목적 유지).
- 콘텐츠는 허브
docs/전체 — ADR-0003 중앙화로 BE·FE 지식 문서가docs/be/·docs/fe/에 있으므로 별도 aggregate 없이 한 사이트·한 그래프. (CLAUDE.md·레포 작업 문서는 사이트에 없음) templates/,_private/,.obsidian은 Quartz 기본 ignorePatterns로 제외- 모든 응답에
X-Robots-Tag: noindex— Access 잠금 전 이중 안전장치 - 시크릿이 없으면 배포 자체를 스킵 — 접근 제어 설정 전에 사이트가 뜨는 일 없음
최초 연결 (1회, 관리자)
-
Cloudflare 계정에서 API 토큰 생성: My Profile → API Tokens → Create Token → “Edit Cloudflare Workers” 템플릿 또는 Custom(권한: Account.Cloudflare Pages Edit). Account ID는 대시보드 우측에서 복사.
-
repo 시크릿 등록:
gh secret set CLOUDFLARE_API_TOKEN -R Tapplee/tapple-docs gh secret set CLOUDFLARE_ACCOUNT_ID -R Tapplee/tapple-docs -
첫 배포 실행:
gh workflow run "Quartz Deploy" -R Tapplee/tapple-docs -
배포 직후 접근 제어 잠금 (아래) — 이거 전까지 URL 공유 금지.
접근 제어 — Cloudflare Access (사내 한정)
Zero Trust는 50인까지 무료.
- Cloudflare 대시보드 → Zero Trust → Access → Applications → Add an application → Self-hosted
- Application domain:
tapple-docs.pages.dev(경로 전체) - Policy: Allow → Include → Emails ending in 회사 도메인 (또는 개별 이메일 목록)
- 저장 후 시크릿 창에서 접속 확인 — 이메일 OTP 로그인 화면이 나오면 잠금 성공
이후에는 docs/ 변경이 main에 push될 때마다 자동 재배포된다.