This guide is intended for enterprise customers only who have specifically opted for self-hosting as part of their enterprise plan. If you’re on a standard plan, please use our hosted API at console.supermemory.ai.

Prerequisites

Before you start, you’ll need to gather several API keys and set up accounts with various services. This comprehensive guide will walk you through obtaining each required component.

Enterprise Deployment Package

Your enterprise deployment package is provided by the supermemory team and contains:
  • Your unique Host ID (NEXT_PUBLIC_HOST_ID)
  • The compiled JavaScript bundle
  • The deployment script
Contact your supermemory enterprise representative to receive your deployment package.

Cloudflare

Create Account

  1. Go to cloudflare.com and create an account
  2. Your Account ID is the long randon string in the URL bar

Create API Token

  1. Navigate to Cloudflare API Tokens
  2. Click “Create Token”
  3. Use the “Custom token” template
  4. Configure the token with these permissions:
    • Account:AI Gateway:Edit
    • Account:Hyperdrive:Edit
    • Account:Workers KV Storage:Edit
    • Account:Workers R2 Storage:Edit
  5. Click “Continue to summary”“Create Token”
  6. Important: Copy and securely store the token immediately (it won’t be shown again)

Enable Workers

  1. In your Cloudflare dashboard, go to Workers & Pages
  2. If prompted, accept the Workers terms of service
  3. Choose a subdomain for your workers (e.g., yourcompany.workers.dev)
Your CLOUDFLARE_ACCOUNT_ID and CLOUDFLARE_API_TOKEN are now ready.

Database

You’ll need to provide a PostgreSQL connection string via the DATABASE_URL environment variable. The database must:
  • Support the pgvector extension for vector operations
  • Be accessible from Cloudflare Workers
  • Support SSL connections
  • Allow connections from Cloudflare’s IP ranges
Your connection string should follow this format:
postgresql://username:password@hostname:port/database

LLM Providers

OpenAI

  1. Go to platform.openai.com
  2. Sign in or create an account
  3. Navigate to API Keys in the left sidebar
  4. Click “Create new secret key”
  5. Name your key (e.g., “supermemory Self-Hosted”)
  6. Copy the key and store it securely
  7. Add billing information if you haven’t already

Anthropic

  1. Go to console.anthropic.com
  2. Create an account and complete verification
  3. Navigate to API Keys
  4. Click “Create Key”
  5. Name your key and copy it securely

Gemini

  1. Go to Google AI Studio
  2. Sign in with your Google account
  3. Click “Get API key”“Create API key”
  4. Choose an existing Google Cloud project or create a new one
  5. Copy your API key

Groq

  1. Go to console.groq.com
  2. Sign up for an account
  3. Navigate to API Keys
  4. Click “Create API Key”
  5. Name your key and copy it

Email Service Setup

Resend

  1. Go to resend.com and create an account
  2. Navigate to API Keys
  3. Click “Create API Key”
  4. Name your key (e.g., “supermemory Production”)
  5. Copy the key for RESEND_API_KEY
  6. Verify your sending domain in the Domains section

Connectors (Optional)

Google Drive

  1. Go to Google Cloud Console
  2. Create or select a project
  3. Enable the Google Drive API
  4. Go to CredentialsCreate CredentialsOAuth client ID
  5. Configure the OAuth consent screen if required
  6. Choose Web application
  7. Add authorized redirect URIs for your domain
  8. Copy GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET

Microsoft OneDrive

  1. Go to Azure Portal
  2. Navigate to Microsoft Entra IDApp registrations
  3. Click “New registration”
  4. Name your app and set redirect URI
  5. Go to Certificates & secretsNew client secret
  6. Copy the Application (client) ID and Client secret
  7. Use for MICROSOFT_CLIENT_ID and MICROSOFT_CLIENT_SECRET

Notion

  1. Go to Notion Developers
  2. Click “Create new integration”
  3. Fill in the integration details
  4. Copy the Internal Integration Token
  5. Set up OAuth if needed for user connections
  6. Use for NOTION_CLIENT_ID and NOTION_CLIENT_SECRET

Setup deployment files

Extract the deployment package provided by the supermemory team to your preferred directory:
# Extract the deployment package
$ unzip supermemory-enterprise-deployment.zip
$ cd supermemory-deployment

Configure environment variables

The deployment script reads all environment variables from your shell at runtime. We ship an example file that lists the full set supported by the worker.
# Copy the template and start editing
$ cp packages/alchemy/env.example .env

# Open the file in your editor of choice and fill in the blanks
$ $EDITOR .env
Below is a quick reference.
Required values are mandatory for a successful deploy – leave optional ones empty if you don’t need the related feature.
NameRequired?Description
NODE_ENVdevelopment, staging or production.
NEXT_PUBLIC_HOST_IDYour unique Host ID provided by the supermemory team.
BETTER_AUTH_SECRETRandom 32-byte string – run openssl rand -base64 32.
BETTER_AUTH_URLPublic base URL for the API (no trailing /). Example: https://api.example.com.
DATABASE_URLPostgres connection string (e.g. postgres://user:pass@host:5432/db).
CLOUDFLARE_ACCOUNT_IDYour Cloudflare account ID.
CLOUDFLARE_API_TOKENToken created in Prerequisites.
OPENAI_API_KEYKey from platform.openai.com.
RESEND_API_KEYE-mail provider key if you plan to send e-mails.
ANTHROPIC_API_KEYNeeded to use Claude models.
GEMINI_API_KEYKey for Google Gemini models.
GROQ_API_KEYKey for Groq models.
AUTH_GITHUB_ID / AUTH_GITHUB_SECRETEnable GitHub OAuth login.
AUTH_GOOGLE_ID / AUTH_GOOGLE_SECRETEnable Google OAuth login.
GOOGLE_CLIENT_ID / GOOGLE_CLIENT_SECRETNeeded for Google Drive connector.
MICROSOFT_CLIENT_ID / MICROSOFT_CLIENT_SECRETNeeded for OneDrive connector.
NOTION_CLIENT_ID / NOTION_CLIENT_SECRETNeeded for Notion connector.
CLOUDFLARE_AI_GATEWAY_NAME / CLOUDFLARE_AI_GATEWAY_TOKENOnly if you want to route requests through an AI Gateway.
SENTRY_DSNIf you use Sentry for error reporting.

Deploy

With your .env in place, run the deployment script:
# Run the deployment script provided in your package
$ bun ./deploy.ts

Updating Your Deployment

To update your supermemory deployment, follow the same process as the initial deployment described in the Deploy section above. You can reuse your existing .env file and add/remove any new environment variables as needed.