From 089eca5da71a69a0be11e9b3e7f63b33b89f14aa Mon Sep 17 00:00:00 2001 From: "MSI\\ModSetter" Date: Thu, 31 Jul 2025 08:37:18 -0700 Subject: [PATCH 1/4] docs: added confluence connector info --- README.md | 3 ++- surfsense_web/components/ModernHeroWithGradients.tsx | 3 +-- surfsense_web/components/chat/DocumentsDataTable.tsx | 2 ++ surfsense_web/hooks/use-documents.ts | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 916864b..365763b 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ # SurfSense -While tools like NotebookLM and Perplexity are impressive and highly effective for conducting research on any topic/query, SurfSense elevates this capability by integrating with your personal knowledge base. It is a highly customizable AI research agent, connected to external sources such as search engines (Tavily, LinkUp), Slack, Linear, Jira, Notion, YouTube, GitHub, Discord and more to come. +While tools like NotebookLM and Perplexity are impressive and highly effective for conducting research on any topic/query, SurfSense elevates this capability by integrating with your personal knowledge base. It is a highly customizable AI research agent, connected to external sources such as Search Engines (Tavily, LinkUp), Slack, Linear, Jira, Confluence, Notion, YouTube, GitHub, Discord and more to come.
MODSetter%2FSurfSense | Trendshift @@ -64,6 +64,7 @@ Open source and easy to deploy locally. - Slack - Linear - Jira +- Confluence - Notion - Youtube Videos - GitHub diff --git a/surfsense_web/components/ModernHeroWithGradients.tsx b/surfsense_web/components/ModernHeroWithGradients.tsx index ee1e2d8..8c1128b 100644 --- a/surfsense_web/components/ModernHeroWithGradients.tsx +++ b/surfsense_web/components/ModernHeroWithGradients.tsx @@ -50,8 +50,7 @@ export function ModernHeroWithGradients() {

A Customizable AI Research Agent just like NotebookLM or Perplexity, but connected to - external sources such as search engines (Tavily, LinkUp), Slack, Linear, Notion, - YouTube, GitHub, Discord, and more. + external sources such as Search Engines, Slack, Linear, Jira, Confluence, Notion, YouTube, GitHub, Discord and more.

{ @@ -68,6 +69,7 @@ const getDocumentTypeColor = (type: DocumentType) => { LINEAR_CONNECTOR: "bg-pink-50 text-pink-700 border-pink-200", DISCORD_CONNECTOR: "bg-violet-50 text-violet-700 border-violet-200", JIRA_CONNECTOR: "bg-orange-50 text-orange-700 border-orange-200", + CONFLUENCE_CONNECTOR: "bg-teal-50 text-teal-700 border-teal-200", }; return colors[type] || "bg-gray-50 text-gray-700 border-gray-200"; }; diff --git a/surfsense_web/hooks/use-documents.ts b/surfsense_web/hooks/use-documents.ts index 18990d8..c888513 100644 --- a/surfsense_web/hooks/use-documents.ts +++ b/surfsense_web/hooks/use-documents.ts @@ -22,7 +22,8 @@ export type DocumentType = | "GITHUB_CONNECTOR" | "LINEAR_CONNECTOR" | "DISCORD_CONNECTOR" - | "JIRA_CONNECTOR"; + | "JIRA_CONNECTOR" + | "CONFLUENCE_CONNECTOR"; export function useDocuments(searchSpaceId: number, lazy: boolean = false) { const [documents, setDocuments] = useState([]); From 8b69e0e9e172bc06296fe18f92d6aa63d1becb9b Mon Sep 17 00:00:00 2001 From: "MSI\\ModSetter" Date: Thu, 31 Jul 2025 08:38:45 -0700 Subject: [PATCH 2/4] docs: added confluence connector info --- README.md | 3 ++- surfsense_web/components/ModernHeroWithGradients.tsx | 3 +-- surfsense_web/components/chat/DocumentsDataTable.tsx | 2 ++ surfsense_web/hooks/use-documents.ts | 3 ++- 4 files changed, 7 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 916864b..365763b 100644 --- a/README.md +++ b/README.md @@ -10,7 +10,7 @@ # SurfSense -While tools like NotebookLM and Perplexity are impressive and highly effective for conducting research on any topic/query, SurfSense elevates this capability by integrating with your personal knowledge base. It is a highly customizable AI research agent, connected to external sources such as search engines (Tavily, LinkUp), Slack, Linear, Jira, Notion, YouTube, GitHub, Discord and more to come. +While tools like NotebookLM and Perplexity are impressive and highly effective for conducting research on any topic/query, SurfSense elevates this capability by integrating with your personal knowledge base. It is a highly customizable AI research agent, connected to external sources such as Search Engines (Tavily, LinkUp), Slack, Linear, Jira, Confluence, Notion, YouTube, GitHub, Discord and more to come.
MODSetter%2FSurfSense | Trendshift @@ -64,6 +64,7 @@ Open source and easy to deploy locally. - Slack - Linear - Jira +- Confluence - Notion - Youtube Videos - GitHub diff --git a/surfsense_web/components/ModernHeroWithGradients.tsx b/surfsense_web/components/ModernHeroWithGradients.tsx index ee1e2d8..8c1128b 100644 --- a/surfsense_web/components/ModernHeroWithGradients.tsx +++ b/surfsense_web/components/ModernHeroWithGradients.tsx @@ -50,8 +50,7 @@ export function ModernHeroWithGradients() {

A Customizable AI Research Agent just like NotebookLM or Perplexity, but connected to - external sources such as search engines (Tavily, LinkUp), Slack, Linear, Notion, - YouTube, GitHub, Discord, and more. + external sources such as Search Engines, Slack, Linear, Jira, Confluence, Notion, YouTube, GitHub, Discord and more.

{ @@ -68,6 +69,7 @@ const getDocumentTypeColor = (type: DocumentType) => { LINEAR_CONNECTOR: "bg-pink-50 text-pink-700 border-pink-200", DISCORD_CONNECTOR: "bg-violet-50 text-violet-700 border-violet-200", JIRA_CONNECTOR: "bg-orange-50 text-orange-700 border-orange-200", + CONFLUENCE_CONNECTOR: "bg-teal-50 text-teal-700 border-teal-200", }; return colors[type] || "bg-gray-50 text-gray-700 border-gray-200"; }; diff --git a/surfsense_web/hooks/use-documents.ts b/surfsense_web/hooks/use-documents.ts index 18990d8..c888513 100644 --- a/surfsense_web/hooks/use-documents.ts +++ b/surfsense_web/hooks/use-documents.ts @@ -22,7 +22,8 @@ export type DocumentType = | "GITHUB_CONNECTOR" | "LINEAR_CONNECTOR" | "DISCORD_CONNECTOR" - | "JIRA_CONNECTOR"; + | "JIRA_CONNECTOR" + | "CONFLUENCE_CONNECTOR"; export function useDocuments(searchSpaceId: number, lazy: boolean = false) { const [documents, setDocuments] = useState([]); From 0926e1f39345b7778f26e59ee0c87bd46a3de86c Mon Sep 17 00:00:00 2001 From: Utkarsh-Patel-13 Date: Fri, 1 Aug 2025 10:34:01 -0700 Subject: [PATCH 3/4] Fixed docker config to run on non-windows architectures --- docker-compose.override.yml | 19 ++++++++----------- surfsense_backend/Dockerfile | 10 +++++++--- .../components/ModernHeroWithGradients.tsx | 3 ++- surfsense_web/package.json | 2 +- 4 files changed, 18 insertions(+), 16 deletions(-) diff --git a/docker-compose.override.yml b/docker-compose.override.yml index 218eb05..e242053 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -2,19 +2,25 @@ version: '3.8' services: frontend: - build: ghcr.io/modsetter/surfsense_ui:latest + build: + context: ./surfsense_web + dockerfile: Dockerfile ports: - "${FRONTEND_PORT:-3000}:3000" volumes: - ./surfsense_web:/app - /app/node_modules + env_file: + - ./surfsense_web/.env depends_on: - backend environment: - NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL:-http://backend:8000} backend: - build: ghcr.io/modsetter/surfsense_backend:latest + build: + context: ./surfsense_backend + dockerfile: Dockerfile ports: - "${BACKEND_PORT:-8000}:8000" volumes: @@ -28,14 +34,5 @@ services: - PYTHONPATH=/app - UVICORN_LOOP=asyncio - UNSTRUCTURED_HAS_PATCHED_LOOP=1 - - NVIDIA_VISIBLE_DEVICES=all - - NVIDIA_DRIVER_CAPABILITIES=compute,utility - LANGCHAIN_TRACING_V2=false - LANGSMITH_TRACING=false - deploy: - resources: - reservations: - devices: - - driver: nvidia - count: all - capabilities: [gpu] diff --git a/surfsense_backend/Dockerfile b/surfsense_backend/Dockerfile index b9630a4..bb7671c 100644 --- a/surfsense_backend/Dockerfile +++ b/surfsense_backend/Dockerfile @@ -21,8 +21,12 @@ RUN pip install --upgrade certifi pip-system-certs COPY pyproject.toml . COPY uv.lock . -# Install CUDA-enabled PyTorch for WSL2 before other dependencies -RUN pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 +# Install PyTorch based on architecture +RUN if [ "$(uname -m)" = "x86_64" ]; then \ + pip install --no-cache-dir torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121; \ + else \ + pip install --no-cache-dir torch torchvision torchaudio; \ + fi # Install python dependencies RUN pip install --no-cache-dir uv && \ @@ -58,4 +62,4 @@ ENV UVICORN_LOOP=asyncio # Run EXPOSE 8000 -CMD ["python", "main.py"] \ No newline at end of file +CMD ["python", "main.py", "--reload"] \ No newline at end of file diff --git a/surfsense_web/components/ModernHeroWithGradients.tsx b/surfsense_web/components/ModernHeroWithGradients.tsx index 8c1128b..1c1f236 100644 --- a/surfsense_web/components/ModernHeroWithGradients.tsx +++ b/surfsense_web/components/ModernHeroWithGradients.tsx @@ -50,7 +50,8 @@ export function ModernHeroWithGradients() {

A Customizable AI Research Agent just like NotebookLM or Perplexity, but connected to - external sources such as Search Engines, Slack, Linear, Jira, Confluence, Notion, YouTube, GitHub, Discord and more. + external sources such as Search Engines, Slack, Linear, Jira, Confluence, Notion, + YouTube, GitHub, Discord and more.

Date: Fri, 1 Aug 2025 13:07:29 -0700 Subject: [PATCH 4/4] Fixed docker build hook to build for all architectures --- .github/workflows/docker_build.yaml | 8 ++++++++ docker-compose.override.yml | 8 ++------ 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/.github/workflows/docker_build.yaml b/.github/workflows/docker_build.yaml index bba4d6b..c1fe482 100644 --- a/.github/workflows/docker_build.yaml +++ b/.github/workflows/docker_build.yaml @@ -142,6 +142,9 @@ jobs: username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -163,6 +166,7 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + platforms: linux/amd64,linux/arm64 # Optional: Add build cache for faster builds cache-from: type=gha cache-to: type=gha,mode=max @@ -185,6 +189,9 @@ jobs: username: ${{ github.repository_owner }} password: ${{ secrets.GITHUB_TOKEN }} + - name: Set up QEMU + uses: docker/setup-qemu-action@v3 + - name: Set up Docker Buildx uses: docker/setup-buildx-action@v3 @@ -206,6 +213,7 @@ jobs: push: true tags: ${{ steps.meta.outputs.tags }} labels: ${{ steps.meta.outputs.labels }} + platforms: linux/amd64,linux/arm64 # Optional: Add build cache for faster builds cache-from: type=gha cache-to: type=gha,mode=max diff --git a/docker-compose.override.yml b/docker-compose.override.yml index e242053..4496ae1 100644 --- a/docker-compose.override.yml +++ b/docker-compose.override.yml @@ -2,9 +2,7 @@ version: '3.8' services: frontend: - build: - context: ./surfsense_web - dockerfile: Dockerfile + image: ghcr.io/modsetter/surfsense_ui:latest ports: - "${FRONTEND_PORT:-3000}:3000" volumes: @@ -18,9 +16,7 @@ services: - NEXT_PUBLIC_API_URL=${NEXT_PUBLIC_API_URL:-http://backend:8000} backend: - build: - context: ./surfsense_backend - dockerfile: Dockerfile + image: ghcr.io/modsetter/surfsense_backend:latest ports: - "${BACKEND_PORT:-8000}:8000" volumes: