245 lines
10 KiB
JSON
245 lines
10 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/qdrant && mkdir -p /etc/user/data/openwebui/searxng && mkdir -p /etc/user/data/openwebui/crawl4ai && printf %s c2VydmVyOgogIGJpbmRfYWRkcmVzczogMC4wLjAuMAogIHBvcnQ6IDgwODAKICBsaW1pdGVyOiBmYWxzZQogIHB1YmxpY19pbnN0YW5jZTogZmFsc2UKc2VhcmNoOgogIGZvcm1hdHM6CiAgICAtIGh0bWwKICAgIC0ganNvbgp1aToKICBzdGF0aWNfdXNlX2hhc2g6IHRydWUKdmFsa2V5OgogIHVybDogZmFsc2UKb3V0Z29pbmc6CiAgdXNlcmFnZW50OiBNb3ppbGxhLzUuMCAoV2luZG93cyBOVCAxMC4wOyBXaW42NDsgeDY0KSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSBDaHJvbWUvMTMxLjAuMC4wIFNhZmFyaS81MzcuMzYKdXNlX2RlZmF1bHRfc2V0dGluZ3M6CiAgZW5naW5lczoKICAgIHJlbW92ZToKICAgICAgLSBhaG1pYQogICAgICAtIHRvcmNoCiAgICAgIC0gd2lraWRhdGEK | base64 -d > /etc/user/data/openwebui/searxng/settings.yml && printf %s W2JvdGRldGVjdGlvbl0KCiMgVGhlIHByZWZpeCBkZWZpbmVzIHRoZSBudW1iZXIgb2YgbGVhZGluZyBiaXRzIGluIGFuIGFkZHJlc3MgdGhhdCBhcmUgY29tcGFyZWQKIyB0byBkZXRlcm1pbmUgd2hldGhlciBvciBub3QgYW4gYWRkcmVzcyBpcyBwYXJ0IG9mIGEgKGNsaWVudCkgbmV0d29yay4KaXB2NF9wcmVmaXggPSAzMgppcHY2X3ByZWZpeCA9IDQ4CgojIE5ldHdvcmtzIG9mIHRoZSByZXZlcnNlIHByb3hpZXMgLyBsb2FkIGJhbGFuY2VycyAvIGludGVybmFsIERvY2tlciBnYXRld2F5cyBpbgojIGZyb250IG9mIHRoaXMgaW5zdGFuY2UuIFJlcXVlc3RzIGZyb20gdGhlc2UgbmV0d29ya3MgbWF5IGNhcnJ5CiMgWC1Gb3J3YXJkZWQtRm9yIC8gWC1SZWFsLUlQLCBhbmQgdGhlIHJlYWwgY2xpZW50IElQIGlzIGV4dHJhY3RlZCBmcm9tIHRoZW0uCiMgSW50ZXJuYWwgRG9ja2VyIG5ldHdvcmtzIGFyZSBpbmNsdWRlZCBzbyBhIGZ1dHVyZSByZXZlcnNlIHByb3h5IG9uIHRoaXMgaG9zdAojIGlzIGhhbmRsZWQgY29ycmVjdGx5Lgp0cnVzdGVkX3Byb3hpZXMgPSBbCiAgIjEyNy4wLjAuMC84IiwKICAiOjoxIiwKICAiMTAuMC4wLjAvOCIsCiAgIjE3Mi4xNi4wLjAvMTIiLAogICIxOTIuMTY4LjAuMC8xNiIsCiAgImZkMDA6Oi84IiwKXQoKW2JvdGRldGVjdGlvbi5pcF9saW1pdF0KCmZpbHRlcl9saW5rX2xvY2FsID0gZmFsc2UKbGlua190b2tlbiA9IGZhbHNlCgpbYm90ZGV0ZWN0aW9uLmlwX2xpc3RzXQoKIyBJbnRlcm5hbCAvIGxvY2FsIG5ldHdvcmtzIGFyZSB0cnVzdGVkIGFuZCBuZXZlciByYXRlLWxpbWl0ZWQgb3IgYmxvY2tlZC4KcGFzc19pcCA9IFsKICAiMTI3LjAuMC4wLzgiLAogICI6OjEiLAogICIxMC4wLjAuMC84IiwKICAiMTcyLjE2LjAuMC8xMiIsCiAgIjE5Mi4xNjguMC4wLzE2IiwKICAiZmQwMDo6LzgiLApdCgpwYXNzX3NlYXJ4bmdfb3JnID0gdHJ1ZQo= | base64 -d > /etc/user/data/openwebui/searxng/limiter.toml && mkdir -p /etc/user/data/openwebui/searxng-proxy && printf %s IyBSZXZlcnNlIHByb3h5IGluIGZyb250IG9mIFNlYXJYTkcuCiMgU2V0cyBYLVJlYWwtSVAgLyBYLUZvcndhcmRlZC1Gb3Igc28gU2VhclhORyBQcm94eUZpeCBsb2dzIG5vIGVycm9yLgp1cHN0cmVhbSBzZWFyeG5nIHsKICAgIHNlcnZlciBvcGVud2VidWlzZWFyeG5nLWFwcDo4MDgwOwogICAga2VlcGFsaXZlIDMyOwp9CgpzZXJ2ZXIgewogICAgbGlzdGVuIDgwODA7CiAgICBzZXJ2ZXJfbmFtZSBfOwoKICAgIGxvY2F0aW9uIC8gewogICAgICAgIHByb3h5X3Bhc3MgaHR0cDovL3NlYXJ4bmc7CiAgICAgICAgcHJveHlfc2V0X2hlYWRlciBIb3N0ICRob3N0OwogICAgICAgIHByb3h5X3NldF9oZWFkZXIgWC1SZWFsLUlQICRyZW1vdGVfYWRkcjsKICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtRm9yd2FyZGVkLUZvciAkcHJveHlfYWRkX3hfZm9yd2FyZGVkX2ZvcjsKICAgICAgICBwcm94eV9zZXRfaGVhZGVyIFgtRm9yd2FyZGVkLVByb3RvICRzY2hlbWU7CiAgICAgICAgcHJveHlfc2V0X2hlYWRlciBYLUZvcndhcmRlZC1Ib3N0ICRob3N0OwogICAgICAgIHByb3h5X2h0dHBfdmVyc2lvbiAxLjE7CiAgICAgICAgcHJveHlfc2V0X2hlYWRlciBDb25uZWN0aW9uICIiOwogICAgICAgIHByb3h5X3JlZGlyZWN0IG9mZjsKICAgICAgICBjbGllbnRfbWF4X2JvZHlfc2l6ZSAxMG07CiAgICB9Cn0K | base64 -d > /etc/user/data/openwebui/searxng-proxy/searxng-upstream.conf",
|
|
"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": "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": "nginx:alpine",
|
|
"UPDATE": "true",
|
|
"NAME": "openwebuiproxy-app",
|
|
"MEMORY": "64M",
|
|
"NETWORK": "openwebui-net",
|
|
"SELECTOR": "openwebuisearxng-proxy",
|
|
"VOLUMES": [
|
|
{
|
|
"SOURCE": "/etc/user/data/openwebui/searxng-proxy",
|
|
"DEST": "/etc/nginx/conf.d",
|
|
"TYPE": "ro"
|
|
}
|
|
],
|
|
"EXTRA": "--restart always",
|
|
"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"
|
|
},
|
|
{
|
|
"HF_HUB_OFFLINE": "#DISABLE_HUGGINGFACE"
|
|
},
|
|
{
|
|
"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"
|
|
]
|
|
}
|
|
]
|
|
} |