{
  "manifest_version": "1",
  "slug": "memdoor",
  "title": "Memdoor",
  "headline": "Run the Memdoor gateway on a remote server",
  "description": "Memdoor's gateway on an always-on exe.dev VM: reach it with `--gateway ssh://`, run open models through exe.dev with no API key, and watch from your phone.",
  "category": "ai-agents",
  "tags": [
    "memdoor",
    "memdoor gateway",
    "ssh gateway",
    "small models",
    "open-weight models",
    "ai coding agent",
    "remote coding agent",
    "glm",
    "kimi"
  ],
  "url": "https://exe.dev/deploy/memdoor",
  "markdown_url": "https://exe.dev/deploy/memdoor.md",
  "upstream": {
    "website": "https://memdoor.ai/",
    "source": "https://github.com/guregodevo/memdoor",
    "docs": "https://memdoor.ai/docs/gateway",
    "license": "Apache-2.0"
  },
  "example_vm_name": "my-memdoor",
  "time": "5 minutes",
  "stack": [
    {
      "name": "Memdoor gateway",
      "detail": "`memdoor gateway`, run by a systemd user service",
      "port": 8000,
      "data": "~/.memdoor"
    },
    {
      "name": "Open models",
      "detail": "GLM 5.3 Flash by default, through exe.dev's LLM integration"
    },
    {
      "name": "Your project",
      "detail": "a Git repository",
      "data": "~/project"
    }
  ],
  "access": [
    {
      "url": "memdoor --gateway ssh://exedev@my-memdoor.exe.xyz?port=8000",
      "who": "private",
      "what": "the Memdoor window and `memdoor run` on your computer, tunneled over ssh"
    },
    {
      "url": "https://my-memdoor.exe.xyz:8000/r/…",
      "who": "private",
      "what": "a /remote link, for watching and typing from your phone"
    }
  ],
  "delivers": [
    "Memdoor's gateway running as a systemd user service on port 8000, back after a reboot",
    "GLM 5.3 Flash through exe.dev's LLM integration, with no API key on the VM",
    "A Git repository at `~/project` and Memdoor's first account, ready for the ssh door"
  ],
  "deployable": true,
  "deploy": {
    "new_vm_url": "https://exe.dev/new?prompt=Set%20up%20Memdoor%20on%20this%20VM%20by%20following%20the%20exe.dev%20recipe%20at%20https%3A%2F%2Fexe.dev%2Fdeploy%2Fmemdoor.md%20from%20top%20to%20bottom.%0A%0AThe%20recipe%27s%20example%20VM%20name%20is%20my-memdoor.%20This%20VM%27s%20name%20is%20the%20output%20of%20%60hostname%60%3A%20use%20it%20wherever%20the%20recipe%20writes%20my-memdoor.%20Skip%20the%20step%20that%20creates%20the%20VM%3B%20you%20are%20on%20it.%0A%0AYou%20are%20done%20when%20all%20of%20these%20are%20true.%20Check%20each%20one%20yourself%3A%0A-%20Memdoor%27s%20gateway%20running%20as%20a%20systemd%20user%20service%20on%20port%208000%2C%20back%20after%20a%20reboot%0A-%20GLM%205.3%20Flash%20through%20exe.dev%27s%20LLM%20integration%2C%20with%20no%20API%20key%20on%20the%20VM%0A-%20A%20Git%20repository%20at%20%60~%2Fproject%60%20and%20Memdoor%27s%20first%20account%2C%20ready%20for%20the%20ssh%20door%0A%0ARun%20the%20VM-side%20commands%20in%20%22Set%20up%20the%20VM%22%20only%3B%20skip%20creating%20the%20VM.%0ARun%20the%20last%20command%20with%20%60%3C%2Fdev%2Fnull%60%20as%20written%3A%20%60memdoor%20run%60%20reads%0Apiped%20input%20as%20the%20task.%20Don%27t%20run%20%60memdoor%20connect%60%2C%20%60memdoor%20remote%60%20or%0A%60%2Fremote%60%2C%20and%20don%27t%20add%20keys%20to%20%60~%2F.memdoor%2Fenv%60.%20Verify%20that%0A%60memdoor%20--gateway%20http%3A%2F%2Flocalhost%3A8000%20gateway%20status%60%20says%20the%20gateway%0Ais%20answering%20and%20the%20service%20is%20active%2C%20and%20that%20the%20test%20run%20replied%20OK.%0ASkip%20the%20later%20sections%20and%20the%20FAQ.%20Finish%20by%20telling%20the%20owner%20to%20follow%0A%22Connect%20from%20your%20computer%22%20with%20this%20VM%27s%20name.%0A%0AFinish%20with%20the%20URLs%20I%20should%20open.%0A",
    "terminal": "curl -fsSL https://exe.dev/deploy/memdoor/prompt.txt | ssh exe.dev new --prompt=/dev/stdin",
    "prompt": "Set up Memdoor on this VM by following the exe.dev recipe at https://exe.dev/deploy/memdoor.md from top to bottom.\n\nThe recipe's example VM name is my-memdoor. This VM's name is the output of `hostname`: use it wherever the recipe writes my-memdoor. Skip the step that creates the VM; you are on it.\n\nYou are done when all of these are true. Check each one yourself:\n- Memdoor's gateway running as a systemd user service on port 8000, back after a reboot\n- GLM 5.3 Flash through exe.dev's LLM integration, with no API key on the VM\n- A Git repository at `~/project` and Memdoor's first account, ready for the ssh door\n\nRun the VM-side commands in \"Set up the VM\" only; skip creating the VM.\nRun the last command with `\u003c/dev/null` as written: `memdoor run` reads\npiped input as the task. Don't run `memdoor connect`, `memdoor remote` or\n`/remote`, and don't add keys to `~/.memdoor/env`. Verify that\n`memdoor --gateway http://localhost:8000 gateway status` says the gateway\nis answering and the service is active, and that the test run replied OK.\nSkip the later sections and the FAQ. Finish by telling the owner to follow\n\"Connect from your computer\" with this VM's name.\n\nFinish with the URLs I should open.\n",
    "prompt_url": "https://exe.dev/deploy/memdoor/prompt.txt"
  },
  "updated": "2026-11-02",
  "verified": "2026-11-02",
  "related": [
    "opencode",
    "pi",
    "herdr",
    "codex-remote-control",
    "deepseek-harness",
    "claude-code"
  ]
}
