Merge pull request #1472 from shivaraj-bh/static-dir
feat: configurable `STATIC_DIR`; fix: mount `CACHE_DIR` to the `/cache` endpoint
This commit is contained in:
		
						commit
						1448c32fdf
					
				| 
						 | 
					@ -28,8 +28,6 @@ except ImportError:
 | 
				
			||||||
WEBUI_NAME = os.environ.get("WEBUI_NAME", "Open WebUI")
 | 
					WEBUI_NAME = os.environ.get("WEBUI_NAME", "Open WebUI")
 | 
				
			||||||
WEBUI_FAVICON_URL = "https://openwebui.com/favicon.png"
 | 
					WEBUI_FAVICON_URL = "https://openwebui.com/favicon.png"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
shutil.copyfile("../build/favicon.png", "./static/favicon.png")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
####################################
 | 
					####################################
 | 
				
			||||||
# ENV (dev,test,prod)
 | 
					# ENV (dev,test,prod)
 | 
				
			||||||
####################################
 | 
					####################################
 | 
				
			||||||
| 
						 | 
					@ -103,6 +101,26 @@ for version in soup.find_all("h2"):
 | 
				
			||||||
 | 
					
 | 
				
			||||||
CHANGELOG = changelog_json
 | 
					CHANGELOG = changelog_json
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					####################################
 | 
				
			||||||
 | 
					# DATA/FRONTEND BUILD DIR
 | 
				
			||||||
 | 
					####################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					DATA_DIR = str(Path(os.getenv("DATA_DIR", "./data")).resolve())
 | 
				
			||||||
 | 
					FRONTEND_BUILD_DIR = str(Path(os.getenv("FRONTEND_BUILD_DIR", "../build")))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					try:
 | 
				
			||||||
 | 
					    with open(f"{DATA_DIR}/config.json", "r") as f:
 | 
				
			||||||
 | 
					        CONFIG_DATA = json.load(f)
 | 
				
			||||||
 | 
					except:
 | 
				
			||||||
 | 
					    CONFIG_DATA = {}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					####################################
 | 
				
			||||||
 | 
					# Static DIR
 | 
				
			||||||
 | 
					####################################
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					STATIC_DIR = str(Path(os.getenv("STATIC_DIR", "./static")).resolve())
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					shutil.copyfile(f"{FRONTEND_BUILD_DIR}/favicon.png", f"{STATIC_DIR}/favicon.png")
 | 
				
			||||||
 | 
					
 | 
				
			||||||
####################################
 | 
					####################################
 | 
				
			||||||
# LOGGING
 | 
					# LOGGING
 | 
				
			||||||
| 
						 | 
					@ -165,7 +183,7 @@ if CUSTOM_NAME:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
                r = requests.get(url, stream=True)
 | 
					                r = requests.get(url, stream=True)
 | 
				
			||||||
                if r.status_code == 200:
 | 
					                if r.status_code == 200:
 | 
				
			||||||
                    with open("./static/favicon.png", "wb") as f:
 | 
					                    with open(f"{STATIC_DIR}/favicon.png", "wb") as f:
 | 
				
			||||||
                        r.raw.decode_content = True
 | 
					                        r.raw.decode_content = True
 | 
				
			||||||
                        shutil.copyfileobj(r.raw, f)
 | 
					                        shutil.copyfileobj(r.raw, f)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -177,18 +195,6 @@ else:
 | 
				
			||||||
    if WEBUI_NAME != "Open WebUI":
 | 
					    if WEBUI_NAME != "Open WebUI":
 | 
				
			||||||
        WEBUI_NAME += " (Open WebUI)"
 | 
					        WEBUI_NAME += " (Open WebUI)"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
####################################
 | 
					 | 
				
			||||||
# DATA/FRONTEND BUILD DIR
 | 
					 | 
				
			||||||
####################################
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
DATA_DIR = str(Path(os.getenv("DATA_DIR", "./data")).resolve())
 | 
					 | 
				
			||||||
FRONTEND_BUILD_DIR = str(Path(os.getenv("FRONTEND_BUILD_DIR", "../build")))
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
try:
 | 
					 | 
				
			||||||
    with open(f"{DATA_DIR}/config.json", "r") as f:
 | 
					 | 
				
			||||||
        CONFIG_DATA = json.load(f)
 | 
					 | 
				
			||||||
except:
 | 
					 | 
				
			||||||
    CONFIG_DATA = {}
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
####################################
 | 
					####################################
 | 
				
			||||||
# File Upload DIR
 | 
					# File Upload DIR
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -38,6 +38,8 @@ from config import (
 | 
				
			||||||
    VERSION,
 | 
					    VERSION,
 | 
				
			||||||
    CHANGELOG,
 | 
					    CHANGELOG,
 | 
				
			||||||
    FRONTEND_BUILD_DIR,
 | 
					    FRONTEND_BUILD_DIR,
 | 
				
			||||||
 | 
					    CACHE_DIR,
 | 
				
			||||||
 | 
					    STATIC_DIR,
 | 
				
			||||||
    MODEL_FILTER_ENABLED,
 | 
					    MODEL_FILTER_ENABLED,
 | 
				
			||||||
    MODEL_FILTER_LIST,
 | 
					    MODEL_FILTER_LIST,
 | 
				
			||||||
    GLOBAL_LOG_LEVEL,
 | 
					    GLOBAL_LOG_LEVEL,
 | 
				
			||||||
| 
						 | 
					@ -282,7 +284,6 @@ async def get_app_latest_release_version():
 | 
				
			||||||
            detail=ERROR_MESSAGES.RATE_LIMIT_EXCEEDED,
 | 
					            detail=ERROR_MESSAGES.RATE_LIMIT_EXCEEDED,
 | 
				
			||||||
        )
 | 
					        )
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					 | 
				
			||||||
@app.get("/manifest.json")
 | 
					@app.get("/manifest.json")
 | 
				
			||||||
async def get_manifest_json():
 | 
					async def get_manifest_json():
 | 
				
			||||||
    return {
 | 
					    return {
 | 
				
			||||||
| 
						 | 
					@ -296,10 +297,8 @@ async def get_manifest_json():
 | 
				
			||||||
        "icons": [{"src": "/favicon.png", "type": "image/png", "sizes": "844x884"}],
 | 
					        "icons": [{"src": "/favicon.png", "type": "image/png", "sizes": "844x884"}],
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					app.mount("/static", StaticFiles(directory=STATIC_DIR), name="static")
 | 
				
			||||||
app.mount("/static", StaticFiles(directory="static"), name="static")
 | 
					app.mount("/cache", StaticFiles(directory=CACHE_DIR), name="cache")
 | 
				
			||||||
app.mount("/cache", StaticFiles(directory="data/cache"), name="cache")
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
app.mount(
 | 
					app.mount(
 | 
				
			||||||
    "/",
 | 
					    "/",
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue