Botmem is a self-hosted personal memory/RAG system. It ingests events from multiple data sources, normalizes them into memories and people, and provides cross-modal search and retrieval over your own data. LinksProject: https://github.com/botmem/botmem Container image: ghcr.io/botmem/botmem:latest Template: botmem.xml Icon: botmem-icon.png Unraid docs: unraid/README.md License: AGPL-3.0 What It DoesBotmem is built for people who want to own and search their personal data locally. It can ingest messages, email, photos, locations, and connector data, then turn them into a unified memory graph with searchable text, people, entities, timestamps, and source links. Local-first web app and API on port 12412 Connector sync workers for self-hosted installs Memory extraction, embedding, enrichment, and search Local auth for self-hosted users Optional plugin directory support Ollama by default, with optional Gemini or OpenRouter configuration RequirementsPostgreSQL 16+ with pgvector Redis 7+ One AI backend: Ollama, Gemini, or OpenRouter The repo includes a companion compose file for PostgreSQL and Redis. It exposes PostgreSQL on host.docker.internal:15432 and Redis on host.docker.internal:16379, which are the defaults in the Unraid template. Required Template ValuesGenerate secrets before first start: openssl rand -base64 48 openssl rand -base64 32 Set APP_SECRET, JWT_ACCESS_SECRET, JWT_REFRESH_SECRET, OAUTH_JWT_SECRET, and ENCRYPTION_SALT. Keep AUTH_PROVIDER=local for self-hosted installs. Keep BOTMEM_ENABLE_API_WORKERS=true for single-container self-hosted installs so sync and memory workers run inside the Botmem app container. Ollama SetupIf using Ollama, set: AI_BACKEND=ollama OLLAMA_BASE_URL=http://host.docker.internal:11434 OLLAMA_EMBED_MODEL=mxbai-embed-large OLLAMA_TEXT_MODEL=qwen3:8b OLLAMA_VL_MODEL=qwen3-vl:4b Pull the models first: ollama pull mxbai-embed-large, ollama pull qwen3:8b, and ollama pull qwen3-vl:4b. You can use Gemini or OpenRouter instead by changing AI_BACKEND and providing the matching API key. First RunAfter starting the container, open http://<unraid-ip>:12412. You should land on the Botmem signup screen. Create a local user, save the recovery key, then connect a data source from the Connectors page. iMessage SynciMessage sync uses the Botmem CLI from a Mac that has access to the local Messages database: botmem config set-host http://<unraid-ip>:12412 botmem login botmem accounts --toon botmem sync <imessage-account-id> botmem search "imessage" --connector imessage --limit 5 --toon The sync is working when the job finishes, iMessage memories appear in the dashboard, people are resolved, and search returns the ingested messages. ScreenshotsThe screenshots below use Botmem's built-in demo tour data only. They do not contain private user data. Dashboard overview: demo graph and connector summary. Connectors setup: demo connector list and status page. Known NotesBotmem is currently beta. The data directory and plugin directory must be readable and writable by container uid 1000 where applicable. OAuth connectors may need provider credentials and redirect URL setup. Large first syncs can take time because memories are parsed, embedded, enriched, and indexed. SupportPost setup questions, logs, and feature requests in this thread. GitHub issues are also available at https://github.com/botmem/botmem/issues. Moderator note: I could not create this topic directly in Docker Containers because the forum only allows Community Developers to create new topics there. Please move this thread there if appropriate.