Self-Hosted AI Memory in · shared project memory — local-first · offline-ready

Self-Hosted AI Memory in Dubai

Data residency answered in one line: ‘your datacenter.’ Run in-region, keep embeddings local via Ollama, pass the DPO review without drama. Free to self-host.

Hosted or self-hosted, same MCP/REST protocol. Start hosted in 2 minutes, move to your infra later with a config change — zero code change.

Start free — get briefed in 2 min

Free for 1 project · No card · Self-host or we host · No external API

acme/self-hosted-ai-memory
synchronized

context/main

memories 41

pinned 6

contributors 9

BRIEFING FOR NEW SESSION

What changed since your last pull

3 new
01
decision

Standardize on idempotent write endpoints

Source: architecture.md

02
pattern

Repository layer owns every database transaction

Source: pull request #214

03
bugfix

Refresh tokens rotate atomically under load

Source: auth/session.ts

Claude Code
Cursor
Windsurf

WHY IT MATTERS HERE

Why Dubai engineering teams choose MemHub

In Dubai, software teams ship faster when their tools share one memory instead of three silos. New engineers ramp in days because precedent is searchable, not oral history.

Because writes land locally first and synchronize later, flaky connections never block the work.

  • Built for Dubai: the Gulf’s re-export hub for enterprise software.
  • Local-first writes keep sessions productive through outages and travel.
  • One command onboards the whole team: memhub login, then connect for Claude Code, Cursor, Windsurf, Cline, Codex CLI, or any JSON client.

UNIVERSAL COMPATIBILITY

Plugs into any CLI or development tool you use.

If it speaks MCP or reads a JSON config, MemHub plugs in. One command wires the majors; everything else joins as a generic client.

  • Claude Code
  • Cursor
  • Windsurf
  • Cline
  • Codex CLI (GPT)
  • GitHub Copilot
  • Google Antigravity
  • Gemini CLI
  • Aider
  • OpenCode
  • CI bots via REST

WHAT YOU GET

Self-Hosted AI Memory in Dubai, without the trade-offs.

01

Backups you already run

Plain PostgreSQL — pg_dump, replicas, PITR fit your existing continuity plan.

02

Move without rewriting

Hosted and self-hosted speak identical MCP/REST — switch is config, not code.

03

Stay inside your boundary

One Docker Compose / Easypanel file — database never phones home, data never leaves.

04

Production posture day one

RLS policies, NOBYPASSRLS roles, transaction-local tenants — in the migrations, not a todo.

05

Answer the auditor fast

Append-only audit table with actor/reason/metadata — demos that bore the DPO (in a good way).

06

AI without the API bill

Start with FTS; flip on local Ollama for vectors — no external embedding vendor needed.

The honest comparison.

No feature-matrix gymnastics — just what changes the week you adopt MemHub.

Without MemHubWith MemHub
Context lives in heads and DMs → onboarding takes daysStructured, searchable memory → new dev/agent productive in minutes
Every agent re-learns the repo from scratchSessions open pre-briefed with only what changed — zero re-explaining
Rules files cap out at ~2k tokensUnbounded versioned history stays one query away — never cap again
Decisions re-litigated, bugs re-introducedPinned invariants prevent regressions — agents respect past calls

Keep your stack. Add shared memory.

One command for Claude Code, Cursor, Codex, Windsurf, Cline or any MCP client. No new editor. Setup in 2 minutes, works offline.

repository terminal

$ npm install --global @simplexlat/memhub

$ memhub login

✓ project resolved · context ready · memory synchronized

Questions, answered straight.

What do I need to self-host?

A host with Docker (or Easypanel) and a PostgreSQL 16 database with the pgvector extension. Migrations and seeds are one command each.

Is the hosted option still private?

Hosted memory is isolated per organization with row-level security, encrypted transport, and hashed credentials — but self-hosting remains the strongest guarantee because no third party operates the storage.

What happens when our connection drops?

Nothing interrupts the work. Writes commit to the local SQLite outbox and synchronize automatically when the shared service is reachable again.

Can we try it without sending data anywhere?

Yes — the local engine works fully offline, and the self-hosted stack keeps even the shared layer on your own PostgreSQL.

How much does it cost?

A Community tier is free, and the Team plan adds multi-project contexts, seats, and higher synchronization limits. Self-hosting is unlimited.

MORE LOCATIONS

EXPLORE OTHER USE CASES

THE NEXT SESSION STARTS HERE — 2 MIN SETUP

Stop rebuilding context.
Start shipping faster.

Create workspace — free