mirror of
https://github.com/supermemoryai/supermemory.git
synced 2026-09-07 08:26:15 +00:00
docs(self-hosting): hide platform-only config, document telemetry switch
Drop auth/CORS/storage URLs, OAuth login, extraction keys, AI Gateway, and DATABASE_URL from the configuration page — the binary ignores them. Add the SUPERMEMORY_DISABLE_TELEMETRY reference. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
21a96becf1
commit
fafdf0d286
3 changed files with 11 additions and 41 deletions
|
|
@ -15,9 +15,6 @@ The installer writes API keys to `~/.supermemory/env`, which is loaded on every
|
|||
|---|---|---|
|
||||
| `PORT` (or `SUPERMEMORY_PORT`) | HTTP listen port | `6767` |
|
||||
| `SUPERMEMORY_DATA_DIR` | Where the graph engine's data, auth secret, and model cache live | `./.supermemory` |
|
||||
| `BETTER_AUTH_URL` | Public base URL of the API (cookies + OAuth redirects) | `http://localhost:${PORT}` |
|
||||
| `FRONTEND_URL` | Allowed CORS origin for your UI | `*` |
|
||||
| `STORAGE_PUBLIC_URL` | Public base URL for file downloads | `${BETTER_AUTH_URL}/files` |
|
||||
|
||||
## LLM providers
|
||||
|
||||
|
|
@ -36,10 +33,10 @@ In production, Supermemory uses its own proprietary models tuned for long-horizo
|
|||
No key set? The server walks you through it. On first boot, an interactive setup wizard asks which provider you want, securely prompts for the key, and saves it encrypted — including a custom base URL and model name if you pick an OpenAI-compatible endpoint.
|
||||
</Tip>
|
||||
|
||||
With multiple providers configured, the first one in the order above is used. To get automatic fallback and caching across providers, add [Cloudflare AI Gateway](#llm-routing-cloudflare-ai-gateway).
|
||||
With multiple providers configured, the first one in the order above is used.
|
||||
|
||||
<Note>
|
||||
Image and video understanding require a Gemini or Vertex AI key, and high-fidelity PDF OCR uses Mistral or Gemini. Text ingestion, memory extraction, and search work with any provider.
|
||||
Image, video, and high-fidelity PDF understanding require a Gemini or Vertex AI key. Text ingestion, memory extraction, and search work with any provider.
|
||||
</Note>
|
||||
|
||||
### Fully offline with local models
|
||||
|
|
@ -62,29 +59,7 @@ OPENAI_MODEL=gpt-oss:20b
|
|||
|
||||
## File storage
|
||||
|
||||
Nothing to configure. Uploaded files (PDFs, images) are stored on local disk inside `$SUPERMEMORY_DATA_DIR` and served by the server at `/files/:key`. Use `STORAGE_PUBLIC_URL` if downloads should be served from a different public base URL (e.g. behind a reverse proxy).
|
||||
|
||||
## Login providers
|
||||
|
||||
The API key printed on first boot is all you need for programmatic access. These are only for browser-based login:
|
||||
|
||||
| Variable | Purpose |
|
||||
|---|---|
|
||||
| `BETTER_AUTH_SECRET` | Cookie signing secret (auto-generated and persisted if unset) |
|
||||
| `AUTH_GITHUB_ID` / `AUTH_GITHUB_SECRET` | GitHub OAuth login |
|
||||
| `AUTH_GOOGLE_ID` / `AUTH_GOOGLE_SECRET` | Google OAuth login |
|
||||
|
||||
## Content extraction
|
||||
|
||||
For ingesting web pages and PDFs with higher fidelity:
|
||||
|
||||
| Variable | Purpose |
|
||||
|---|---|
|
||||
| `JINA_API_KEY` | Jina Reader for URL → markdown |
|
||||
| `FIRECRAWL_API_KEY` | Firecrawl for URL extraction |
|
||||
| `MISTRAL_API_KEY` | Mistral OCR for scanned PDFs |
|
||||
|
||||
If no URL extractor key is set, URL ingestion falls back to Supermemory's hosted reader service. Set `JINA_API_KEY` or `FIRECRAWL_API_KEY` to keep URL extraction routed through your own accounts.
|
||||
Nothing to configure. Uploaded files (PDFs, images) are stored on local disk inside `$SUPERMEMORY_DATA_DIR` and served by the server at `/files/:key`.
|
||||
|
||||
## Embedding performance
|
||||
|
||||
|
|
@ -98,14 +73,13 @@ Local embeddings are prewarmed at startup with conservative defaults — one wor
|
|||
| `SUPERMEMORY_LOCAL_EMBEDDING_IDLE_TIMEOUT_MS` | Idle time before workers shut down | `120000` |
|
||||
| `SUPERMEMORY_SKIP_EMBEDDING_PREWARM` | Skip startup prewarm, load on first use | unset |
|
||||
|
||||
## LLM routing (Cloudflare AI Gateway)
|
||||
## Telemetry
|
||||
|
||||
Optionally route all LLM calls through Cloudflare AI Gateway. This also enables automatic fallback and caching across your configured providers:
|
||||
The self-hosted binary sends no analytics — there is nothing to opt out of. The only related switch:
|
||||
|
||||
| Variable | Purpose |
|
||||
|---|---|
|
||||
| `CLOUDFLARE_ACCOUNT_ID` | Cloudflare account ID |
|
||||
| `CLOUDFLARE_AI_GATEWAY_NAME` | Gateway name |
|
||||
| Variable | Purpose | Default |
|
||||
|---|---|---|
|
||||
| `SUPERMEMORY_DISABLE_TELEMETRY` | Set to `1` to also disable internal AI SDK telemetry instrumentation | unset |
|
||||
|
||||
## Platform-only features
|
||||
|
||||
|
|
@ -116,7 +90,7 @@ These exist in the codebase but are exclusive to the [hosted platform](https://c
|
|||
- **Optimized memory extraction** — the platform's extraction pipeline is tuned for higher quality at lower cost than bring-your-own-key
|
||||
- **Managed scale** — globally distributed infrastructure, no capacity planning
|
||||
|
||||
`DATABASE_URL` is also ignored: the self-hosted server always uses its embedded graph engine.
|
||||
Any other environment variables you may find referenced in the codebase are platform-only: the self-hosted binary ignores them even when set.
|
||||
|
||||
## Example: production-ish `.env`
|
||||
|
||||
|
|
@ -124,10 +98,6 @@ These exist in the codebase but are exclusive to the [hosted platform](https://c
|
|||
# Persistent data location
|
||||
SUPERMEMORY_DATA_DIR=/var/lib/supermemory
|
||||
|
||||
# Public URL (behind your reverse proxy / TLS)
|
||||
BETTER_AUTH_URL=https://memory.mycompany.com
|
||||
FRONTEND_URL=https://app.mycompany.com
|
||||
|
||||
# One LLM provider
|
||||
OPENAI_API_KEY=sk-...
|
||||
```
|
||||
|
|
|
|||
|
|
@ -15,7 +15,7 @@ Supermemory local — the self-hosted binary — is free, open source, and built
|
|||
|---|---|---|
|
||||
| **Memory engine** | Full graph engine, embedded | Full graph engine, managed |
|
||||
| **Models** | Bring your own key (any provider, incl. fully offline) | Proprietary models tuned for long-horizon data understanding |
|
||||
| **Authentication** | Single auto-generated API key, optional GitHub/Google login | Organization-wide authentication and access controls |
|
||||
| **Authentication** | Single auto-generated API key | Organization-wide authentication and access controls |
|
||||
| **Team access** | Single org on one machine | Multi-member organizations, roles, and scoped API keys |
|
||||
| **Observability** | Server logs | Control dashboard: usage analytics, ingestion monitoring, request logs |
|
||||
| **Control** | Env vars on your box | Org-wide settings, key management, and governance from the console |
|
||||
|
|
|
|||
|
|
@ -143,7 +143,7 @@ By default, all state lives in a single directory you can back up or move:
|
|||
|
||||
<CardGroup cols={2}>
|
||||
<Card title="Configuration" icon="settings" href="/self-hosting/configuration">
|
||||
LLM providers, file storage, OAuth login, performance tuning
|
||||
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
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue