diff --git a/surfsense_web/content/docs/docker-installation.mdx b/surfsense_web/content/docs/docker-installation.mdx index 7d7d36909..3e87078e4 100644 --- a/surfsense_web/content/docs/docker-installation.mdx +++ b/surfsense_web/content/docs/docker-installation.mdx @@ -32,71 +32,70 @@ Before you begin, ensure you have: ## Installation Steps 1. **Configure Environment Variables** + Set up the necessary environment variables: - Set up the necessary environment variables: + **Linux/macOS:** - **Linux/macOS:** + ```bash + # Copy example environment files + cp surfsense_backend/.env.example surfsense_backend/.env + cp surfsense_web/.env.example surfsense_web/.env + ``` - ```bash - # Copy example environment files - cp surfsense_backend/.env.example surfsense_backend/.env - cp surfsense_web/.env.example surfsense_web/.env - ``` + **Windows (Command Prompt):** - **Windows (Command Prompt):** + ```cmd + copy surfsense_backend\.env.example surfsense_backend\.env + copy surfsense_web\.env.example surfsense_web\.env + ``` - ```cmd - copy surfsense_backend\.env.example surfsense_backend\.env - copy surfsense_web\.env.example surfsense_web\.env - ``` + **Windows (PowerShell):** - **Windows (PowerShell):** + ```powershell + Copy-Item -Path surfsense_backend\.env.example -Destination surfsense_backend\.env + Copy-Item -Path surfsense_web\.env.example -Destination surfsense_web\.env + ``` - ```powershell - Copy-Item -Path surfsense_backend\.env.example -Destination surfsense_backend\.env - Copy-Item -Path surfsense_web\.env.example -Destination surfsense_web\.env - ``` + Edit both `.env` files and fill in the required values: - Edit both `.env` files and fill in the required values: +**Backend Environment Variables:** - **Backend Environment Variables:** - - | ENV VARIABLE | DESCRIPTION | - | -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | - | DATABASE_URL | PostgreSQL connection string (e.g., `postgresql+asyncpg://postgres:postgres@localhost:5432/surfsense`) | - | SECRET_KEY | JWT Secret key for authentication (should be a secure random string) | - | GOOGLE_OAUTH_CLIENT_ID | Google OAuth client ID obtained from Google Cloud Console | - | GOOGLE_OAUTH_CLIENT_SECRET | Google OAuth client secret obtained from Google Cloud Console | - | NEXT_FRONTEND_URL | URL where your frontend application is hosted (e.g., `http://localhost:3000`) | - | EMBEDDING_MODEL | Name of the embedding model (e.g., `openai://text-embedding-ada-002`, `anthropic://claude-v1`, `mixedbread-ai/mxbai-embed-large-v1`) | - | RERANKERS_MODEL_NAME | Name of the reranker model (e.g., `ms-marco-MiniLM-L-12-v2`) | - | RERANKERS_MODEL_TYPE | Type of reranker model (e.g., `flashrank`) | - | FAST_LLM | LiteLLM routed smaller, faster LLM (e.g., `openai/gpt-4o-mini`, `ollama/deepseek-r1:8b`) | - | STRATEGIC_LLM | LiteLLM routed advanced LLM for complex tasks (e.g., `openai/gpt-4o`, `ollama/gemma3:12b`) | - | LONG_CONTEXT_LLM | LiteLLM routed LLM for longer context windows (e.g., `gemini/gemini-2.0-flash`, `ollama/deepseek-r1:8b`) | - | UNSTRUCTURED_API_KEY | API key for Unstructured.io service for document parsing | - | FIRECRAWL_API_KEY | API key for Firecrawl service for web crawling | - | TTS_SERVICE | Text-to-Speech API provider for Podcasts (e.g., `openai/tts-1`, `azure/neural`, `vertex_ai/`). See [supported providers](https://docs.litellm.ai/docs/text_to_speech#supported-providers) | +| ENV VARIABLE | DESCRIPTION | +| -------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| DATABASE_URL | PostgreSQL connection string (e.g., `postgresql+asyncpg://postgres:postgres@localhost:5432/surfsense`) | +| SECRET_KEY | JWT Secret key for authentication (should be a secure random string) | +| GOOGLE_OAUTH_CLIENT_ID | Google OAuth client ID obtained from Google Cloud Console | +| GOOGLE_OAUTH_CLIENT_SECRET | Google OAuth client secret obtained from Google Cloud Console | +| NEXT_FRONTEND_URL | URL where your frontend application is hosted (e.g., `http://localhost:3000`) | +| EMBEDDING_MODEL | Name of the embedding model (e.g., `openai://text-embedding-ada-002`, `anthropic://claude-v1`, `mixedbread-ai/mxbai-embed-large-v1`) | +| RERANKERS_MODEL_NAME | Name of the reranker model (e.g., `ms-marco-MiniLM-L-12-v2`) | +| RERANKERS_MODEL_TYPE | Type of reranker model (e.g., `flashrank`) | +| FAST_LLM | LiteLLM routed smaller, faster LLM (e.g., `openai/gpt-4o-mini`, `ollama/deepseek-r1:8b`) | +| STRATEGIC_LLM | LiteLLM routed advanced LLM for complex tasks (e.g., `openai/gpt-4o`, `ollama/gemma3:12b`) | +| LONG_CONTEXT_LLM | LiteLLM routed LLM for longer context windows (e.g., `gemini/gemini-2.0-flash`, `ollama/deepseek-r1:8b`) | +| UNSTRUCTURED_API_KEY | API key for Unstructured.io service for document parsing | +| FIRECRAWL_API_KEY | API key for Firecrawl service for web crawling | +| TTS_SERVICE | Text-to-Speech API provider for Podcasts (e.g., `openai/tts-1`, `azure/neural`, `vertex_ai/`). See [supported providers](https://docs.litellm.ai/docs/text_to_speech#supported-providers) | Include API keys for the LLM providers you're using. For example: - `OPENAI_API_KEY`: If using OpenAI models - `GEMINI_API_KEY`: If using Google Gemini models - **Optional LangSmith Observability:** - | ENV VARIABLE | DESCRIPTION | - |--------------|-------------| - | LANGSMITH_TRACING | Enable LangSmith tracing (e.g., `true`) | - | LANGSMITH_ENDPOINT | LangSmith API endpoint (e.g., `https://api.smith.langchain.com`) | - | LANGSMITH_API_KEY | Your LangSmith API key | - | LANGSMITH_PROJECT | LangSmith project name (e.g., `surfsense`) | +**Optional LangSmith Observability:** +| ENV VARIABLE | DESCRIPTION | +|--------------|-------------| +| LANGSMITH_TRACING | Enable LangSmith tracing (e.g., `true`) | +| LANGSMITH_ENDPOINT | LangSmith API endpoint (e.g., `https://api.smith.langchain.com`) | +| LANGSMITH_API_KEY | Your LangSmith API key | +| LANGSMITH_PROJECT | LangSmith project name (e.g., `surfsense`) | - **Optional LiteLLM API Base URLs:** - | ENV VARIABLE | DESCRIPTION | - |--------------|-------------| - | FAST_LLM_API_BASE | Custom API base URL for the fast LLM | - | STRATEGIC_LLM_API_BASE | Custom API base URL for the strategic LLM | - | LONG_CONTEXT_LLM_API_BASE | Custom API base URL for the long context LLM | +**Optional LiteLLM API Base URLs:** +| ENV VARIABLE | DESCRIPTION | +|--------------|-------------| +| FAST_LLM_API_BASE | Custom API base URL for the fast LLM | +| STRATEGIC_LLM_API_BASE | Custom API base URL for the strategic LLM | +| LONG_CONTEXT_LLM_API_BASE | Custom API base URL for the long context LLM | For other LLM providers, refer to the [LiteLLM documentation](https://docs.litellm.ai/docs/providers). diff --git a/surfsense_web/content/docs/manual-installation.mdx b/surfsense_web/content/docs/manual-installation.mdx index b2bffae1a..d72277a33 100644 --- a/surfsense_web/content/docs/manual-installation.mdx +++ b/surfsense_web/content/docs/manual-installation.mdx @@ -72,20 +72,20 @@ Edit the `.env` file and set the following variables: - For Google Gemini models: `GEMINI_API_KEY` - For other providers, refer to the [LiteLLM documentation](https://docs.litellm.ai/docs/providers) - **Optional LangSmith Observability:** - | ENV VARIABLE | DESCRIPTION | - |--------------|-------------| - | LANGSMITH_TRACING | Enable LangSmith tracing (e.g., `true`) | - | LANGSMITH_ENDPOINT | LangSmith API endpoint (e.g., `https://api.smith.langchain.com`) | - | LANGSMITH_API_KEY | Your LangSmith API key | - | LANGSMITH_PROJECT | LangSmith project name (e.g., `surfsense`) | +**Optional LangSmith Observability:** +| ENV VARIABLE | DESCRIPTION | +|--------------|-------------| +| LANGSMITH_TRACING | Enable LangSmith tracing (e.g., `true`) | +| LANGSMITH_ENDPOINT | LangSmith API endpoint (e.g., `https://api.smith.langchain.com`) | +| LANGSMITH_API_KEY | Your LangSmith API key | +| LANGSMITH_PROJECT | LangSmith project name (e.g., `surfsense`) | - **Optional LiteLLM API Base URLs:** - | ENV VARIABLE | DESCRIPTION | - |--------------|-------------| - | FAST_LLM_API_BASE | Custom API base URL for the fast LLM | - | STRATEGIC_LLM_API_BASE | Custom API base URL for the strategic LLM | - | LONG_CONTEXT_LLM_API_BASE | Custom API base URL for the long context LLM | +**Optional LiteLLM API Base URLs:** +| ENV VARIABLE | DESCRIPTION | +|--------------|-------------| +| FAST_LLM_API_BASE | Custom API base URL for the fast LLM | +| STRATEGIC_LLM_API_BASE | Custom API base URL for the strategic LLM | +| LONG_CONTEXT_LLM_API_BASE | Custom API base URL for the long context LLM | ### 2. Install Dependencies