Compare commits

..

2 Commits

4 changed files with 56 additions and 142 deletions
+1 -11
View File
@@ -5,22 +5,12 @@
"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",
"HF_TOKEN": "#HF_TOKEN",
"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"
"DATABASE_URL": "postgres://#POSTGRES_USER:#POSTGRES_PASSWORD@openwebuipostgres-db:5432/#POSTGRES_DB"
}
}
+30 -56
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/qdrant && mkdir -p /etc/user/data/openwebui/searxng && mkdir -p /etc/user/data/openwebui/crawl4ai && printf %s c2VydmVyOgogIGJpbmRfYWRkcmVzczogMC4wLjAuMAogIHBvcnQ6IDgwODAKICBsaW1pdGVyOiBmYWxzZQogIHB1YmxpY19pbnN0YW5jZTogZmFsc2UKc2VhcmNoOgogIGZvcm1hdHM6CiAgICAtIGh0bWwKICAgIC0ganNvbgp1aToKICBzdGF0aWNfdXNlX2hhc2g6IHRydWUKcmVkaXM6CiAgdXJsOiBmYWxzZQpvdXRnb2luZzoKICB1c2VyYWdlbnQ6IE1vemlsbGEvNS4wIChXaW5kb3dzIE5UIDEwLjA7IFdpbjY0OyB4NjQpIEFwcGxlV2ViS2l0LzUzNy4zNiAoS0hUTUwsIGxpa2UgR2Vja28pIENocm9tZS8xMzEuMC4wLjAgU2FmYXJpLzUzNy4zNgp1c2VfZGVmYXVsdF9zZXR0aW5nczoKICBlbmdpbmVzOgogICAgcmVtb3ZlOgogICAgICAtIGFobWlhCiAgICAgIC0gdG9yY2gKICAgICAgLSB3aWtpZGF0YQpib3RkZXRlY3Rpb246CiAgaXBfbGlzdHM6CiAgICBwYXNzX2lwOgogICAgICAtIDAuMC4wLjAvMAogICAgICAtIDo6LzA= | base64 -d > /etc/user/data/openwebui/searxng/settings.yml && printf %s W2JvdGRldGVjdGlvbi5pcF9saW1pdF0KbGlua190b2tlbiA9IGZhbHNlCg== | base64 -d > /etc/user/data/openwebui/searxng/limiter.toml",
"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",
"PRE_START": "null",
"POST_START": "null"
},
@@ -62,10 +62,10 @@
{
"IMAGE": "qdrant/qdrant:latest",
"UPDATE": "true",
"NAME": "openwebuiqdrant-app",
"NAME": "openwebui-qdrant",
"MEMORY": "1024M",
"NETWORK": "openwebui-net",
"SELECTOR": "openwebuiqdrant-app",
"SELECTOR": "openwebui-qdrant",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/openwebui/qdrant",
@@ -93,59 +93,42 @@
"POST_START": "null"
},
{
"IMAGE": "searxng/searxng:latest",
"IMAGE": "ghcr.io/open-webui/pipelines:main",
"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",
"NAME": "openwebui-pipelines",
"MEMORY": "1024M",
"NETWORK": "openwebui-net",
"SELECTOR": "openwebuicrawl4ai-app",
"SELECTOR": "openwebui-pipelines",
"VOLUMES": [
{
"SOURCE": "/etc/user/data/openwebui/crawl4ai",
"DEST": "/app/data",
"SOURCE": "/etc/user/data/openwebui/pipelines",
"DEST": "/app/pipelines",
"TYPE": "rw"
}
],
"PORTS": [
{
"SOURCE": "null",
"DEST": "11235",
"DEST": "9099",
"TYPE": "tcp"
}
],
"ENV_FILES": [
"/etc/user/secret/openwebui/openwebui.json"
"ENVS": [
{
"OPENAI_API_BASE_URL": "#OPENAI_API_BASE_URL"
},
{
"VECTOR_DB": "qdrant"
},
{
"QDRANT_HOST": "openwebui-qdrant"
},
{
"QDRANT_PORT": "6333"
},
{
"QDRANT_URI": "http://openwebui-qdrant:6333"
}
],
"EXTRA": "--restart always",
"DEPEND": [],
@@ -176,12 +159,6 @@
}
],
"ENVS": [
{
"ENABLE_PERSISTENT_CONFIG": "false"
},
{
"HF_HUB_OFFLINE": "#DISABLE_HUGGINGFACE"
},
{
"OPENAI_API_BASE_URL": "#OPENAI_API_BASE_URL"
},
@@ -189,22 +166,19 @@
"VECTOR_DB": "qdrant"
},
{
"QDRANT_URI": "http://openwebuiqdrant-app:6333"
"QDRANT_HOST": "openwebui-qdrant"
},
{
"ENABLE_WEB_SEARCH": "#ENABLE_WEB_SEARCH"
"QDRANT_PORT": "6333"
},
{
"WEB_SEARCH_ENGINE": "#WEB_SEARCH_ENGINE"
"QDRANT_URI": "http://openwebui-qdrant:6333"
},
{
"WEB_LOADER_ENGINE": "#WEB_LOADER_ENGINE"
"ENABLE_RAG_PIPELINE": "True"
},
{
"SEARXNG_QUERY_URL": "#SEARXNG_QUERY_URL"
},
{
"EXTERNAL_WEB_LOADER_URL": "#EXTERNAL_WEB_LOADER_URL"
"RAG_PIPELINE_URL": "http://openwebui-pipelines:9099/v1"
}
],
"ENV_FILES": [
-71
View File
@@ -55,42 +55,6 @@
"advanced": "true",
"type": "password"
},
{
"description": "Hugging Face token",
"key": "HF_TOKEN",
"value": "",
"info": "Optional Hugging Face API token for TTS and model access features.",
"advanced": "true",
"type": "password"
},
{
"description": "Disable Hugging Face requests",
"key": "DISABLE_HUGGINGFACE",
"value": "1",
"info": "Set to 1 to disable all outgoing requests to huggingface.co at startup. Set to 0 or leave empty to allow Hugging Face access.",
"advanced": "true"
},
{
"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",
@@ -118,41 +82,6 @@
"value": "",
"required": "true",
"generated": "random|sha256|20"
},
{
"description": "Enable web search",
"key": "ENABLE_WEB_SEARCH",
"value": "true",
"info": "Optional web search enabling, keep it empty if you don't want it",
"advanced": "true"
},
{
"description": "Web search engine",
"key": "WEB_SEARCH_ENGINE",
"value": "searxng",
"info": "Optional web search engine Searxng, keep it empty if you don't want it or define any other if you have",
"advanced": "true"
},
{
"description": "External web search engine",
"key": "WEB_LOADER_ENGINE",
"value": "external",
"info": "If optional web search engine defined, keep it as is, otherwise keep it empty",
"advanced": "true"
},
{
"description": "Web",
"key": "SEARXNG_QUERY_URL",
"value": "http://openwebuisearxng-app:8080/search",
"info": "Optional web search engine Searxng, keep it empty if you don't want it",
"advanced": "true"
},
{
"description": "External web search engine",
"key": "EXTERNAL_WEB_LOADER_URL",
"value": "http://openwebuicrawl4ai-app:11235/crawl",
"info": "Optional crawl4ai application url, keep it as is, otherwise keep it empty",
"advanced": "true"
}
]
}
+24 -3
View File
@@ -6,40 +6,54 @@
"icon": "data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0idXRmLTgiPz4KPHN2ZyB2ZXJzaW9uPSIxLjEiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgeG1sbnM6eGxpbms9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkveGxpbmsiIHZpZXdCb3g9IjkuMTQgMTQxLjggNTczLjY1IDU3My42NSI+CjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ci5zdDB7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDojNDA0RjU0O30KLnN0MXtmaWxsLXJ1bGU6ZXZlbm9kZDtjbGlwLXJ1bGU6ZXZlbm9kZDtmaWxsOiNFNUU1RTU7fQouc3Qye2ZpbGwtcnVsZTpldmVub2RkO2NsaXAtcnVsZTpldmVub2RkO2ZpbGw6I0NDQ0NDQzt9Ci5zdDN7ZmlsbC1ydWxlOmV2ZW5vZGQ7Y2xpcC1ydWxlOmV2ZW5vZGQ7ZmlsbDojMzdCRUZGO30KPC9zdHlsZT4KPHBvbHlnb24gY2xhc3M9InN0MyIgcG9pbnRzPSI1ODIuNzksNTQ5Ljc3IDI5NS45NiwzODQuMSAyOTUuOTYsMjA3LjI3IDU4Mi43OSwzNzIuOTUgIi8+Cjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iOS4xNCw1NDkuNzcgMjk1Ljk2LDM4NC4xIDI5NS45NiwyMDcuMjcgOS4xNCwzNzIuOTUgIi8+CjxwYXRoIGNsYXNzPSJzdDIiIGQ9Ik0yOTUuOTYsMTQxLjhjMTA5LjU2LDAsMTk4LjQxLDg4Ljg1LDE5OC40MSwxOTguNDFjMCwxMDkuNTYtODguODUsMTk4LjQxLTE5OC40MSwxOTguNDEgYy0xMDkuNTYsMC0xOTguNDEtODguODUtMTk4LjQxLTE5OC40MUM5Ny41NSwyMzAuNjUsMTg2LjQsMTQxLjgsMjk1Ljk2LDE0MS44Ii8+CjxwYXRoIGNsYXNzPSJzdDEiIGQ9Ik0yOTUuOTYsMTQxLjhjMTA5LjYsMCwxOTguNDgsODguODUsMTk4LjQ4LDE5OC40MWMwLDEwOS41Ni04OC44OCwxOTguNDEtMTk4LjQ4LDE5OC40MQljLTYyLjkxLTQyLjM0LTg4Ljk0LTEyNy42NC04OC45NC0xOTguM1MyMzMuMDUsMTg0LjIyLDI5NS45NiwxNDEuOCIvPgo8cG9seWdvbiBjbGFzcz0ic3QzIiBwb2ludHM9IjU4Mi43OSwzNzIuOTUgMjk1Ljk2LDUzOC42MiAyOTUuOTYsNzE1LjQ1IDU4Mi43OSw1NDkuNzcgIi8+Cjxwb2x5Z29uIGNsYXNzPSJzdDAiIHBvaW50cz0iOS4xNCwzNzIuOTUgMjk1Ljk2LDUzOC42MiAyOTUuOTYsNzE1LjQ1IDkuMTQsNTQ5Ljc3ICIvPgo8L3N2Zz4K",
"fields": [
{
"title": "Domain",
"details": "The domain name where Roundcube webmail will be accessible.",
"description": "Domain",
"key": "DOMAIN",
"value": "",
"required": "true"
},
{
"title": "IMAP Host",
"details": "The hostname of your IMAP email server for receiving emails",
"description": "IMAP host",
"key": "DEFAULT_HOST",
"value": "",
"required": "true"
},
{
"title": "IMAP Port",
"details": "The port number used to connect to your IMAP server",
"description": "IMAP port",
"key": "DEFAULT_PORT",
"value": "993"
},
{
"title": "SMTP Server",
"details": "The hostname of your SMTP email server for sending emails",
"description": "SMTP server",
"key": "SMTP_SERVER",
"value": "",
"required": "true"
},
{
"title": "SMTP Port",
"details": "The port number used to connect to your SMTP server",
"description": "SMTP port",
"key": "SMTP_PORT",
"value": "465"
},
{
"title": "SMTP Username",
"details": "The username used to authenticate with the SMTP server",
"description": "SMTP username",
"key": "SMTP_USER",
"value": "",
"advanced": "true"
},
{
"title": "SMTP Password",
"details": "The password used to authenticate with the SMTP server",
"description": "SMTP password",
"key": "SMTP_PASSWORD",
"value": "",
@@ -47,27 +61,31 @@
"type": "password"
},
{
"info": "Set to true to disable SSL certificate validation",
"title": "Skip Host Validation",
"details": "Set to true to disable SSL certificate validation",
"description": "Skip host validation",
"key": "SKIP_HOST_VALIDATION",
"value": "false",
"advanced": "true"
},
{
"info": "Comma-separated list of Roundcube plugins to enable",
"title": "Plugins",
"details": "Comma-separated list of Roundcube plugins to enable",
"description": "Plugins",
"key": "PLUGINS",
"value": "calendar,password",
"advanced": "true"
},
{
"info": "Maximum allowed file size for email attachments",
"title": "Upload Max Filesize",
"details": "Maximum allowed file size for email attachments",
"description": "Upload max filesize",
"key": "UPLOAD_MAX_FILESIZE",
"value": "50M",
"advanced": "true"
},
{
"title": "Postgres Database Name",
"description": "Postgres database name",
"key": "POSTGRES_DB",
"value": "",
@@ -75,6 +93,7 @@
"generated": "time|md5|8"
},
{
"title": "Postgres Username",
"description": "Postgres username",
"key": "POSTGRES_USER",
"value": "",
@@ -82,6 +101,7 @@
"generated": "time|md5|8"
},
{
"title": "Postgres User Password",
"description": "Postgres password for user",
"key": "POSTGRES_PASSWORD",
"value": "",
@@ -89,6 +109,7 @@
"generated": "random|md5|12"
},
{
"title": "Postgres Root Password",
"description": "Postgres root user password",
"key": "POSTGRES_ROOT_PASSWORD",
"value": "",