open-webui/backend/config.py

66 lines
1.7 KiB
Python
Raw Normal View History

2023-11-15 01:28:51 +01:00
from dotenv import load_dotenv, find_dotenv
2023-11-19 01:47:12 +01:00
from pymongo import MongoClient
from secrets import token_bytes
from base64 import b64encode
import os
2023-11-15 01:28:51 +01:00
load_dotenv(find_dotenv())
2023-11-19 01:47:12 +01:00
####################################
# ENV (dev,test,prod)
####################################
2023-11-15 01:28:51 +01:00
ENV = os.environ.get("ENV", "dev")
2023-11-19 01:47:12 +01:00
####################################
# OLLAMA_API_BASE_URL
####################################
2023-11-15 01:28:51 +01:00
OLLAMA_API_BASE_URL = os.environ.get(
"OLLAMA_API_BASE_URL", "http://localhost:11434/api"
)
if ENV == "prod":
if OLLAMA_API_BASE_URL == "/ollama/api":
OLLAMA_API_BASE_URL = "http://host.docker.internal:11434/api"
2023-11-19 01:47:12 +01:00
####################################
# OLLAMA_WEBUI_VERSION
####################################
OLLAMA_WEBUI_VERSION = os.environ.get("OLLAMA_WEBUI_VERSION", "v1.0.0-alpha.9")
####################################
# OLLAMA_WEBUI_AUTH
####################################
OLLAMA_WEBUI_AUTH = (
True if os.environ.get("OLLAMA_WEBUI_AUTH", "TRUE") == "TRUE" else False
)
if OLLAMA_WEBUI_AUTH:
####################################
# OLLAMA_WEBUI_DB
####################################
OLLAMA_WEBUI_DB_URL = os.environ.get(
"OLLAMA_WEBUI_DB_URL", "mongodb://root:root@localhost:27017/"
)
DB_CLIENT = MongoClient(f"{OLLAMA_WEBUI_DB_URL}?authSource=admin")
DB = DB_CLIENT["ollama-webui"]
####################################
# OLLAMA_WEBUI_JWT_SECRET_KEY
####################################
OLLAMA_WEBUI_JWT_SECRET_KEY = os.environ.get(
"OLLAMA_WEBUI_JWT_SECRET_KEY", "t0p-s3cr3t"
)
if ENV == "prod":
if OLLAMA_WEBUI_JWT_SECRET_KEY == "":
OLLAMA_WEBUI_JWT_SECRET_KEY = str(b64encode(token_bytes(32)).decode())