config.py 1.57 KB
Newer Older
Timothy J. Baek's avatar
Timothy J. Baek committed
1
from dotenv import load_dotenv, find_dotenv
2
3
4
5
6
from pymongo import MongoClient

from secrets import token_bytes
from base64 import b64encode
import os
Timothy J. Baek's avatar
Timothy J. Baek committed
7
8
9

load_dotenv(find_dotenv())

10
11
12
13
####################################
# ENV (dev,test,prod)
####################################

Timothy J. Baek's avatar
Timothy J. Baek committed
14
15
ENV = os.environ.get("ENV", "dev")

16
17
18
19
####################################
# OLLAMA_API_BASE_URL
####################################

Timothy J. Baek's avatar
Timothy J. Baek committed
20
21
22
23
24
25
26
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"
27
28

####################################
29
# WEBUI_VERSION
30
31
####################################

32
WEBUI_VERSION = os.environ.get("WEBUI_VERSION", "v1.0.0-alpha.9")
33
34

####################################
35
# WEBUI_AUTH
36
37
####################################

38
WEBUI_AUTH = True if os.environ.get("WEBUI_AUTH", "TRUE") == "TRUE" else False
39
40


41
if WEBUI_AUTH:
42
    ####################################
43
    # WEBUI_DB
44
45
    ####################################

46
47
    WEBUI_DB_URL = os.environ.get(
        "WEBUI_DB_URL", "mongodb://root:root@localhost:27017/"
48
49
    )

50
    DB_CLIENT = MongoClient(f"{WEBUI_DB_URL}?authSource=admin")
51
52
53
    DB = DB_CLIENT["ollama-webui"]

    ####################################
54
    # WEBUI_JWT_SECRET_KEY
55
56
    ####################################

57
    WEBUI_JWT_SECRET_KEY = os.environ.get("WEBUI_JWT_SECRET_KEY", "t0p-s3cr3t")
58
59

    if ENV == "prod":
60
61
        if WEBUI_JWT_SECRET_KEY == "":
            WEBUI_JWT_SECRET_KEY = str(b64encode(token_bytes(32)).decode())