mirror of
https://github.com/MODSetter/SurfSense.git
synced 2026-05-02 12:22:40 +02:00
feat: updated docs and fixed docker runtime vars injection
- Modified Dockerfile to use placeholder values for frontend environment variables, allowing for runtime substitution. - Enhanced entrypoint script to apply runtime environment variable configuration, replacing placeholders in JavaScript files with actual values. - Updated documentation paths in MDX files for Google OAuth images and added detailed setup guides for Discord, Linear, Notion, and Slack OAuth integrations.
This commit is contained in:
parent
ba54e1da06
commit
bd8821c489
28 changed files with 308 additions and 89 deletions
|
|
@ -3,30 +3,74 @@ title: Discord
|
|||
description: Connect your Discord servers to SurfSense
|
||||
---
|
||||
|
||||
# Discord Connector
|
||||
# Discord OAuth Integration Setup Guide
|
||||
|
||||
Index your Discord server conversations and content.
|
||||
This guide walks you through setting up a Discord OAuth integration for SurfSense.
|
||||
|
||||
## Prerequisites
|
||||
## Step 1: Create a New Discord Application
|
||||
|
||||
- A Discord account
|
||||
- Server admin permissions
|
||||
1. Navigate to [discord.com/developers/applications](https://discord.com/developers/applications)
|
||||
2. Click **"New Application"**
|
||||
3. Enter the application name: `SurfSense`
|
||||
4. Click **"Create"**
|
||||
|
||||
## Setup
|
||||
## Step 2: Configure General Information
|
||||
|
||||
1. Navigate to your Search Space settings
|
||||
2. Click on **Add Connector**
|
||||
3. Select **Discord** from the list
|
||||
4. Authorize SurfSense to access your Discord server
|
||||
5. Select the channels you want to index
|
||||
On the **General Information** page, fill in the details:
|
||||
|
||||
## What Gets Indexed
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| **App Icon** | Upload an icon (1024x1024px, PNG/GIF/JPG/WEBP, max 10MB) |
|
||||
| **Name** | `SurfSense` |
|
||||
| **Description** | Connect any LLM to your internal knowledge sources and chat with it in real time alongside your team. |
|
||||
| **Tags** | Add up to 5 tags (optional) |
|
||||
|
||||
- Text channel messages
|
||||
- Thread messages
|
||||
- Shared files and links
|
||||
You'll also see your **Application ID** and **Public Key** on this page.
|
||||
|
||||
## Sync Frequency
|
||||

|
||||
|
||||
The Discord connector supports scheduled syncing to keep your content up to date.
|
||||
## Step 3: Configure OAuth2 Settings
|
||||
|
||||
1. In the left sidebar, click **"OAuth2"**
|
||||
2. Copy your **Client ID** and **Client Secret** (click to reveal)
|
||||
3. Under **Redirects**, click **"Add Another"** and enter:
|
||||
```
|
||||
http://localhost:8000/api/v1/auth/discord/connector/callback
|
||||
```
|
||||
|
||||
> ⚠️ Keep **Public Client** disabled (off) since SurfSense uses a server to make requests.
|
||||
|
||||

|
||||
|
||||
## Step 4: Configure Bot Settings
|
||||
|
||||
1. In the left sidebar, click **"Bot"**
|
||||
2. Configure the **Authorization Flow**:
|
||||
- ✅ **Public Bot** - Enable to allow anyone to add the bot to servers
|
||||
|
||||
3. Enable **Privileged Gateway Intents**:
|
||||
- ✅ **Server Members Intent** - Required to receive GUILD_MEMBERS events
|
||||
- ✅ **Message Content Intent** - Required to receive message content
|
||||
|
||||
> ⚠️ Once your bot reaches 100+ servers, these intents will require verification and approval.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Running SurfSense with Discord Connector
|
||||
|
||||
Add the Discord environment variables to your Docker run command:
|
||||
|
||||
```bash
|
||||
docker run -d -p 3000:3000 -p 8000:8000 \
|
||||
-v surfsense-data:/data \
|
||||
# Discord Connector
|
||||
-e DISCORD_CLIENT_ID=your_discord_client_id \
|
||||
-e DISCORD_CLIENT_SECRET=your_discord_client_secret \
|
||||
-e DISCORD_REDIRECT_URI=http://localhost:8000/api/v1/auth/discord/connector/callback \
|
||||
-e DISCORD_BOT_TOKEN=http://localhost:8000/api/v1/auth/discord/connector/callback \
|
||||
--name surfsense \
|
||||
--restart unless-stopped \
|
||||
ghcr.io/modsetter/surfsense:latest
|
||||
```
|
||||
|
|
|
|||
|
|
@ -3,31 +3,65 @@ title: Linear
|
|||
description: Connect your Linear workspace to SurfSense
|
||||
---
|
||||
|
||||
# Linear Connector
|
||||
# Linear OAuth Integration Setup Guide
|
||||
|
||||
Sync your Linear issues, projects, and documentation to SurfSense.
|
||||
This guide walks you through setting up a Linear OAuth integration for SurfSense.
|
||||
|
||||
## Prerequisites
|
||||
## Step 1: Access Linear API Settings
|
||||
|
||||
- A Linear account
|
||||
- Access to the teams you want to connect
|
||||
1. Navigate to your workspace's API settings at `linear.app/<your-workspace>/settings/api`
|
||||
2. Under **OAuth Applications**, click **"+ New OAuth application"**
|
||||
|
||||
## Setup
|
||||

|
||||
|
||||
1. Navigate to your Search Space settings
|
||||
2. Click on **Add Connector**
|
||||
3. Select **Linear** from the list
|
||||
4. Authorize SurfSense to access your Linear workspace
|
||||
5. Select the teams and projects you want to index
|
||||
## Step 2: Create New Application
|
||||
|
||||
## What Gets Indexed
|
||||
Fill in the application details:
|
||||
|
||||
- Issues and sub-issues
|
||||
- Issue descriptions and comments
|
||||
- Project documentation
|
||||
- Roadmap items
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| **Application icon** | Upload an icon (at least 256x256px) |
|
||||
| **Application name** | `SurfSense` |
|
||||
| **Developer name** | `SurfSense` |
|
||||
| **Developer URL** | `https://www.surfsense.com/` |
|
||||
| **Description** | Connect any LLM to your internal knowledge sources and chat with it in real time alongside your team. |
|
||||
| **Callback URLs** | `http://localhost:8000/api/v1/auth/linear/connector/callback` |
|
||||
| **GitHub username** | Your GitHub username (optional) |
|
||||
|
||||
## Sync Frequency
|
||||
### Settings
|
||||
|
||||
The Linear connector supports scheduled syncing to keep your content up to date.
|
||||
- ✅ **Public** - Enable this to allow the application to be installed by other workspaces
|
||||
|
||||
Click **Create** to create the application.
|
||||
|
||||

|
||||
|
||||
## Step 3: Get OAuth Credentials
|
||||
|
||||
After creating the application, you'll see your OAuth credentials:
|
||||
|
||||
1. Copy your **Client ID**
|
||||
2. Copy your **Client Secret**
|
||||
|
||||
> ⚠️ Never share your client secret publicly.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Running SurfSense with Linear Connector
|
||||
|
||||
Add the Linear environment variables to your Docker run command:
|
||||
|
||||
```bash
|
||||
docker run -d -p 3000:3000 -p 8000:8000 \
|
||||
-v surfsense-data:/data \
|
||||
# Linear Connector
|
||||
-e LINEAR_CLIENT_ID=your_linear_client_id \
|
||||
-e LINEAR_CLIENT_SECRET=your_linear_client_secret \
|
||||
-e LINEAR_REDIRECT_URI=http://localhost:8000/api/v1/auth/linear/connector/callback \
|
||||
--name surfsense \
|
||||
--restart unless-stopped \
|
||||
ghcr.io/modsetter/surfsense:latest
|
||||
```
|
||||
|
||||
|
|
|
|||
|
|
@ -3,31 +3,82 @@ title: Notion
|
|||
description: Connect your Notion workspaces to SurfSense
|
||||
---
|
||||
|
||||
# Notion Connector
|
||||
# Notion OAuth Integration Setup Guide
|
||||
|
||||
Connect your Notion workspaces to index pages, databases, and content.
|
||||
This guide walks you through setting up a Notion OAuth integration for SurfSense.
|
||||
|
||||
## Prerequisites
|
||||
## Step 1: Access Notion Integrations
|
||||
|
||||
- A Notion account
|
||||
- Access to the workspaces you want to connect
|
||||
1. Navigate to [notion.so/profile/integrations](https://notion.so/profile/integrations)
|
||||
2. Click the **"New integration"** button
|
||||
|
||||
## Setup
|
||||

|
||||
|
||||
1. Navigate to your Search Space settings
|
||||
2. Click on **Add Connector**
|
||||
3. Select **Notion** from the list
|
||||
4. Authorize SurfSense to access your Notion workspace
|
||||
5. Select the pages and databases you want to index
|
||||
## Step 2: Configure New Integration
|
||||
|
||||
## What Gets Indexed
|
||||
Fill in the integration details:
|
||||
|
||||
- Pages and subpages
|
||||
- Database entries
|
||||
- Comments and discussions
|
||||
- Embedded content
|
||||
| Field | Value |
|
||||
|-------|-------|
|
||||
| **Integration Name** | `SurfSense` |
|
||||
| **Associated workspace** | Select your workspace |
|
||||
| **Type** | `Public` |
|
||||
| **Company name** | Your company name |
|
||||
| **Website** | Your website URL |
|
||||
| **Tagline** | Brief description |
|
||||
| **Privacy Policy URL** | Your privacy policy URL |
|
||||
| **Terms of Use URL** | Your terms of use URL |
|
||||
| **Email** | Your developer email |
|
||||
| **Logo** | Upload a 512x512 logo |
|
||||
|
||||
## Sync Frequency
|
||||
### OAuth Redirect URI
|
||||
|
||||
The Notion connector supports scheduled syncing to keep your content up to date.
|
||||
Under **OAuth domains & URIs**, set the **Redirect URI** to:
|
||||
|
||||
```
|
||||
http://localhost:8000/api/v1/auth/notion/connector/callback
|
||||
```
|
||||
|
||||
Click **Save** to create the integration.
|
||||
|
||||

|
||||
|
||||
## Step 3: Get OAuth Credentials & Configure Capabilities
|
||||
|
||||
After creating the integration, you'll see the configuration page with your credentials:
|
||||
|
||||
1. Copy your **OAuth Client ID**
|
||||
2. Copy your **OAuth Client Secret** (click Refresh if needed)
|
||||
|
||||
### Set Required Capabilities
|
||||
|
||||
Under **Content Capabilities**, enable:
|
||||
- ✅ Read content
|
||||
|
||||
Under **Comment Capabilities**, enable:
|
||||
- ✅ Read comments
|
||||
|
||||
Under **User Capabilities**, select:
|
||||
- 🔘 Read user information including email addresses
|
||||
|
||||
Click **Save** to apply the capabilities.
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Running SurfSense with Notion Connector
|
||||
|
||||
Add the Notion environment variables to your Docker run command:
|
||||
|
||||
```bash
|
||||
docker run -d -p 3000:3000 -p 8000:8000 \
|
||||
-v surfsense-data:/data \
|
||||
# Notion Connector
|
||||
-e NOTION_OAUTH_CLIENT_ID=your_notion_client_id \
|
||||
-e NOTION_OAUTH_CLIENT_SECRET=your_notion_client_secret \
|
||||
-e NOTION_REDIRECT_URI=http://localhost:8000/api/v1/auth/notion/connector/callback \
|
||||
--name surfsense \
|
||||
--restart unless-stopped \
|
||||
ghcr.io/modsetter/surfsense:latest
|
||||
```
|
||||
|
|
|
|||
|
|
@ -3,31 +3,89 @@ title: Slack
|
|||
description: Connect your Slack workspace to SurfSense
|
||||
---
|
||||
|
||||
# Slack Connector
|
||||
# Slack OAuth Integration Setup Guide
|
||||
|
||||
Index your Slack conversations and make them searchable.
|
||||
This guide walks you through setting up a Slack OAuth integration for SurfSense.
|
||||
|
||||
## Prerequisites
|
||||
## Step 1: Create a New Slack App
|
||||
|
||||
- A Slack workspace
|
||||
- Admin permissions to install apps
|
||||
1. Navigate to [api.slack.com/apps](https://api.slack.com/apps)
|
||||
2. Click **"Create New App"**
|
||||
3. Select **"From scratch"** to manually configure your app
|
||||
|
||||
## Setup
|
||||

|
||||
|
||||
1. Navigate to your Search Space settings
|
||||
2. Click on **Add Connector**
|
||||
3. Select **Slack** from the list
|
||||
4. Authorize SurfSense to access your Slack workspace
|
||||
5. Select the channels you want to index
|
||||
## Step 2: Name App & Choose Workspace
|
||||
|
||||
## What Gets Indexed
|
||||
1. Enter **App Name**: `SurfSense`
|
||||
2. Select the workspace to develop your app in
|
||||
3. Click **"Create App"**
|
||||
|
||||
- Public channel messages
|
||||
- Private channels (if authorized)
|
||||
- Thread replies
|
||||
- Shared files and links
|
||||
> ⚠️ You won't be able to change the workspace later. The workspace will control the app even if you leave it.
|
||||
|
||||
## Sync Frequency
|
||||

|
||||
|
||||
The Slack connector supports scheduled syncing to keep your conversations indexed.
|
||||
## Step 3: Get App Credentials
|
||||
|
||||
After creating the app, you'll be taken to the **Basic Information** page. Here you'll find your credentials:
|
||||
|
||||
1. Copy your **Client ID**
|
||||
2. Copy your **Client Secret** (click Show to reveal)
|
||||
|
||||
> ⚠️ Never share your app credentials publicly or include them in code repositories.
|
||||
|
||||

|
||||
|
||||
## Step 4: Configure Redirect URLs
|
||||
|
||||
1. In the left sidebar, click **"OAuth & Permissions"**
|
||||
2. Scroll down to **Redirect URLs**
|
||||
3. Click **"Add New Redirect URL"**
|
||||
4. Enter: `https://localhost:8000/api/v1/auth/slack/connector/callback`
|
||||
5. Click **"Add"**, then **"Save URLs"**
|
||||
|
||||

|
||||
|
||||
## Step 5: Configure Bot Token Scopes
|
||||
|
||||
On the same **OAuth & Permissions** page, scroll to **Scopes** and add the following **Bot Token Scopes**:
|
||||
|
||||
| OAuth Scope | Description |
|
||||
|-------------|-------------|
|
||||
| `channels:history` | View messages and other content in public channels |
|
||||
| `channels:read` | View basic information about public channels |
|
||||
| `groups:history` | View messages and other content in private channels |
|
||||
| `groups:read` | View basic information about private channels |
|
||||
| `im:history` | View messages and other content in direct messages |
|
||||
| `mpim:history` | View messages and other content in group direct messages |
|
||||
| `users:read` | View people in a workspace |
|
||||
|
||||
Click **"Add an OAuth Scope"** to add each scope.
|
||||
|
||||

|
||||
|
||||
## Step 6: Enable Public Distribution
|
||||
|
||||
1. In the left sidebar, click **"Manage Distribution"**
|
||||
2. Under **Share Your App with Other Workspaces**, ensure distribution is enabled
|
||||
3. You can use the **"Add to Slack"** button or **Sharable URL** to install the app
|
||||
|
||||

|
||||
|
||||
---
|
||||
|
||||
## Running SurfSense with Slack Connector
|
||||
|
||||
Add the Slack environment variables to your Docker run command:
|
||||
|
||||
```bash
|
||||
docker run -d -p 3000:3000 -p 8000:8000 \
|
||||
-v surfsense-data:/data \
|
||||
# Slack Connector
|
||||
-e SLACK_CLIENT_ID=your_slack_client_id \
|
||||
-e SLACK_CLIENT_SECRET=your_slack_client_secret \
|
||||
-e SLACK_REDIRECT_URI=https://localhost:8000/api/v1/auth/slack/connector/callback \
|
||||
--name surfsense \
|
||||
--restart unless-stopped \
|
||||
ghcr.io/modsetter/surfsense:latest
|
||||
```
|
||||
|
|
|
|||
|
|
@ -17,13 +17,13 @@ To set up Google OAuth:
|
|||
- **People API** (required for basic Google OAuth)
|
||||
- **Gmail API** (required if you want to use the Gmail connector)
|
||||
- **Google Calendar API** (required if you want to use the Google Calendar connector)
|
||||

|
||||

|
||||
3. Set up OAuth consent screen.
|
||||

|
||||

|
||||
4. Create OAuth client ID and secret.
|
||||

|
||||

|
||||
5. It should look like this.
|
||||

|
||||

|
||||
|
||||
---
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue