feat(openwebui): integrate searxng and crawl4ai, rename containers for consistency #104

Merged
gyurix merged 2 commits from dev into main 2026-07-15 21:30:59 +00:00
3 changed files with 101 additions and 11 deletions
Showing only changes of commit 8dc456dcda - Show all commits
+9 -1
View File
@@ -5,12 +5,20 @@
"POSTGRES_PASSWORD": "#POSTGRES_PASSWORD", "POSTGRES_PASSWORD": "#POSTGRES_PASSWORD",
"POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD" "POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD"
}, },
"openwebuisearxng": {
"SEARXNG_SECRET": "#SEARXNG_SECRET"
},
"openwebuicrawl4ai": {
"CRAWL4AI_API_TOKEN": "#CRAWL4AI_API_TOKEN"
},
"openwebuiapp": { "openwebuiapp": {
"WEBUI_ADMIN_NAME": "#WEBUI_ADMIN_NAME", "WEBUI_ADMIN_NAME": "#WEBUI_ADMIN_NAME",
"WEBUI_ADMIN_EMAIL": "#WEBUI_ADMIN_EMAIL", "WEBUI_ADMIN_EMAIL": "#WEBUI_ADMIN_EMAIL",
"WEBUI_ADMIN_PASSWORD": "#WEBUI_ADMIN_PASSWORD", "WEBUI_ADMIN_PASSWORD": "#WEBUI_ADMIN_PASSWORD",
"WEBUI_SECRET_KEY": "#WEBUI_SECRET_KEY", "WEBUI_SECRET_KEY": "#WEBUI_SECRET_KEY",
"OPENAI_API_KEY": "#OPENAI_API_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", "START_ON_BOOT": "false",
"ENTRYPOINT": "sh -c", "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", "PRE_START": "null",
"POST_START": "null" "POST_START": "null"
}, },
@@ -62,10 +62,10 @@
{ {
"IMAGE": "qdrant/qdrant:latest", "IMAGE": "qdrant/qdrant:latest",
"UPDATE": "true", "UPDATE": "true",
"NAME": "openwebui-qdrant", "NAME": "openwebuiqdrant-app",
"MEMORY": "1024M", "MEMORY": "1024M",
"NETWORK": "openwebui-net", "NETWORK": "openwebui-net",
"SELECTOR": "openwebui-qdrant", "SELECTOR": "openwebuiqdrant-app",
"VOLUMES": [ "VOLUMES": [
{ {
"SOURCE": "/etc/user/data/openwebui/qdrant", "SOURCE": "/etc/user/data/openwebui/qdrant",
@@ -95,10 +95,10 @@
{ {
"IMAGE": "ghcr.io/open-webui/pipelines:main", "IMAGE": "ghcr.io/open-webui/pipelines:main",
"UPDATE": "true", "UPDATE": "true",
"NAME": "openwebui-pipelines", "NAME": "openwebuipipelines-app",
"MEMORY": "1024M", "MEMORY": "1024M",
"NETWORK": "openwebui-net", "NETWORK": "openwebui-net",
"SELECTOR": "openwebui-pipelines", "SELECTOR": "openwebuipipelines-app",
"VOLUMES": [ "VOLUMES": [
{ {
"SOURCE": "/etc/user/data/openwebui/pipelines", "SOURCE": "/etc/user/data/openwebui/pipelines",
@@ -121,13 +121,13 @@
"VECTOR_DB": "qdrant" "VECTOR_DB": "qdrant"
}, },
{ {
"QDRANT_HOST": "openwebui-qdrant" "QDRANT_HOST": "openwebuiqdrant-app"
}, },
{ {
"QDRANT_PORT": "6333" "QDRANT_PORT": "6333"
}, },
{ {
"QDRANT_URI": "http://openwebui-qdrant:6333" "QDRANT_URI": "http://openwebuiqdrant-app:6333"
} }
], ],
"EXTRA": "--restart always", "EXTRA": "--restart always",
@@ -137,6 +137,68 @@
"PRE_START": "null", "PRE_START": "null",
"POST_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", "IMAGE": "ghcr.io/open-webui/open-webui:main",
"UPDATE": "true", "UPDATE": "true",
@@ -166,19 +228,25 @@
"VECTOR_DB": "qdrant" "VECTOR_DB": "qdrant"
}, },
{ {
"QDRANT_HOST": "openwebui-qdrant" "QDRANT_HOST": "openwebuiqdrant-app"
}, },
{ {
"QDRANT_PORT": "6333" "QDRANT_PORT": "6333"
}, },
{ {
"QDRANT_URI": "http://openwebui-qdrant:6333" "QDRANT_URI": "http://openwebuiqdrant-app:6333"
}, },
{ {
"ENABLE_RAG_PIPELINE": "True" "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": [ "ENV_FILES": [
+14
View File
@@ -55,6 +55,20 @@
"advanced": "true", "advanced": "true",
"type": "password" "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": "Postgres database name", "description": "Postgres database name",
"key": "POSTGRES_DB", "key": "POSTGRES_DB",