diff --git a/infra/brokkr.md b/infra/brokkr.md index 332d9be..f0c2043 100644 --- a/infra/brokkr.md +++ b/infra/brokkr.md @@ -1,6 +1,6 @@ --- title: Brokkr — 홈페이지 제작 에이전트 -updated: 2026-03-31 +updated: 2026-04-01 tags: [infra, agent, incus, claude-code] --- @@ -22,21 +22,64 @@ Brokkr는 홈페이지 제작 전담 에이전트. 북유럽 신화의 드워프 |------|------| | Claude Code | v2.1.87 | | Node.js | 22.22.2 | +| bun | 1.3.11 | | git | 2.47.3 | | jq | 1.7.1 | | uv | 최신 | | tmux | 3.5a | | Python | 3.13.5 | +| gcloud SDK | 563.0.0 | +| socat | 1.8.0.3 | + +## PATH 설정 + +`/root/.bashrc`에 추가됨: +``` +export PATH=/root/.bun/bin:/opt/google-cloud-sdk/bin:/root/.local/bin:$PATH +``` +bun은 `/usr/local/bin/bun`에도 심볼릭 링크. ## 설정 - SSH: root 키 인증 (kaffa@KaFFa-Mac-mini.lan) - tmux: dotfiles 기반 Dracula 테마, Debian 서버 환경 최적화 (`~/.tmux.conf`) -- Claude Code 실행: `claude --channels plugin:discord@claude-plugins-official` +- CLAUDE.md: 역할, 디자인 워크플로우, Figma/Stitch 사용법, 에셋 가이드 포함 + +## 실행 방법 + +```bash +# tmux 세션으로 실행 +tmux new -d -s brokkr 'export PATH=/root/.bun/bin:/opt/google-cloud-sdk/bin:/root/.local/bin:$PATH && claude --channels plugin:discord@claude-plugins-official' + +# 신뢰 확인 프롬프트 통과 +tmux send-keys -t brokkr Enter + +# 상태 확인 +tmux capture-pane -t brokkr -p +``` + +## MCP 서버 + +| MCP | 상태 | 용도 | +|-----|------|------| +| plugin:figma:figma | ✓ | Figma 디자인 읽기/쓰기 (OAuth, credentials.json에 토큰 저장) | +| plugin:context7:context7 | ✓ | 라이브러리 문서 조회 | +| plugin:playwright:playwright | ✓ | 브라우저 자동화 | +| outline | ✓ | Outline Wiki 문서 CRUD (API 키: Vault `secret/apps/outline`, 키명 brokkr-api-key) | +| stitch | ✓ | Google Stitch AI 디자인 (gcloud 인증 필요) | +| claude.ai Google Calendar | ✓ | 캘린더 | +| claude.ai Gmail | ✓ | 이메일 | +| claude.ai Cloudflare | ✓ | Cloudflare Workers/R2 | ## Discord 연결 -미설정. 봇 토큰은 Vault `secret/messaging/discord-claude-code`에 저장. OAuth 로그인 후 설정 필요. +| 항목 | 값 | +|------|-----| +| 봇 ID | 1488674138359857152 | +| 봇 토큰 | Vault `secret/messaging/discord-brokkr` | +| 채널 1 | 1488669324393578506 (brokkr 전용) | +| 채널 2 | 1488679091514380450 | +| 권한 | Send Messages, Read Message History, View Channels, Add Reactions | ## 담당 작업 @@ -45,7 +88,13 @@ Brokkr는 홈페이지 제작 전담 에이전트. 북유럽 신화의 드워프 - 기술 스택: Astro + Google Stitch + Tailwind CSS - 배포: cf-multisite (Gitea → R2 → Cloudflare Workers) +## 주의사항 + +- Figma OAuth 토큰은 `/root/.claude/.credentials.json`에 저장됨. 로컬 Mac keychain에서 복사한 토큰. +- gcloud 인증은 로컬에서 복사한 application_default_credentials.json 사용 + ## 관련 문서 - [[infra-hosts]] — 인프라 호스트 전체 - [[outline]] — Outline Wiki (기획서 위치) +- [[heimdall]] — 헤임달 에이전트 (인프라 관리) diff --git a/infra/infra-hosts.md b/infra/infra-hosts.md index 668b520..89dea05 100644 --- a/infra/infra-hosts.md +++ b/infra/infra-hosts.md @@ -19,7 +19,7 @@ tags: [infra, network, kr-zone, openwrt] | incus-hp2 | 100.100.52.34 | Incus+K3s 호스트 (서울) | Xeon E5-2670 32코어, 188GB RAM, K3s control-plane (LAN 192.168.9.134), default, inbest 프로젝트 | | openwrt-gw | 100.66.60.66 | OpenWrt 라우터 (서울) | HAProxy: 80/443 → Traefik hostPort (3노드), 9080/9443 → APISIX NodePort 30233/31137 (3노드) | | sandbox-tokyo | 100.79.87.48 | 테스트 서버 (도쿄, Linode) | vault-prod, wg-easy, nginx-tcp-proxy (Docker) | -| relay4wd | 100.103.161.4 | APISIX Gateway (서울, AWS Lightsail) | inbest 전용, Docker APISIX 3.15.0, Debian 12, nano $5/월, SSH: admin + lightsail.pem | +| relay4wd (sandbox-kr2) | 100.103.161.4 | APISIX Gateway (서울, AWS Lightsail) | 공인 52.79.45.166, inbest 포트포워딩, Docker APISIX 3.15.0, Debian 12, nano $5/월, SSH: `ssh -p 2222 admin@relay4wd` (Vault CA), 포트 22는 SFTPGo 리다이렉트 | | synology | LAN 192.168.9.100 / 192.168.205.100 (2.5G) | NAS (시놀로지) | Tailscale 미사용, LAN 접근 | ## 서울 K3s 클러스터