> ## Documentation Index
> Fetch the complete documentation index at: https://supermemory.ai/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Self-Hosting Quickstart

> From zero to your first memory in under two minutes.

## Install

<Tabs>
  <Tab title="curl">
    ```bash theme={null}
    curl -fsSL https://supermemory.ai/install | bash
    ```
  </Tab>

  <Tab title="npx">
    ```bash theme={null}
    npx supermemory local
    ```
  </Tab>

  <Tab title="bunx">
    ```bash theme={null}
    bunx supermemory local
    ```
  </Tab>
</Tabs>

The installer detects your OS and architecture, downloads the right binary, verifies it, and (when run interactively) prompts you for an LLM API key. Supported platforms: macOS (Apple Silicon & Intel), Linux (x64 & arm64).

## Run

```bash theme={null}
supermemory-server
```

First boot sets everything up — the embedded Supermemory graph engine, local embeddings, and your credentials:

```
  ┌──────────────────────────────────────────────────┐
  │  url       http://localhost:6767                 │
  │  database  ./.supermemory                        │
  │  api key   sm_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx     │
  │  org id    xxxxxxxxxxxxxxxxxxxxxx                │
  └──────────────────────────────────────────────────┘
```

Save that API key — it's your bearer token for every request.

<Note>
  In production, Supermemory runs proprietary models tuned for long-horizon data understanding. Self-hosted, you bring any model: if no provider key is set, first boot launches an interactive setup wizard — pick a provider (OpenAI, Anthropic, Gemini, Groq, or any OpenAI-compatible endpoint like Ollama), paste your key, and it's saved encrypted for every future launch. See [all providers](/self-hosting/configuration#llm-providers), including [fully-offline local models](/self-hosting/configuration#fully-offline-with-local-models).
</Note>

## Add your first memory

<Tabs>
  <Tab title="TypeScript">
    ```typescript theme={null}
    import Supermemory from "supermemory"

    const client = new Supermemory({
      apiKey: "sm_...",
      baseURL: "http://localhost:6767",
    })

    await client.memories.add({
      content: "I'm Dhravya. I love building dev tools and I'm allergic to peanuts.",
      containerTag: "user_dhravya",
    })
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    from supermemory import Supermemory

    client = Supermemory(
        api_key="sm_...",
        base_url="http://localhost:6767",
    )

    client.memories.add(
        content="I'm Dhravya. I love building dev tools and I'm allergic to peanuts.",
        container_tag="user_dhravya",
    )
    ```
  </Tab>

  <Tab title="curl">
    ```bash theme={null}
    curl http://localhost:6767/v3/documents \
      -H "Authorization: Bearer sm_..." \
      -H "Content-Type: application/json" \
      -d '{
        "content": "I am Dhravya. I love building dev tools and I am allergic to peanuts.",
        "containerTag": "user_dhravya"
      }'
    ```
  </Tab>
</Tabs>

## Search it

<Tabs>
  <Tab title="TypeScript">
    ```typescript theme={null}
    const results = await client.search.memories({
      q: "what food should I avoid?",
      containerTag: "user_dhravya",
    })
    ```
  </Tab>

  <Tab title="Python">
    ```python theme={null}
    results = client.search.memories(
        q="what food should I avoid?",
        container_tag="user_dhravya",
    )
    ```
  </Tab>

  <Tab title="curl">
    ```bash theme={null}
    curl http://localhost:6767/v3/search \
      -H "Authorization: Bearer sm_..." \
      -H "Content-Type: application/json" \
      -d '{
        "q": "what food should I avoid?",
        "containerTag": "user_dhravya"
      }'
    ```
  </Tab>
</Tabs>

That's it. Everything in the [Memory API](/quickstart) — documents, memories, user profiles, spaces, filtering — works identically against your local server.

## Where things live

By default, all state lives in a single directory you can back up or move:

| Path                                           | Contents                                                                |
| ---------------------------------------------- | ----------------------------------------------------------------------- |
| `./.supermemory/` (or `$SUPERMEMORY_DATA_DIR`) | The Supermemory graph engine's data, auth secret, embedding model cache |
| `~/.supermemory/env`                           | API keys saved by the installer, loaded on every launch                 |

## Next steps

<CardGroup cols={2}>
  <Card title="Configuration" icon="settings" href="/self-hosting/configuration">
    LLM providers, local models, performance tuning
  </Card>

  <Card title="Memory API" icon="book-open" href="/quickstart">
    The full API — it all works against your local server
  </Card>
</CardGroup>
