|
@@ -1,13 +1,17 @@
|
|
import os
|
|
import os
|
|
import chromadb
|
|
import chromadb
|
|
from chromadb import Settings
|
|
from chromadb import Settings
|
|
-from secrets import token_bytes
|
|
|
|
from base64 import b64encode
|
|
from base64 import b64encode
|
|
-from constants import ERROR_MESSAGES
|
|
|
|
|
|
+from bs4 import BeautifulSoup
|
|
|
|
+
|
|
from pathlib import Path
|
|
from pathlib import Path
|
|
import json
|
|
import json
|
|
import markdown
|
|
import markdown
|
|
-from bs4 import BeautifulSoup
|
|
|
|
|
|
+import requests
|
|
|
|
+import shutil
|
|
|
|
+
|
|
|
|
+from secrets import token_bytes
|
|
|
|
+from constants import ERROR_MESSAGES
|
|
|
|
|
|
|
|
|
|
try:
|
|
try:
|
|
@@ -17,6 +21,8 @@ try:
|
|
except ImportError:
|
|
except ImportError:
|
|
print("dotenv not installed, skipping...")
|
|
print("dotenv not installed, skipping...")
|
|
|
|
|
|
|
|
+WEBUI_NAME = "Open WebUI"
|
|
|
|
+
|
|
|
|
|
|
####################################
|
|
####################################
|
|
# ENV (dev,test,prod)
|
|
# ENV (dev,test,prod)
|
|
@@ -24,7 +30,6 @@ except ImportError:
|
|
|
|
|
|
ENV = os.environ.get("ENV", "dev")
|
|
ENV = os.environ.get("ENV", "dev")
|
|
|
|
|
|
-
|
|
|
|
try:
|
|
try:
|
|
with open(f"../package.json", "r") as f:
|
|
with open(f"../package.json", "r") as f:
|
|
PACKAGE_DATA = json.load(f)
|
|
PACKAGE_DATA = json.load(f)
|
|
@@ -94,6 +99,32 @@ for version in soup.find_all("h2"):
|
|
|
|
|
|
CHANGELOG = changelog_json
|
|
CHANGELOG = changelog_json
|
|
|
|
|
|
|
|
+
|
|
|
|
+####################################
|
|
|
|
+# CUSTOM_NAME
|
|
|
|
+####################################
|
|
|
|
+
|
|
|
|
+CUSTOM_NAME = os.environ.get("CUSTOM_NAME", "")
|
|
|
|
+if CUSTOM_NAME:
|
|
|
|
+ r = requests.get(f"https://api.openwebui.com/api/v1/custom/{CUSTOM_NAME}")
|
|
|
|
+ data = r.json()
|
|
|
|
+
|
|
|
|
+ if "logo" in data:
|
|
|
|
+ url = (
|
|
|
|
+ f"https://api.openwebui.com{data['logo']}"
|
|
|
|
+ if data["logo"][0] == "/"
|
|
|
|
+ else data["logo"]
|
|
|
|
+ )
|
|
|
|
+
|
|
|
|
+ r = requests.get(url, stream=True)
|
|
|
|
+ if r.status_code == 200:
|
|
|
|
+ with open("./static/favicon.png", "wb") as f:
|
|
|
|
+ r.raw.decode_content = True
|
|
|
|
+ shutil.copyfileobj(r.raw, f)
|
|
|
|
+
|
|
|
|
+ WEBUI_NAME = data["name"]
|
|
|
|
+
|
|
|
|
+
|
|
####################################
|
|
####################################
|
|
# DATA/FRONTEND BUILD DIR
|
|
# DATA/FRONTEND BUILD DIR
|
|
####################################
|
|
####################################
|