Persistent Memory Proxy for Ollama - Gives your AI conversations lasting memory
2.1K
Vera (Latin): True — True AI Memory
Vera-AI is a transparent proxy for Ollama that adds persistent memory using Qdrant vector storage. It sits between your AI client and Ollama, automatically augmenting conversations with relevant context from previous sessions.
Every conversation is remembered.
Client → Vera-AI:11434 → Ollama:11434 → Response
↓
Qdrant:6333
↓
Memory Storage
# Pull from Docker Hub
docker pull mdkrushr/vera-ai:latest
# Run with Ollama and Qdrant
docker run -d \
--name VeraAI \
--restart unless-stopped \
--network host \
-e APP_UID=$(id -u) \
-e APP_GID=$(id -g) \
-e TZ=America/Chicago \
-v ./config/config.toml:/app/config/config.toml:ro \
-v ./prompts:/app/prompts:rw \
-v ./logs:/app/logs:rw \
mdkrushr/vera-ai:latest
| Service | Description |
|---|---|
| Ollama | LLM inference server (curl https://ollama.ai/install.sh | sh) |
| Qdrant | Vector database (docker run -d -p 6333:6333 qdrant/qdrant) |
| Docker | Container runtime |
curl https://ollama.ai/install.sh | sh
ollama pull snowflake-arctic-embed2 # Embedding model
ollama pull llama3.1 # Chat model
| Feature | Description |
|---|---|
| 🧠 Persistent Memory | Conversations stored in Qdrant |
| 📅 Daily Curation | Automatic memory cleanup |
| 🔍 4-Layer Context | System + semantic + recent + current |
| 👤 Configurable UID/GID | Match container user to host |
| 🌍 Timezone Support | Scheduler runs in your timezone |
| Variable | Default | Description |
|---|---|---|
APP_UID | 999 | Container user ID |
APP_GID | 999 | Container group ID |
TZ | UTC | Container timezone |
VERA_DEBUG | false | Enable debug logging |
[general]
ollama_host = "http://127.0.0.1:11434"
qdrant_host = "http://127.0.0.1:6333"
qdrant_collection = "memories"
embedding_model = "snowflake-arctic-embed2"
debug = false
[layers]
semantic_token_budget = 25000
context_token_budget = 22000
semantic_search_turns = 2
semantic_score_threshold = 0.6
[curator]
run_time = "02:00"
full_run_time = "03:00"
full_run_day = 1
curator_model = "llama3.1"
| Endpoint | Method | Description |
|---|---|---|
/ | GET | Health check |
/api/chat | POST | Chat completion (with memory) |
/api/tags | GET | List models |
/curator/run | POST | Trigger curator manually |
# Health check
curl http://localhost:11434/
# Expected: {"status":"ok","ollama":"reachable"}
# Test chat
curl -X POST http://localhost:11434/api/chat \
-H "Content-Type: application/json" \
-d '{"model":"llama3.1","messages":[{"role":"user","content":"hello"}],"stream":false}'
GitHub: https://github.com/speedyfoxai/vera-ai
MIT License - Brought to you by SpeedyFoxAi
Content type
Image
Digest
sha256:ae30b62a1…
Size
90.6 MB
Last updated
7 months ago
docker pull mdkrushr/vera-ai