added openwebui application
This commit is contained in:
@@ -0,0 +1,60 @@
|
||||
{
|
||||
"main": {
|
||||
"SERVICE_NAME": "openwebui",
|
||||
"DOMAIN": "#DOMAIN"
|
||||
},
|
||||
"containers": [
|
||||
{
|
||||
"IMAGE": "safebox/domain-check",
|
||||
"UPDATE": "true",
|
||||
"MEMORY": "64M",
|
||||
"NAME": "domain_checker",
|
||||
"ROLES": "domain_checker",
|
||||
"NETWORK": "host",
|
||||
"SELECTOR": "",
|
||||
"SCALE": "0",
|
||||
"EXTRA": "--rm --privileged",
|
||||
"PRE_START": [],
|
||||
"DEPEND": [],
|
||||
"POST_START": [],
|
||||
"CMD": "",
|
||||
"ENVS": [
|
||||
{
|
||||
"PROXY": "smarthostloadbalancer"
|
||||
},
|
||||
{
|
||||
"TARGET": "openwebui-app"
|
||||
},
|
||||
{
|
||||
"PORT": "8080"
|
||||
},
|
||||
{
|
||||
"DOMAIN": "#DOMAIN"
|
||||
},
|
||||
{
|
||||
"SMARTHOST_PROXY_PATH": "/smarthost-domains"
|
||||
},
|
||||
{
|
||||
"OPERATION": "CREATE"
|
||||
}
|
||||
],
|
||||
"VOLUMES": [
|
||||
{
|
||||
"SOURCE": "/etc/user/config/smarthost-domains",
|
||||
"DEST": "/smarthost-domains",
|
||||
"TYPE": "rw"
|
||||
},
|
||||
{
|
||||
"SOURCE": "/etc/system/data/dns/hosts.local",
|
||||
"DEST": "/etc/dns/hosts.local",
|
||||
"TYPE": "ro"
|
||||
},
|
||||
{
|
||||
"SOURCE": "/var/run/docker.sock",
|
||||
"DEST": "/var/run/docker.sock",
|
||||
"TYPE": "rw"
|
||||
}
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"main": {
|
||||
"SERVICE_NAME": "firewalls",
|
||||
"DOMAIN": "null"
|
||||
},
|
||||
"containers": [
|
||||
{
|
||||
"IMAGE": "safebox/firewall",
|
||||
"NAME": "firewall",
|
||||
"MEMORY": "64M",
|
||||
"NETWORK": "host",
|
||||
"SCALE": "0",
|
||||
"VOLUMES": [
|
||||
{
|
||||
"SOURCE": "/run/",
|
||||
"DEST": "/run/",
|
||||
"TYPE": "rw"
|
||||
},
|
||||
{
|
||||
"SOURCE": "/etc/user/config/services",
|
||||
"DEST": "/services",
|
||||
"TYPE": "ro"
|
||||
},
|
||||
{
|
||||
"SOURCE": "/etc/system/data/dns/hosts.local",
|
||||
"DEST": "/etc/dns/hosts.local",
|
||||
"TYPE": "ro"
|
||||
},
|
||||
{
|
||||
"SOURCE": "/var/run/docker.sock",
|
||||
"DEST": "/var/run/docker.sock",
|
||||
"TYPE": "rw"
|
||||
}
|
||||
],
|
||||
"PORTS": [],
|
||||
"READYNESS": [
|
||||
{
|
||||
"tcp": ""
|
||||
},
|
||||
{
|
||||
"HTTP": ""
|
||||
},
|
||||
{
|
||||
"EXEC": "/ready.sh"
|
||||
}
|
||||
],
|
||||
"ENVS": [
|
||||
{
|
||||
"CHAIN": "DOCKER-USER"
|
||||
},
|
||||
{
|
||||
"SOURCE": "coredns"
|
||||
},
|
||||
{
|
||||
"TARGET": "openwebui-app"
|
||||
},
|
||||
{
|
||||
"TYPE": "udp"
|
||||
},
|
||||
{
|
||||
"TARGET_PORT": "53"
|
||||
},
|
||||
{
|
||||
"COMMENT": "dns for openwebui"
|
||||
}
|
||||
],
|
||||
"EXTRA": "--privileged --rm",
|
||||
"DEPEND": "null",
|
||||
"START_ON_BOOT": "false",
|
||||
"CMD": "null",
|
||||
"PRE_START": "null",
|
||||
"POST_START": "null"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,75 @@
|
||||
{
|
||||
"main": {
|
||||
"SERVICE_NAME": "firewalls",
|
||||
"DOMAIN": "null"
|
||||
},
|
||||
"containers": [
|
||||
{
|
||||
"IMAGE": "safebox/firewall",
|
||||
"NAME": "firewall",
|
||||
"MEMORY": "64M",
|
||||
"NETWORK": "host",
|
||||
"SCALE": "0",
|
||||
"VOLUMES": [
|
||||
{
|
||||
"SOURCE": "/run/",
|
||||
"DEST": "/run/",
|
||||
"TYPE": "rw"
|
||||
},
|
||||
{
|
||||
"SOURCE": "/etc/user/config/services",
|
||||
"DEST": "/services",
|
||||
"TYPE": "ro"
|
||||
},
|
||||
{
|
||||
"SOURCE": "/etc/system/data/dns/hosts.local",
|
||||
"DEST": "/etc/dns/hosts.local",
|
||||
"TYPE": "ro"
|
||||
},
|
||||
{
|
||||
"SOURCE": "/var/run/docker.sock",
|
||||
"DEST": "/var/run/docker.sock",
|
||||
"TYPE": "rw"
|
||||
}
|
||||
],
|
||||
"PORTS": [],
|
||||
"READYNESS": [
|
||||
{
|
||||
"tcp": ""
|
||||
},
|
||||
{
|
||||
"HTTP": ""
|
||||
},
|
||||
{
|
||||
"EXEC": "/ready.sh"
|
||||
}
|
||||
],
|
||||
"ENVS": [
|
||||
{
|
||||
"CHAIN": "DOCKER-USER"
|
||||
},
|
||||
{
|
||||
"SOURCE": "smarthostbackend"
|
||||
},
|
||||
{
|
||||
"TARGET": "openwebui-app"
|
||||
},
|
||||
{
|
||||
"TYPE": "tcp"
|
||||
},
|
||||
{
|
||||
"TARGET_PORT": "8080"
|
||||
},
|
||||
{
|
||||
"COMMENT": "proxy for openwebui"
|
||||
}
|
||||
],
|
||||
"EXTRA": "--privileged --rm",
|
||||
"DEPEND": "null",
|
||||
"START_ON_BOOT": "false",
|
||||
"CMD": "null",
|
||||
"PRE_START": "null",
|
||||
"POST_START": "null"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
{
|
||||
"openwebuipostgres": {
|
||||
"POSTGRES_DB": "#POSTGRES_DB",
|
||||
"POSTGRES_USER": "#POSTGRES_USER",
|
||||
"POSTGRES_PASSWORD": "#POSTGRES_PASSWORD",
|
||||
"POSTGRES_ROOT_PASSWORD": "#POSTGRES_ROOT_PASSWORD"
|
||||
},
|
||||
"openwebuiapp": {
|
||||
"WEBUI_ADMIN_NAME": "#WEBUI_ADMIN_NAME",
|
||||
"WEBUI_ADMIN_PASSWORD": "#WEBUI_ADMIN_PASSWORD",
|
||||
"WEBUI_ADMIN_EMAIL": "#WEBUI_ADMIN_EMAIL",
|
||||
"WEBUI_SECRET_KEY": "#WEBUI_SECRET_KEY",
|
||||
"OPENAI_API_KEY": "#OPENAI_API_KEY",
|
||||
"DATABASE_URL": "postgres://#POSTGRES_USER:#POSTGRES_PASSWORD@openwebuipostgres-db:5432/#POSTGRES_DB"
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,208 @@
|
||||
{
|
||||
"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",
|
||||
"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",
|
||||
"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": "openwebui-qdrant",
|
||||
"MEMORY": "256M",
|
||||
"NETWORK": "openwebui-net",
|
||||
"SELECTOR": "openwebui-qdrant",
|
||||
"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": "openwebui-pipelines",
|
||||
"MEMORY": "256M",
|
||||
"NETWORK": "openwebui-net",
|
||||
"SELECTOR": "openwebui-pipelines",
|
||||
"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": "openwebui-qdrant"
|
||||
},
|
||||
{
|
||||
"QDRANT_PORT": "6333"
|
||||
},
|
||||
{
|
||||
"QDRANT_URI": "http://openwebui-qdrant:6333"
|
||||
}
|
||||
],
|
||||
"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": "openwebui",
|
||||
"MEMORY": "512M",
|
||||
"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": [
|
||||
{
|
||||
"WEBUI_ADMIN_NAME": "#WEBUI_ADMIN_NAME"
|
||||
},
|
||||
{
|
||||
"WEBUI_ADMIN_PASSWORD": "#WEBUI_ADMIN_PASSWORD"
|
||||
},
|
||||
{
|
||||
"WEBUI_ADMIN_EMAIL": "#WEBUI_ADMIN_EMAIL"
|
||||
},
|
||||
{
|
||||
"OPENAI_API_BASE_URL": "http://192.168.2.2:8080/v1"
|
||||
},
|
||||
{
|
||||
"OPENAI_API_KEY": "#OPENAI_API_KEY"
|
||||
},
|
||||
{
|
||||
"VECTOR_DB": "qdrant"
|
||||
},
|
||||
{
|
||||
"QDRANT_HOST": "openwebui-qdrant"
|
||||
},
|
||||
{
|
||||
"QDRANT_PORT": "6333"
|
||||
},
|
||||
{
|
||||
"QDRANT_URI": "http://openwebui-qdrant:6333"
|
||||
},
|
||||
{
|
||||
"ENABLE_RAG_PIPELINE": "True"
|
||||
},
|
||||
{
|
||||
"RAG_PIPELINE_URL": "http://openwebui-pipelines:9099/v1"
|
||||
}
|
||||
],
|
||||
"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"
|
||||
]
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,86 @@
|
||||
{
|
||||
"name": "openwebui",
|
||||
"title": "Open WebUI",
|
||||
"subtitle": "AI Chat Interface",
|
||||
"description": "Open WebUI is a user-friendly WebUI for LLMs (formerly Ollama WebUI). It supports various LLM runners including OpenAI compatible APIs, with features like RAG, multi-modal support, and a powerful pipeline system.",
|
||||
"icon": "data:image/svg+xml;base64,PHN2ZyB3aWR0aD0iNTAiIGhlaWdodD0iNTAiIHZpZXdCb3g9IjAgMCA1MCA1MCIgZmlsbD0ibm9uZSIgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KPHBhdGggZD0iTTI1IDNDMTIuODUgMyAzIDEyLjg1IDMgMjVDMyAzNy4xNSAxMi44NSA0NyAyNSA0N0MzNy4xNSA0NyA0NyAzNy4xNSA0NyAyNUM0NyAxMi44NSAzNy4xNSAzIDI1IDNaTTI1IDYuM0MzNS4zNSA2LjMgNDMuNyAxNC42NSA0My43IDI1QzQzLjcgMzUuMzUgMzUuMzUgNDMuNyAyNSA0My43QzE0LjY1IDQzLjcgNi4zIDM1LjM1IDYuMyAyNUM2LjMgMTQuNjUgMTQuNjUgNi4zIDI1IDYuMzhaTTI1IDkuNUMxNi40IDkuNSA5LjUgMTYuNCA5LjUgMjVDOS41IDMzLjYgMTYuNCA0MC41IDI1IDQwLjVDMzMuNiA0MC41IDQwLjUgMzMuNiA0MC41IDI1QzQwLjUgMTYuNCAzMy42IDkuNSAyNSA5LjVaTTI1IDEyLjhDMzEuNzUgMTIuOCAzNy4yIDE4LjI1IDM3LjIgMjVDMzcuMiAzMS43NSAzMS43NSAzNy4yIDI1IDM3LjJDMTguMjUgMzcuMiAxMi44IDMxLjc1IDEyLjggMjVDMTIuOCAxOC4yNSAxOC4yNSAxMi44IDI1IDEyLjhaTTI1IDE2LjFDMTkuNTkgMTYuMSAxNS4yIDIwLjQ5IDE1LjIgMjVDMTUuMiAzMC40MSAxOS41OSAzNC44IDI1IDM0LjhDMzAuNDEgMzQuOCAzNC44IDMwLjQxIDM0LjggMjVDMzQuOCAyMC40OSAzMC40MSAxNi4xIDI1IDE2LjFaTTI1IDE5LjRDMjguMDkgMTkuNCAzMC42IDIxLjkxIDMwLjYgMjVDMzAuNiAyOC4wOSAyOC4wOSAzMC42IDI1IDMwLjZDMjEuOTEgMzAuNiAxOS40IDI4LjA5IDE5LjQgMjVDMTkuNCAyMS45MSAyMS45MSAxOS40IDI1IDE5LjRaTTI1IDIyLjdDMjMuNzMgMjIuNyAyMi43IDIzLjczIDIyLjcgMjVDMjIuNyAyNi4yNyAyMy43MyAyNy4zIDI1IDI3LjNDMjYuMjcgMjcuMyAyNy4zIDI2LjI3IDI3LjMgMjVDMjcuMyAyMy43MyAyNi4yNyAyMi43IDI1IDIyLjdaTTI1IDI2QzI0LjQ1IDI2IDI0IDI1LjU1IDI0IDI1QzI0IDI0LjQ1IDI0LjQ1IDI0IDI1IDI0QzI1LjU1IDI0IDI2IDI0LjQ1IDI2IDI1QzI2IDI1LjU1IDI1LjU1IDI2IDI1IDI2WiIgZmlsbD0iIzI5NzlGRSIvPgo8L3N2Zz4K",
|
||||
"fields": [
|
||||
{
|
||||
"description": "Domain",
|
||||
"key": "DOMAIN",
|
||||
"value": "",
|
||||
"required": "true"
|
||||
},
|
||||
{
|
||||
"description": "Admin username",
|
||||
"key": "WEBUI_ADMIN_NAME",
|
||||
"value": "",
|
||||
"info": "The initial admin username for Open WebUI.",
|
||||
"required": "true"
|
||||
},
|
||||
{
|
||||
"description": "Admin password",
|
||||
"key": "WEBUI_ADMIN_PASSWORD",
|
||||
"value": "",
|
||||
"info": "The initial admin password for Open WebUI.",
|
||||
"required": "true",
|
||||
"type": "password"
|
||||
},
|
||||
{
|
||||
"description": "Admin email",
|
||||
"key": "WEBUI_ADMIN_EMAIL",
|
||||
"value": "",
|
||||
"info": "The initial admin email for Open WebUI.",
|
||||
"required": "true"
|
||||
},
|
||||
{
|
||||
"description": "OpenAI compatible API endpoint",
|
||||
"key": "OPENAI_API_BASE_URL",
|
||||
"value": "",
|
||||
"info": "Optional API url for OpenAI compatible API endpoint.",
|
||||
"advanced": "true"
|
||||
},
|
||||
{
|
||||
"description": "WebUI secret key",
|
||||
"key": "WEBUI_SECRET_KEY",
|
||||
"value": "",
|
||||
"required": "true",
|
||||
"generated": "openssl|hex|32"
|
||||
},
|
||||
{
|
||||
"description": "OpenAI API key",
|
||||
"key": "OPENAI_API_KEY",
|
||||
"value": "",
|
||||
"info": "Optional API key for OpenAI compatible API endpoint.",
|
||||
"advanced": "true"
|
||||
},
|
||||
{
|
||||
"description": "Postgres database name",
|
||||
"key": "POSTGRES_DB",
|
||||
"value": "",
|
||||
"required": "true",
|
||||
"generated": "time|md5|8"
|
||||
},
|
||||
{
|
||||
"description": "Postgres username",
|
||||
"key": "POSTGRES_USER",
|
||||
"value": "",
|
||||
"required": "true",
|
||||
"generated": "time|md5|8"
|
||||
},
|
||||
{
|
||||
"description": "Postgres password for user",
|
||||
"key": "POSTGRES_PASSWORD",
|
||||
"value": "",
|
||||
"required": "true",
|
||||
"generated": "random|md5|12"
|
||||
},
|
||||
{
|
||||
"description": "Postgres root user password",
|
||||
"key": "POSTGRES_ROOT_PASSWORD",
|
||||
"value": "",
|
||||
"required": "true",
|
||||
"generated": "random|sha256|20"
|
||||
}
|
||||
]
|
||||
}
|
||||
Reference in New Issue
Block a user