config.py 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. from dotenv import load_dotenv, find_dotenv
  2. from pymongo import MongoClient
  3. from secrets import token_bytes
  4. from base64 import b64encode
  5. import os
  6. load_dotenv(find_dotenv())
  7. ####################################
  8. # ENV (dev,test,prod)
  9. ####################################
  10. ENV = os.environ.get("ENV", "dev")
  11. ####################################
  12. # OLLAMA_API_BASE_URL
  13. ####################################
  14. OLLAMA_API_BASE_URL = os.environ.get(
  15. "OLLAMA_API_BASE_URL", "http://localhost:11434/api"
  16. )
  17. if ENV == "prod":
  18. if OLLAMA_API_BASE_URL == "/ollama/api":
  19. OLLAMA_API_BASE_URL = "http://host.docker.internal:11434/api"
  20. ####################################
  21. # OLLAMA_WEBUI_VERSION
  22. ####################################
  23. OLLAMA_WEBUI_VERSION = os.environ.get("OLLAMA_WEBUI_VERSION", "v1.0.0-alpha.9")
  24. ####################################
  25. # OLLAMA_WEBUI_AUTH
  26. ####################################
  27. OLLAMA_WEBUI_AUTH = (
  28. True if os.environ.get("OLLAMA_WEBUI_AUTH", "TRUE") == "TRUE" else False
  29. )
  30. if OLLAMA_WEBUI_AUTH:
  31. ####################################
  32. # OLLAMA_WEBUI_DB
  33. ####################################
  34. OLLAMA_WEBUI_DB_URL = os.environ.get(
  35. "OLLAMA_WEBUI_DB_URL", "mongodb://root:root@localhost:27017/"
  36. )
  37. DB_CLIENT = MongoClient(f"{OLLAMA_WEBUI_DB_URL}?authSource=admin")
  38. DB = DB_CLIENT["ollama-webui"]
  39. ####################################
  40. # OLLAMA_WEBUI_JWT_SECRET_KEY
  41. ####################################
  42. OLLAMA_WEBUI_JWT_SECRET_KEY = os.environ.get(
  43. "OLLAMA_WEBUI_JWT_SECRET_KEY", "t0p-s3cr3t"
  44. )
  45. if ENV == "prod":
  46. if OLLAMA_WEBUI_JWT_SECRET_KEY == "":
  47. OLLAMA_WEBUI_JWT_SECRET_KEY = str(b64encode(token_bytes(32)).decode())