code: def init_config(self):
      if self.config_path == "absent":
          self._override_config = {}
      else:
          with open(self.config_path, "r") as fp:
              self._override_config = json.load(fp)
  
      # region define storage dir
      if "storage_dir" in self._override_config:
          root_storage_dir = self._override_config["storage_dir"]
          os.environ["MINDSDB_STORAGE_DIR"] = root_storage_dir
      elif os.environ.get("MINDSDB_STORAGE_DIR") is not None:
          root_storage_dir = os.environ["MINDSDB_STORAGE_DIR"]
      else:
          root_storage_dir = get_or_create_data_dir()
          os.environ["MINDSDB_STORAGE_DIR"] = root_storage_dir
      # endregion
  
      if os.path.isdir(root_storage_dir) is False:
          os.makedirs(root_storage_dir)
  
      if "storage_db" in self._override_config:
          os.environ["MINDSDB_DB_CON"] = self._override_config[
              "storage_db"
          ]
      elif os.environ.get("MINDSDB_DB_CON", "") == "":
          os.environ["MINDSDB_DB_CON"] = (
              "sqlite:///"
              + os.path.join(root_storage_dir, "mindsdb.sqlite3.db")
              + "?check_same_thread=False&timeout=30"
          )
  
      paths = {"root": os.environ["MINDSDB_STORAGE_DIR"]}
  
      # content - temporary storage for entities
      paths["content"] = os.path.join(paths["root"], "content")
      # storage - persist storage for entities
      paths["storage"] = os.path.join(paths["root"], "storage")
      paths["static"] = os.path.join(paths["root"], "static")
      paths["tmp"] = os.path.join(paths["root"], "tmp")
      paths["log"] = os.path.join(paths["root"], "log")
      paths["cache"] = os.path.join(paths["root"], "cache")
      paths["locks"] = os.path.join(paths["root"], "locks")
  
      for path_name in paths:
          create_directory(paths[path_name])
  
      ml_queue = {"type": "local"}
  
      if os.environ.get("MINDSDB_ML_QUEUE_TYPE", "").lower() == "redis":
          ml_queue["type"] = "redis"
          ml_queue["host"] = os.environ.get(
              "MINDSDB_ML_QUEUE_HOST", "localhost"
          )
          ml_queue["port"] = int(
              os.environ.get("MINDSDB_ML_QUEUE_PORT", 6379)
          )
          ml_queue["db"] = int(os.environ.get("MINDSDB_ML_QUEUE_DB", 0))
          ml_queue["username"] = os.environ.get(
              "MINDSDB_ML_QUEUE_USERNAME"
          )
          ml_queue["password"] = os.environ.get(
              "MINDSDB_ML_QUEUE_PASSWORD"
          )
  
      api_host = "127.0.0.1" if not self.use_docker_env else "0.0.0.0"
      self._default_config = {
          "permanent_storage": {"location": "local"},
          "storage_dir": os.environ["MINDSDB_STORAGE_DIR"],
          "paths": paths,
          "auth": {
              "http_auth_enabled": False,
              "username": "mindsdb",
              "password": "",
          },
          "log": {
              "level": {
                  "console": "INFO",
                  "file": "DEBUG",
                  "db": "WARNING",
              }
          },
          "gui": {"autoupdate": True},
          "debug": False,
          "environment": "local",
          "integrations": {},
          "api": {
              "http": {"host": api_host, "port": "47334"},
              "mysql": {
                  "host": api_host,
                  "password": "",
                  "port": "47335",
                  "database": "mindsdb",
                  "ssl": True,
              },
              "mongodb": {
                  "host": api_host,
                  "port": "47336",
                  "database": "mindsdb",
              },
              "postgres": {
                  "host": api_host,
                  "port": "55432",
                  "database": "mindsdb",
              },
          },
          "cache": {"type": "local"},
          "ml_task_queue": ml_queue,
      }
  
      return _merge_configs(self._default_config, self._override_config)
  
file_path: mindsdb/mindsdb/utilities/config.py
imports: import os
  import json
  from copy import deepcopy
  from pathlib import Path
  from mindsdb.utilities.fs import create_directory, get_or_create_data_dir
label_desc: Use image node_id 2 for calling the Config obj's underlying member method code with example usage: obj.init_config() and returns: _merge_configs