docs: OpenMemory K3s 배포 및 kaniko 업데이트 절차 추가 (v1.0.8)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
---
|
||||
title: OpenMemory (Mem0)
|
||||
updated: 2026-03-14
|
||||
updated: 2026-03-28
|
||||
tags:
|
||||
- service
|
||||
- ai
|
||||
@@ -55,23 +55,86 @@ DB: SQLite(`openmemory.db`) + Qdrant 벡터 스토어 이중 구조. Alembic으
|
||||
- **백업/복원**: 데이터 백업 내장
|
||||
- **다중 벡터 스토어**: Qdrant, pgvector, Redis, Milvus 등 8개 백엔드
|
||||
|
||||
## 설치
|
||||
## K3s 배포
|
||||
|
||||
K3s `openmemory` 네임스페이스에 배포. 매니페스트: `gitea.inouter.com/kaffa/k3s-config` → `openmemory/resources.yaml`
|
||||
|
||||
| 컴포넌트 | 이미지 | 상태 |
|
||||
|----------|--------|------|
|
||||
| openmemory-mcp | `gitea.inouter.com/kaffa/openmemory-mcp:1.0.8` | Deployment, imagePullPolicy: Always |
|
||||
| openmemory-ui | `mem0/openmemory-ui:latest` | Deployment |
|
||||
| qdrant | `qdrant/qdrant:latest` | Deployment |
|
||||
|
||||
| 항목 | 값 |
|
||||
|------|-----|
|
||||
| MCP SSE | `https://mem0.inouter.com/mcp/claude-code/sse/kaffa` |
|
||||
| UI | `https://mem0.inouter.com` (HTTPRoute 경유) |
|
||||
| API 문서 | `https://mem0.inouter.com/docs` |
|
||||
| DB | SQLite (`openmemory.db`, PVC `openmemory-data`) + Qdrant 벡터 |
|
||||
| Secret | `openmemory-secrets` (OPENAI_API_KEY) |
|
||||
| Registry | `gitea-registry` (imagePullSecrets) |
|
||||
|
||||
### 업데이트 절차
|
||||
|
||||
kaniko Job으로 GitHub 소스에서 빌드 → Gitea 레지스트리 push → Deployment 이미지 태그 변경:
|
||||
|
||||
```bash
|
||||
# 1. kaniko 빌드 (K3s 내에서 실행)
|
||||
cat <<'EOF' | kubectl apply -f -
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: build-openmemory
|
||||
namespace: openmemory
|
||||
spec:
|
||||
backoffLimit: 0
|
||||
ttlSecondsAfterFinished: 300
|
||||
template:
|
||||
spec:
|
||||
containers:
|
||||
- name: kaniko
|
||||
image: gcr.io/kaniko-project/executor:latest
|
||||
args:
|
||||
- "--context=git://github.com/mem0ai/mem0.git#refs/heads/main"
|
||||
- "--context-sub-path=openmemory/api"
|
||||
- "--destination=gitea.inouter.com/kaffa/openmemory-mcp:latest"
|
||||
- "--destination=gitea.inouter.com/kaffa/openmemory-mcp:NEW_VERSION"
|
||||
volumeMounts:
|
||||
- name: docker-config
|
||||
mountPath: /kaniko/.docker/
|
||||
volumes:
|
||||
- name: docker-config
|
||||
secret:
|
||||
secretName: gitea-registry
|
||||
items:
|
||||
- key: .dockerconfigjson
|
||||
path: config.json
|
||||
restartPolicy: Never
|
||||
EOF
|
||||
|
||||
# 2. 빌드 완료 확인
|
||||
kubectl logs -f job/build-openmemory -n openmemory
|
||||
|
||||
# 3. 이미지 전환
|
||||
kubectl set image deploy/openmemory-mcp -n openmemory \
|
||||
openmemory-mcp=gitea.inouter.com/kaffa/openmemory-mcp:NEW_VERSION
|
||||
|
||||
# 4. MCP 재연결 (Claude Code에서 /mcp 실행)
|
||||
```
|
||||
|
||||
### 설치 (최초, docker-compose 방식)
|
||||
|
||||
```bash
|
||||
# 원클릭 설치
|
||||
export OPENAI_API_KEY=sk-xxx
|
||||
curl -sL https://raw.githubusercontent.com/mem0ai/mem0/main/openmemory/run.sh | bash
|
||||
|
||||
# 수동 설치
|
||||
# 또는 수동
|
||||
git clone https://github.com/mem0ai/mem0.git
|
||||
cd mem0/openmemory
|
||||
make env # .env 템플릿 복사
|
||||
make build # Docker 이미지 빌드
|
||||
make up # 서비스 시작
|
||||
make env && make build && make up
|
||||
```
|
||||
|
||||
**지원 벡터 스토어** (`--vector-store=` 플래그):
|
||||
Qdrant(기본), Weaviate, Redis, PostgreSQL(pgvector), Chroma, Milvus, Elasticsearch, FAISS
|
||||
**지원 벡터 스토어**: Qdrant(기본), Weaviate, Redis, pgvector, Chroma, Milvus, Elasticsearch, FAISS
|
||||
|
||||
## Makefile 명령어
|
||||
|
||||
|
||||
Reference in New Issue
Block a user