feat(openwebui): integrate searxng and crawl4ai, rename containers for consistency #104
@@ -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"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -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": [
|
||||||
|
|||||||
@@ -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",
|
||||||
|
|||||||
Reference in New Issue
Block a user