b1e73cc2c0
- TypeScript + @modelcontextprotocol/sdk, Streamable HTTP (stateless), API-ключ - Схема БД: projects, memories (FTS + vector 1024), memory_links, sessions - Інструменти: memory_* (save/query/get/update/delete/link/graph), project_* (list/create/get_state/save_state) - EmbeddingProvider абстракція (Null у фазі 1, Ollama bge-m3 у фазі 2) - Dockerfile + compose.yml (ai-memory-server + ai-memory-db pgvector/pgvector:pg18) - Оновлено нотатки: PostgreSQL 18 як сервіс у stack'у проекту Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
37 lines
1015 B
YAML
37 lines
1015 B
YAML
# Portainer stack: ai-memory-network
|
||
# Volumes у Portainer підмінити на bind до датасету homeLab/portainer/apps/ai-memory-network
|
||
services:
|
||
ai-memory-server:
|
||
build: .
|
||
container_name: ai-memory-server
|
||
restart: unless-stopped
|
||
ports:
|
||
- "8767:8767"
|
||
environment:
|
||
- PORT=8767
|
||
- DATABASE_URL=postgres://ai_memory:${POSTGRES_PASSWORD}@ai-memory-db:5432/ai_memory
|
||
- API_KEYS=${API_KEYS}
|
||
# Фаза 2: - OLLAMA_URL=${OLLAMA_URL}
|
||
depends_on:
|
||
ai-memory-db:
|
||
condition: service_healthy
|
||
|
||
ai-memory-db:
|
||
image: pgvector/pgvector:pg18
|
||
container_name: ai-memory-db
|
||
restart: unless-stopped
|
||
environment:
|
||
- POSTGRES_DB=ai_memory
|
||
- POSTGRES_USER=ai_memory
|
||
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
|
||
volumes:
|
||
- db-data:/var/lib/postgresql/data
|
||
healthcheck:
|
||
test: ["CMD-SHELL", "pg_isready -U ai_memory -d ai_memory"]
|
||
interval: 5s
|
||
timeout: 5s
|
||
retries: 10
|
||
|
||
volumes:
|
||
db-data:
|