docs: OpenMemory K3s 배포 및 kaniko 업데이트 절차 추가 (v1.0.8)

This commit is contained in:
kappa
2026-03-28 13:41:19 +09:00
parent 92294c1435
commit d3c759e833

View File

@@ -1,6 +1,6 @@
--- ---
title: OpenMemory (Mem0) title: OpenMemory (Mem0)
updated: 2026-03-14 updated: 2026-03-28
tags: tags:
- service - service
- ai - ai
@@ -55,23 +55,86 @@ DB: SQLite(`openmemory.db`) + Qdrant 벡터 스토어 이중 구조. Alembic으
- **백업/복원**: 데이터 백업 내장 - **백업/복원**: 데이터 백업 내장
- **다중 벡터 스토어**: Qdrant, pgvector, Redis, Milvus 등 8개 백엔드 - **다중 벡터 스토어**: 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 ```bash
# 원클릭 설치
export OPENAI_API_KEY=sk-xxx export OPENAI_API_KEY=sk-xxx
curl -sL https://raw.githubusercontent.com/mem0ai/mem0/main/openmemory/run.sh | bash curl -sL https://raw.githubusercontent.com/mem0ai/mem0/main/openmemory/run.sh | bash
# 수동 설치 # 또는 수동
git clone https://github.com/mem0ai/mem0.git git clone https://github.com/mem0ai/mem0.git
cd mem0/openmemory cd mem0/openmemory
make env # .env 템플릿 복사 make env && make build && make up
make build # Docker 이미지 빌드
make up # 서비스 시작
``` ```
**지원 벡터 스토어** (`--vector-store=` 플래그): **지원 벡터 스토어**: Qdrant(기본), Weaviate, Redis, pgvector, Chroma, Milvus, Elasticsearch, FAISS
Qdrant(기본), Weaviate, Redis, PostgreSQL(pgvector), Chroma, Milvus, Elasticsearch, FAISS
## Makefile 명령어 ## Makefile 명령어