Deploy ReMe

Self-evolving Markdown memory your AI agents share over MCP

Deploy ReMe

/data

Deploy and Host ReMe on Railway

ReMe is a self-evolving memory workspace for AI agents. It turns conversations and documents into ordinary Markdown notes with frontmatter and wikilinks, then retrieves them precisely with BM25, wikilink expansion and optional embeddings — so an agent recalls the relevant lines rather than loading a whole knowledge base into its context.

This template runs it on Railway with the workspace on a volume and the whole service behind a generated password, because ReMe has no authentication of its own. One service, one volume, a public domain.

About Hosting ReMe

ReMe is a single Python service. The HTTP API, a streamable-HTTP MCP endpoint at /mcp and the ReMe Studio web UI all share one port, so there is no database, no broker and no second container to wire up. Agents reach the same workspace over MCP, HTTP or the CLI, which is the point: one memory, many agents.

Everything durable is Markdown on the volume. You can read it, edit it in Studio, grep it, or pull it down and keep it — indexes and generated metadata rebuild themselves from the files.

The part this template has to supply is authentication. Upstream is unusually direct about it: the service binds loopback by default, CORS allows any origin, jobs may write, move or delete files, and "the service layer has no general-purpose user authentication". Its own guidance for remote use is to place it behind an authenticated reverse proxy — so that is what runs here, with ReMe left on 127.0.0.1 where upstream puts it.

Why Deploy ReMe on Railway?

  • One memory your agents can share, reachable from anywhere over MCP or HTTP instead of living on a single laptop.
  • It stays awake. Background indexing and scheduled consolidation keep running with no machine of your own left on.
  • No assembly. No database, no vector store, no second service.
  • Nothing is locked in. The workspace is Markdown on a volume; take it with you at any time.
  • Reproducible builds. Every dependency is hash-pinned, so a rebuild months from now installs exactly what was tested.

Common Use Cases

  • A shared long-term memory for coding agents and assistants that speak MCP.
  • A personal knowledge base that an agent maintains for you and you can still edit by hand.
  • Capturing conversations into durable notes and refining them over time.
  • A searchable workspace that several agent runtimes read and write at once.

Dependencies for ReMe Hosting

  • Nothing required. BM25 search, file operations and wikilink traversal all work with no credentials.
  • Optional: an LLM key for the features that generate and refine memory automatically.

Deployment Dependencies

Implementation Details

After deploying: copy REME_PASSWORD from the service's Variables tab, open the public domain and sign in as admin. That same credential authenticates the HTTP API and the MCP endpoint.

Why there is a proxy in front. ReMe is local-first by design and says so: no authentication in the service layer, CORS open to any origin, and jobs that can write, move or delete files. Upstream's instruction for remote access is to put it behind an authenticated reverse proxy rather than exposing it directly, and this template does exactly that — Railway terminates TLS at the edge, Caddy holds the credential, and ReMe keeps its default 127.0.0.1 bind so there is no configuration mistake that can publish the unauthenticated API. service.host=0.0.0.0 is deliberately never set.

Optional LLM key. LLM_API_KEY and LLM_BASE_URL enable auto_memory, auto_resource, auto_dream and proactive refresh — the features that turn raw conversation into refined notes. Leave them empty and ReMe still works as a searchable, agent-writable Markdown workspace. That took one fix to be true in a container: ReMe constructs its LLM client while the service starts, so an empty key aborts the boot before anything is served. The entrypoint supplies a placeholder when no key is configured, and model-backed jobs then fail at call time rather than at startup. Embeddings are off by default and need no key at all; enable them in the config if you want semantic retrieval alongside BM25.

Builds are reproducible. ReMe publishes no container image, so this one is built here and all 149 resolved packages are pinned with hashes in requirements.lock. pip --require-hashes refuses anything that does not match, so an upstream re-upload fails the build rather than quietly changing the image.

Notes. PORT is 8080 and the proxy follows it; the healthcheck is /healthz, answered by the proxy itself so it needs no credentials and exposes no ReMe route. If ReMe exits, the container exits and Railway restarts it, so a healthy check always means a serving service.

Licences

ReMe is Apache-2.0. Caddy is Apache-2.0. The template's glue is MIT.


Template Content

More templates in this category

View Template
Chat Chat
Chat Chat, your own unified chat and search to AI platform.

okisdev
116
View Template
stella
Self-host stella with web, API, Postgres, Redis, and object storage.

Jan Kubica
5
View Template
Hermes Agent | OpenClaw Alternative with Dashboard
Self-Hosted Hermes AI Agent for Telegram, Discord & Slack

codestorm
75