Added default SearXNG configuration files (settings.yml and limiter.toml) to the service startup command, enabling proper setup with user-agent, bind address, and rate limiting. Introduced a new required PIPELINES_API_KEY environment variable with auto-generation using openssl, ensuring pipeline authentication is configured out of the box.
270 lines
8.7 KiB
JSON
270 lines
8.7 KiB
JSON
{
|
|
"main": {
|
|
"SERVICE_NAME": "openwebui",
|
|
"DOMAIN": "#DOMAIN"
|
|
},
|
|
"containers": [
|
|
{
|
|
"IMAGE": "alpine:latest",
|
|
"UPDATE": "true",
|
|
"NAME": "openwebui-init",
|
|
"NETWORK": "host",
|
|
"MEMORY": "64M",
|
|
"VOLUMES": [
|
|
{
|
|
"SOURCE": "USER_DATA",
|
|
"DEST": "/etc/user/data",
|
|
"TYPE": "rw"
|
|
}
|
|
],
|
|
"EXTRA": "--rm",
|
|
"DEPEND": "null",
|
|
"ENV_FILES": [
|
|
"/etc/user/secret/openwebui/openwebui.json"
|
|
],
|
|
"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 && mkdir -p /etc/user/data/openwebui/searxng && mkdir -p /etc/user/data/openwebui/crawl4ai && printf 'use_default_settings: true\\nserver:\\n bind_address: \"0.0.0.0\"\\n port: 8080\\n limiter: false\\n public_instance: false\\nui:\\n static_use_hash: true\\nredis:\\n url: false\\noutgoing:\\n useragent: \"Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/131.0.0.0 Safari/537.36\"\\n' > /etc/user/data/openwebui/searxng/settings.yml && printf '[botdetection.ip_limit]\\nlink_token = true\\n' > /etc/user/data/openwebui/searxng/limiter.toml",
|
|
"PRE_START": "null",
|
|
"POST_START": "null"
|
|
},
|
|
{
|
|
"IMAGE": "postgres:16-alpine",
|
|
"UPDATE": "true",
|
|
"NAME": "openwebuipostgres-db",
|
|
"MEMORY": "256M",
|
|
"NETWORK": "openwebui-net",
|
|
"SELECTOR": "openwebuipostgres-db",
|
|
"VOLUMES": [
|
|
{
|
|
"SOURCE": "/etc/user/data/openwebui/db",
|
|
"DEST": "/var/lib/postgresql/data",
|
|
"TYPE": "rw"
|
|
}
|
|
],
|
|
"PORTS": [
|
|
{
|
|
"SOURCE": "null",
|
|
"DEST": "5432",
|
|
"TYPE": "tcp"
|
|
}
|
|
],
|
|
"ENV_FILES": [
|
|
"/etc/user/secret/openwebui/openwebui.json"
|
|
],
|
|
"EXTRA": "--restart always",
|
|
"DEPEND": "null",
|
|
"START_ON_BOOT": "false",
|
|
"CMD": "null",
|
|
"PRE_START": "null",
|
|
"POST_START": "null"
|
|
},
|
|
{
|
|
"IMAGE": "qdrant/qdrant:latest",
|
|
"UPDATE": "true",
|
|
"NAME": "openwebuiqdrant-app",
|
|
"MEMORY": "1024M",
|
|
"NETWORK": "openwebui-net",
|
|
"SELECTOR": "openwebuiqdrant-app",
|
|
"VOLUMES": [
|
|
{
|
|
"SOURCE": "/etc/user/data/openwebui/qdrant",
|
|
"DEST": "/qdrant/storage",
|
|
"TYPE": "rw"
|
|
}
|
|
],
|
|
"PORTS": [
|
|
{
|
|
"SOURCE": "null",
|
|
"DEST": "6333",
|
|
"TYPE": "tcp"
|
|
},
|
|
{
|
|
"SOURCE": "null",
|
|
"DEST": "6334",
|
|
"TYPE": "tcp"
|
|
}
|
|
],
|
|
"EXTRA": "--restart always",
|
|
"DEPEND": "null",
|
|
"START_ON_BOOT": "false",
|
|
"CMD": "null",
|
|
"PRE_START": "null",
|
|
"POST_START": "null"
|
|
},
|
|
{
|
|
"IMAGE": "ghcr.io/open-webui/pipelines:main",
|
|
"UPDATE": "true",
|
|
"NAME": "openwebuipipelines-app",
|
|
"MEMORY": "1024M",
|
|
"NETWORK": "openwebui-net",
|
|
"SELECTOR": "openwebuipipelines-app",
|
|
"VOLUMES": [
|
|
{
|
|
"SOURCE": "/etc/user/data/openwebui/pipelines",
|
|
"DEST": "/app/pipelines",
|
|
"TYPE": "rw"
|
|
}
|
|
],
|
|
"PORTS": [
|
|
{
|
|
"SOURCE": "null",
|
|
"DEST": "9099",
|
|
"TYPE": "tcp"
|
|
}
|
|
],
|
|
"ENVS": [
|
|
{
|
|
"OPENAI_API_BASE_URL": "#OPENAI_API_BASE_URL"
|
|
},
|
|
{
|
|
"VECTOR_DB": "qdrant"
|
|
},
|
|
{
|
|
"QDRANT_HOST": "openwebuiqdrant-app"
|
|
},
|
|
{
|
|
"QDRANT_PORT": "6333"
|
|
},
|
|
{
|
|
"QDRANT_URI": "http://openwebuiqdrant-app:6333"
|
|
}
|
|
],
|
|
"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": "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",
|
|
"NAME": "openwebuiapp",
|
|
"MEMORY": "4096M",
|
|
"NETWORK": "openwebui-net",
|
|
"SELECTOR": "openwebui-app",
|
|
"VOLUMES": [
|
|
{
|
|
"SOURCE": "/etc/user/data/openwebui/data",
|
|
"DEST": "/app/data",
|
|
"TYPE": "rw"
|
|
}
|
|
],
|
|
"PORTS": [
|
|
{
|
|
"SOURCE": "null",
|
|
"DEST": "8080",
|
|
"TYPE": "tcp"
|
|
}
|
|
],
|
|
"ENVS": [
|
|
{
|
|
"ENABLE_PERSISTENT_CONFIG": "false"
|
|
},
|
|
{
|
|
"OPENAI_API_BASE_URL": "#OPENAI_API_BASE_URL"
|
|
},
|
|
{
|
|
"VECTOR_DB": "qdrant"
|
|
},
|
|
{
|
|
"QDRANT_URI": "http://openwebuiqdrant-app:6333"
|
|
},
|
|
{
|
|
"ENABLE_WEB_SEARCH": "#ENABLE_WEB_SEARCH"
|
|
},
|
|
{
|
|
"WEB_SEARCH_ENGINE": "#WEB_SEARCH_ENGINE"
|
|
},
|
|
{
|
|
"WEB_LOADER_ENGINE": "#WEB_LOADER_ENGINE"
|
|
},
|
|
{
|
|
"SEARXNG_QUERY_URL": "#SEARXNG_QUERY_URL"
|
|
},
|
|
{
|
|
"EXTERNAL_WEB_LOADER_URL": "#EXTERNAL_WEB_LOADER_URL"
|
|
}
|
|
],
|
|
"ENV_FILES": [
|
|
"/etc/user/secret/openwebui/openwebui.json"
|
|
],
|
|
"EXTRA": "--restart always",
|
|
"DEPEND": [],
|
|
"START_ON_BOOT": "false",
|
|
"CMD": "null",
|
|
"PRE_START": "null",
|
|
"POST_START": [
|
|
"firewall-openwebui",
|
|
"domain-openwebui",
|
|
"firewall-openwebui-dns"
|
|
]
|
|
}
|
|
]
|
|
} |