# Configuration for fully local setup with Ollama and PostgreSQL
# MCP server runs as a separate container via 'docker run -i' command
services:
# Build the MCP bridge image (doesn't run, just builds)
mcp-bridge:
build:
context: .
dockerfile: Dockerfile.bridge
image: mem0mcp-bridge:latest
profiles: ["build-only"] # This prevents it from running in docker-compose up
postgres:
image: ankane/pgvector:v0.5.1
container_name: mem0-postgres
restart: unless-stopped
shm_size: "128mb"
networks:
- mem0-network
environment:
- POSTGRES_USER=postgres
- POSTGRES_PASSWORD=postgres
- POSTGRES_DB=postgres
healthcheck:
test: ["CMD", "pg_isready", "-q", "-d", "postgres", "-U", "postgres"]
interval: 5s
timeout: 5s
retries: 5
volumes:
- postgres_data:/var/lib/postgresql/data
ports:
- "5432:5432"
ollama:
image: ollama/ollama:latest
container_name: mem0-ollama
ports:
- "11434:11434"
volumes:
- ollama_data:/root/.ollama
networks:
- mem0-network
command: serve
healthcheck:
test: ["CMD", "ollama", "list"]
interval: 30s
timeout: 10s
retries: 5
start_period: 30s
volumes:
postgres_data:
ollama_data:
networks:
mem0-network:
driver: bridge