Gitea 도메인을 inouter.com으로 통합. DNS, BunnyCDN, HTTPRoute, Helm values, CoreDNS, 컨테이너 이미지 경로 모두 변경 완료.
131 lines
5.6 KiB
Markdown
131 lines
5.6 KiB
Markdown
---
|
|
title: Claude Code 설정 및 인스트럭션
|
|
updated: 2026-03-25
|
|
tags: [claude-code, setup, memory, openmemory]
|
|
---
|
|
|
|
## 기본 설정
|
|
|
|
- 모르거나 애매한 경우 항상 최신 문서를 찾아 참고할 것
|
|
- incus remote로 jp1 / kr1 / kr2 / hp2 의 api를 이용중이고 project를 사용중
|
|
- docker와 ghcr 리모트가 이미 등록되어 있어 OCI 사용 가능
|
|
|
|
## 터미널 환경
|
|
|
|
- Fish shell (명령어 문법 주의)
|
|
- ssh=tssh alias
|
|
- 플랫폼: Linux (Debian 13)
|
|
|
|
## MCP 설정
|
|
|
|
### 설정 파일 위치
|
|
|
|
- 글로벌 설정: `~/.claude.json` → `projects.{프로젝트경로}.mcpServers` 섹션
|
|
- 프로젝트 공유 설정: 프로젝트 루트의 `.mcp.json`
|
|
- 사용자 설정: `~/.claude/settings.json`
|
|
- CLI 확인: `claude mcp list`, `claude mcp get <서버이름>`
|
|
|
|
### 등록된 MCP 서버 (2026-03-25 기준)
|
|
|
|
| 서버 | 타입 | 엔드포인트 | 용도 |
|
|
|------|------|-----------|------|
|
|
| incus | npx | `@ironclads/incus-mcp@latest` | Incus 인스턴스 관리 |
|
|
| kubernetes | npx | `mcp-server-kubernetes` | K8s 클러스터 관리 |
|
|
| nocodb | mcp-remote | `nocodb.inouter.com/mcp` | NocoDB 데이터베이스 |
|
|
| bunnycdn | HTTP | `bunnycdn-mcp.inouter.com/mcp` | BunnyCDN 관리 |
|
|
| openmemory | SSE | K3s openmemory ns | 장기기억 시멘틱 검색 |
|
|
| aws-core | uvx | `awslabs.core-mcp-server@latest` | AWS 리소스 관리 |
|
|
| context7 | npx | `@upstash/context7-mcp` | 라이브러리 문서 검색 |
|
|
| Google Calendar | claude.ai | `gcal.mcp.claude.com` | 구글 캘린더 |
|
|
| Gmail | claude.ai | `gmail.mcp.claude.com` | 지메일 |
|
|
| Cloudflare | claude.ai | `bindings.mcp.cloudflare.com` | Cloudflare 플랫폼 |
|
|
|
|
### Vault MCP 상세
|
|
|
|
- 위치: jp1 Incus default 프로젝트 vault 컨테이너
|
|
- vault-mcp-server v0.2.0 (Go, systemd, port 8080)
|
|
- 엔드포인트: `http://10.253.101.58:8080/mcp`
|
|
- 마운트된 엔진: `secret/` (KV), `ssh-client-signer/` (SSH)
|
|
- 주요 용도: 시크릿 관리, PKI 인증서 발급, SSH 서명
|
|
|
|
## 장기기억 (2계층 시스템)
|
|
|
|
Obsidian + [[openmemory|OpenMemory]]를 조합한 2계층 장기기억 시스템.
|
|
|
|
### 계층 구조
|
|
|
|
```
|
|
┌─────────────────────────────────────────────┐
|
|
│ 장기기억 시스템 │
|
|
├──────────────────┬──────────────────────────┤
|
|
│ Obsidian │ OpenMemory (Mem0) │
|
|
│ ~/obsidian │ K3s openmemory ns │
|
|
├──────────────────┼──────────────────────────┤
|
|
│ 구조화된 지식 정본 │ 시멘틱 검색용 인덱스 │
|
|
│ 마크다운 + git │ 벡터 DB (Qdrant) │
|
|
│ 사람 + AI 소비 │ AI 전용 소비 │
|
|
│ 키워드/경로 검색 │ 시멘틱 유사도 검색 │
|
|
│ Gitea 동기화 │ 로컬 전용 │
|
|
└──────────────────┴──────────────────────────┘
|
|
```
|
|
|
|
### Obsidian (1계층: 구조화된 지식)
|
|
|
|
Gitea 저장소: `gitea.inouter.com/kaffa/obsidian`
|
|
|
|
**Vault 구조**:
|
|
- `infra/` — 인프라 설정, 네트워크, 서비스 운영 정보
|
|
- `products/` — 제품 기획, 요금, 법률/세무
|
|
- `services/` — 외부 서비스 연동 ([[gitea]], [[telegram-bot]], [[twilio]], [[aws-ses]])
|
|
- `openclaw/` — OpenClaw 에이전트 시스템
|
|
- `dev/` — 개발 환경, 도구 설정
|
|
|
|
**저장 대상**: 인프라 변경, 서비스 설정, 운영 절차, 제품 기획, 트러블슈팅 솔루션
|
|
|
|
**작성 규칙**:
|
|
- frontmatter: `title`, `updated` (YYYY-MM-DD), `tags`
|
|
- 위키링크 `[[파일명]]`, `##` 섹션 헤더
|
|
- git workflow: `pull --rebase` → `add` → `commit` → `push`
|
|
- conflict 시 자동 해결 금지
|
|
|
|
### OpenMemory (2계층: 시멘틱 메모리)
|
|
|
|
K3s openmemory 네임스페이스 (MCP SSE)
|
|
|
|
**용도**: Obsidian 정본의 시멘틱 검색 인덱스. 키워드/개념을 벡터로 저장하여 관련 Obsidian 파일을 빠르게 찾는 역할.
|
|
|
|
**저장 대상**: 결정사항과 이유, 사용자 선호도, 시스템 quirks, 프로젝트 맥락, 패턴
|
|
|
|
**작성 규칙**:
|
|
- 한 메모리 = 하나의 핵심 정보 (검색 정확도 향상)
|
|
- 컨텍스트 포함: "X를 했다" → "Y 때문에 X를 했다"
|
|
- 날짜 중요 시 절대 날짜 포함 (예: "2026-03-25 기준")
|
|
- Obsidian 파일 경로 포함 (시멘틱 검색 → 정본 참조 흐름)
|
|
- 저장 전 `search_memory`로 중복 확인
|
|
|
|
### 읽기 우선순위
|
|
|
|
1. **Obsidian** — 인프라/서비스/제품 정보 (구조화된 정본)
|
|
2. **OpenMemory** — 결정 맥락, 선호도, 과거 인사이트 (시멘틱 검색)
|
|
3. **HashiCorp Vault** — 시크릿, 인증 정보
|
|
|
|
### 세션 시작 시
|
|
|
|
1. `~/obsidian` git pull --rebase로 최신화
|
|
2. 없으면 [[vault]](`secret/gitea`)에서 토큰 읽어 clone
|
|
3. 현재 작업 관련 OpenMemory `search_memory` 조회
|
|
|
|
### 기억 저장 시점
|
|
|
|
- 중요한 작업 완료 후 (설정 변경, 트러블슈팅 해결 등)
|
|
- 새로운 인프라/서비스 정보를 알게 되었을 때
|
|
- 사용자가 "기억해" 요청 시
|
|
- 기존 정보 변경 시 (IP, 포트, 설정값 등)
|
|
- 아키텍처 결정 시 → Obsidian에 상세 + OpenMemory에 요약
|
|
|
|
## 주의사항
|
|
|
|
- 로컬 명령은 **항상 로컬 머신에서 실행** — 명시적 요청 없으면 원격 실행 금지
|
|
- 인프라 상태 확인 시 K8s + Incus 양쪽 모두 확인
|
|
- 서비스 위치, Incus 프로젝트, 상세 설정은 [[infra-hosts]] 참조
|