2026-07-14 15:25:13 +03:00
|
|
|
|
# Portainer stack: ai-memory-network (deploy з git-репозиторію, build у Portainer)
|
|
|
|
|
|
# Дані БД — на датасеті homeLab/portainer/apps/ai_memory_network
|
2026-07-14 15:16:20 +03:00
|
|
|
|
services:
|
|
|
|
|
|
ai-memory-server:
|
2026-07-14 15:25:13 +03:00
|
|
|
|
build:
|
|
|
|
|
|
context: .
|
2026-07-14 15:16:20 +03:00
|
|
|
|
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
|
2026-07-14 15:25:13 +03:00
|
|
|
|
healthcheck:
|
|
|
|
|
|
test: ["CMD", "wget", "-qO-", "http://localhost:8767/healthz"]
|
|
|
|
|
|
interval: 30s
|
|
|
|
|
|
timeout: 10s
|
|
|
|
|
|
retries: 3
|
2026-07-14 15:16:20 +03:00
|
|
|
|
|
|
|
|
|
|
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:
|
2026-07-14 15:25:13 +03:00
|
|
|
|
# У postgres:18 PGDATA переїхав у /var/lib/postgresql/<major>/docker —
|
|
|
|
|
|
# монтуємо батьківський каталог, інакше дані лишаться поза датасетом
|
|
|
|
|
|
- /mnt/homeLab/portainer/apps/ai_memory_network/db-data:/var/lib/postgresql
|
2026-07-14 15:16:20 +03:00
|
|
|
|
healthcheck:
|
|
|
|
|
|
test: ["CMD-SHELL", "pg_isready -U ai_memory -d ai_memory"]
|
|
|
|
|
|
interval: 5s
|
|
|
|
|
|
timeout: 5s
|
|
|
|
|
|
retries: 10
|