feat: Add optional SearXNG deployment for web search #1

Merged
first merged 7 commits from searxng into master 2025-07-23 21:58:37 +00:00
Owner

This pull request introduces a major new feature: the ability to automatically deploy and configure a private, secure SearXNG instance alongside Open WebUI. This provides powerful, private web search capabilities that can be used by models, either through the native Web Search setting or via advanced Python tools.

This merge finalizes the searxng feature branch, incorporating all the bug fixes and robust configurations discovered during its development.

Key Changes:

  • New SearXNG Deployment Module (onepush.sh):

    • Adds a new, skippable user prompt to enable the deployment of a SearXNG container.
    • Prompts for a separate, customizable domain for the public-facing search engine.
    • Includes an optional prompt for a Brave Search API key to enhance search quality.
  • Robust Container Orchestration (onepush.sh):

    • Creates a shared Docker network (open-webui-net) to allow secure, internal communication between the Open WebUI and SearXNG containers.
    • Deploys the searxng/searxng container and publishes its port securely to the host's localhost interface for Nginx to access.
    • Adds a custom user.yml override to the SearXNG configuration, enabling the json format required by Open WebUI tools.
  • Secure Public Access (onepush.sh):

    • Dynamically creates a new Nginx reverse proxy configuration for the SearXNG domain.
    • Adds a mandatory HTTP Basic Authentication layer to protect the public-facing search interface from abuse.
    • Automatically obtains and configures a Let's Encrypt SSL certificate for the new search domain.
  • Comprehensive Documentation (README.md):

    • The README.md has been completely updated to reflect the new functionality.
    • Crucially, it now includes a detailed "Post-Installation" guide that explains the two methods for integrating the new SearXNG instance with Open WebUI:
      1. Option A: Configuring the native "Web Search" feature in the admin panel.
      2. Option B: Setting up the advanced research_tool.py by loading it from its URL and setting the required SEARXNG_BASE_URL environment variable.
This pull request introduces a major new feature: the ability to automatically deploy and configure a private, secure SearXNG instance alongside Open WebUI. This provides powerful, private web search capabilities that can be used by models, either through the native Web Search setting or via advanced Python tools. This merge finalizes the `searxng` feature branch, incorporating all the bug fixes and robust configurations discovered during its development. #### Key Changes: * **New SearXNG Deployment Module (`onepush.sh`):** * Adds a new, skippable user prompt to enable the deployment of a SearXNG container. * Prompts for a separate, customizable domain for the public-facing search engine. * Includes an optional prompt for a Brave Search API key to enhance search quality. * **Robust Container Orchestration (`onepush.sh`):** * Creates a shared Docker network (`open-webui-net`) to allow secure, internal communication between the Open WebUI and SearXNG containers. * Deploys the `searxng/searxng` container and publishes its port securely to the host's localhost interface for Nginx to access. * Adds a custom `user.yml` override to the SearXNG configuration, enabling the `json` format required by Open WebUI tools. * **Secure Public Access (`onepush.sh`):** * Dynamically creates a new Nginx reverse proxy configuration for the SearXNG domain. * Adds a mandatory HTTP Basic Authentication layer to protect the public-facing search interface from abuse. * Automatically obtains and configures a Let's Encrypt SSL certificate for the new search domain. * **Comprehensive Documentation (`README.md`):** * The `README.md` has been completely updated to reflect the new functionality. * **Crucially, it now includes a detailed "Post-Installation" guide** that explains the two methods for integrating the new SearXNG instance with Open WebUI: 1. **Option A:** Configuring the native "Web Search" feature in the admin panel. 2. **Option B:** Setting up the advanced `research_tool.py` by loading it from its URL and setting the required `SEARXNG_BASE_URL` environment variable.
first added 7 commits 2025-07-23 21:48:56 +00:00
first self-assigned this 2025-07-23 21:48:59 +00:00
Author
Owner

closes #1 and #2

closes #1 and #2
first merged commit 1504d66a69 into master 2025-07-23 21:58:37 +00:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: primemover/onepush#1
No description provided.