Files
default-applications-tree/openwebui/service-openwebui.json
2026-08-06 16:49:26 +02:00

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"
]
}
]
}