Compare commits

..

3 Commits

Author SHA1 Message Date
6491f15702 Merge pull request 'feat(openwebui): integrate searxng and crawl4ai, rename containers for consistency' (#104) from dev into main
Reviewed-on: #104
2026-07-15 21:30:58 +00:00
gyurix
64fad037ae feat(openwebui): add CRAWL4AI_SECRET for Crawl4AI service
Add a new required secret key `SECRET_KEY` referencing `CRAWL4AI_SECRET` in the openwebui-secret configuration, and define the corresponding template entry with generation via `openssl hex 32`. This enables secure authentication for the Crawl4AI integration.
2026-07-15 13:52:05 +02:00
gyurix
8dc456dcda feat(openwebui): integrate searxng and crawl4ai, rename containers for consistency
Added new searxng and crawl4ai services with their secrets and environment variables for web search and crawling. Updated existing container names to use `-app` suffix and adjusted references. Added necessary directory creation for new services.
2026-07-15 13:37:21 +02:00
3 changed files with 109 additions and 11 deletions
+10 -1
View File
@@ -5,12 +5,21 @@
"POSTGRES_PASSWORD": "#POSTGRES_PASSWORD",
"POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD"
},
"openwebuisearxng": {
"SEARXNG_SECRET": "#SEARXNG_SECRET"
},
"openwebuicrawl4ai": {
"CRAWL4AI_API_TOKEN": "#CRAWL4AI_API_TOKEN",
"SECRET_KEY": "#CRAWL4AI_SECRET"
},
"openwebuiapp": {
"WEBUI_ADMIN_NAME": "#WEBUI_ADMIN_NAME",
"WEBUI_ADMIN_EMAIL": "#WEBUI_ADMIN_EMAIL",
"WEBUI_ADMIN_PASSWORD": "#WEBUI_ADMIN_PASSWORD",
"WEBUI_SECRET_KEY": "#WEBUI_SECRET_KEY",
"OPENAI_API_KEY": "#OPENAI_API_KEY",
"DATABASE_URL": "postgres://#POSTGRES_USER:#POSTGRES_PASSWORD@openwebuipostgres-db:5432/#POSTGRES_DB"
"DATABASE_URL": "postgres://#POSTGRES_USER:#POSTGRES_PASSWORD@openwebuipostgres-db:5432/#POSTGRES_DB",
"EXTERNAL_WEB_SEARCH_API_KEY": "#SEARXNG_SECRET",
"EXTERNAL_WEB_LOADER_API_KEY": "#CRAWL4AI_API_TOKEN"
}
}
+78 -10
View File
@@ -24,7 +24,7 @@
],
"START_ON_BOOT": "false",
"ENTRYPOINT": "sh -c",
"CMD": "mkdir -p /etc/user/data/openwebui/data && mkdir -p /etc/user/data/openwebui/db && mkdir -p /etc/user/data/openwebui/pipelines && mkdir -p /etc/user/data/openwebui/qdrant",
"CMD": "mkdir -p /etc/user/data/openwebui/data && mkdir -p /etc/user/data/openwebui/db && mkdir -p /etc/user/data/openwebui/pipelines && mkdir -p /etc/user/data/openwebui/qdrant && mkdir -p /etc/user/data/openwebui/searxng && mkdir -p /etc/user/data/openwebui/crawl4ai",
"PRE_START": "null",
"POST_START": "null"
},
@@ -62,10 +62,10 @@
{
"IMAGE": "qdrant/qdrant:latest",
"UPDATE": "true",
"NAME": "openwebui-qdrant",
"NAME": "openwebuiqdrant-app",
"MEMORY": "1024M",
"NETWORK": "openwebui-net",
"SELECTOR": "openwebui-qdrant",
"SELECTOR": "openwebuiqdrant-app",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/openwebui/qdrant",
@@ -95,10 +95,10 @@
{
"IMAGE": "ghcr.io/open-webui/pipelines:main",
"UPDATE": "true",
"NAME": "openwebui-pipelines",
"NAME": "openwebuipipelines-app",
"MEMORY": "1024M",
"NETWORK": "openwebui-net",
"SELECTOR": "openwebui-pipelines",
"SELECTOR": "openwebuipipelines-app",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/openwebui/pipelines",
@@ -121,13 +121,13 @@
"VECTOR_DB": "qdrant"
},
{
"QDRANT_HOST": "openwebui-qdrant"
"QDRANT_HOST": "openwebuiqdrant-app"
},
{
"QDRANT_PORT": "6333"
},
{
"QDRANT_URI": "http://openwebui-qdrant:6333"
"QDRANT_URI": "http://openwebuiqdrant-app:6333"
}
],
"EXTRA": "--restart always",
@@ -137,6 +137,68 @@
"PRE_START": "null",
"POST_START": "null"
},
{
"IMAGE": "searxng/searxng:latest",
"UPDATE": "true",
"NAME": "openwebuisearxng-app",
"MEMORY": "512M",
"NETWORK": "openwebui-net",
"SELECTOR": "openwebuisearxng-app",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/openwebui/searxng",
"DEST": "/etc/searxng",
"TYPE": "rw"
}
],
"PORTS": [
{
"SOURCE": "null",
"DEST": "8080",
"TYPE": "tcp"
}
],
"ENV_FILES": [
"/etc/user/secret/openwebui/openwebui.json"
],
"EXTRA": "--restart always",
"DEPEND": [],
"START_ON_BOOT": "false",
"CMD": "null",
"PRE_START": "null",
"POST_START": "null"
},
{
"IMAGE": "unclecode/crawl4ai:latest",
"UPDATE": "true",
"NAME": "openwebuicrawl4ai-app",
"MEMORY": "1024M",
"NETWORK": "openwebui-net",
"SELECTOR": "openwebuicrawl4ai-app",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/openwebui/crawl4ai",
"DEST": "/app/data",
"TYPE": "rw"
}
],
"PORTS": [
{
"SOURCE": "null",
"DEST": "11235",
"TYPE": "tcp"
}
],
"ENV_FILES": [
"/etc/user/secret/openwebui/openwebui.json"
],
"EXTRA": "--restart always",
"DEPEND": [],
"START_ON_BOOT": "false",
"CMD": "null",
"PRE_START": "null",
"POST_START": "null"
},
{
"IMAGE": "ghcr.io/open-webui/open-webui:main",
"UPDATE": "true",
@@ -166,19 +228,25 @@
"VECTOR_DB": "qdrant"
},
{
"QDRANT_HOST": "openwebui-qdrant"
"QDRANT_HOST": "openwebuiqdrant-app"
},
{
"QDRANT_PORT": "6333"
},
{
"QDRANT_URI": "http://openwebui-qdrant:6333"
"QDRANT_URI": "http://openwebuiqdrant-app:6333"
},
{
"ENABLE_RAG_PIPELINE": "True"
},
{
"RAG_PIPELINE_URL": "http://openwebui-pipelines:9099/v1"
"RAG_PIPELINE_URL": "http://openwebuipipelines-app:9099/v1"
},
{
"WEB_SEARCH_ENGINE": "http://openwebuisearxng-app:8080/search?q=<query>"
},
{
"EXTERNAL_WEB_LOADER_URL": "http://openwebuicrawl4ai-app:11235"
}
],
"ENV_FILES": [
+21
View File
@@ -55,6 +55,27 @@
"advanced": "true",
"type": "password"
},
{
"description": "SearXNG secret key",
"key": "SEARXNG_SECRET",
"value": "",
"required": "true",
"generated": "openssl|hex|32"
},
{
"description": "Crawl4AI API token",
"key": "CRAWL4AI_API_TOKEN",
"value": "",
"required": "true",
"generated": "random|md5|24"
},
{
"description": "Crawl4AI secret key",
"key": "CRAWL4AI_SECRET",
"value": "",
"required": "true",
"generated": "openssl|hex|32"
},
{
"description": "Postgres database name",
"key": "POSTGRES_DB",