127.0.0.1:47334
.http
and mysql
APIs. You can define which APIs to start using the api
flag as below.--no_studio
flag as below.config.json
file that stores custom config parameters listed in this section.
config.json
file.
permanent_storage
permanent_storage
parameter defines where MindsDB stores copies of user files, such as uploaded files, models, and tab content. MindsDB checks the permanent_storage
location to access the latest version of a file and updates it as needed.
The location
specifies the storage type.
absent
(default): Disables permanent storage and is recommended to use when MindsDB is running locally.local
: Stores files in a local directory defined with config['paths']['storage']
.s3
: Stores files in an Amazon S3 bucket. This option requires the bucket
parameter that specifies the name of the S3 bucket where files will be stored.MINDSDB_STORAGE_DIR
environment variable. MindsDB defaults to creating a mindsdb
folder in the operating system user’s home directory.
paths
paths
parameter allows users to redefine the file paths for various groups of MindsDB files. If only the root
path is defined, all other folders will be created within that directory. If this parameter is absent, the value is determined by the MINDSDB_STORAGE_DIR
environment variable.
The root
parameter defines the base directory for storing all MindsDB files, including models, uploaded files, tab content, and the internal SQLite database (if running locally).
The content
parameter specifies the directory where user-related files are stored, such as uploaded files, created models, and tab content. The internal SQLite database (if running locally) is stored in the root
directory instead.
If the ['permanent_storage']['location']
is set to 'local'
, then the storage
parameter is used to store copies of user files.
The static
parameter is used to store files for the graphical user interface (GUI) when MindsDB is run locally.
The tmp
parameter designates a directory for temporary files. Note that the operating system’s default temporary directory may also be used for some temporary files.
If the ['cache']['type']
is set to 'local'
, then the cache
parameter defines the location for storing cached files for the most recent predictions. For example, if a model is queried with identical input, the result will be stored in the cache and returned directly on subsequent queries, instead of recalculating the prediction.
The locks
parameter is used to store lock files to prevent race conditions when the content
folder is shared among multiple applications. This directory helps ensure that file access is managed properly using fcntl
locks. Note that this is not applicable for Windows OS.
auth
auth
parameter controls the authentication settings for APIs in MindsDB.
If the http_auth_enabled
parameter is set to true
, then the username
and password
parameters are required. Otherwise these are optional.
In local instances of MindsDB, users can enable simple HTTP authentication based on Flask sessions, as follows:
http_auth_enabled
parameter to true
and providing values for the username
and password
parameters. Alternatively, users can set the environment variables - MINDSDB_USERNAME
and MINDSDB_PASSWORD
- to store these values..
http_permanent_session_lifetime
parameter. Alternatively, users can set one of the environment variables - MINDSDB_HTTP_PERMANENT_SESSION_LIFETIME
or FLASK_PERMANENT_SESSION_LIFETIME
- to store this value.
gui
gui
parameter controls the behavior of the MindsDB graphical user interface (GUI) updates.
The autoupdate
parameter defines whether MindsDB automatically checks for and updates the GUI to the latest version when the application starts. If set to true
, MindsDB will attempt to fetch the latest available version of the GUI. If set to False
, MindsDB will not try to update the GUI on startup.
api
api
parameter contains the configuration settings for running MindsDB APIs.
Currently, the supported APIs are:
http
: Configures the HTTP API. It requires the host
and port
parameters. Alternatively, configure HTTP authentication for your MindsDB instance by setting the environment variables MINDSDB_USERNAME
and MINDSDB_PASSWORD
before starting MindsDB, which is a recommended way for the production systems.mysql
: Configures the MySQL API. It requires the host
and port
parameters and additionally the database
and ssl
parameters.a2a
: Configures the A2A API. It requires the host
and port
parameters. Alternatively, use the MINDSDB_A2A_HOST
environment variable.HTTP API
host
: Specifies the IP address or hostname where the API should run. For example, "127.0.0.1"
indicates the API will run locally.
port
: Defines the port number on which the API will listen for incoming requests. The default ports are 47334
for HTTP, 47335
for MySQL, and 47336
for MongoDB.
restart_on_failure
: If it is set to true
(and max_restart_count
is not reached), the restart of MindsDB will be attempted after the MindsDB process was killed - with code 9 on Linux and MacOS, or for any reason on Windows.
max_restart_count
: This defines how many times the restart attempts can be made. Note that 0 stands for no limit.
max_restart_interval_seconds
: This defines the time limit during which there can be no more than max_restart_count
restart attempts. Note that 0 stands for no time limit, which means there would be a maximum of max_restart_count
restart attempts allowed.
type
within server
: This specifies the server type used by MindsDB. It is waitress
by default. Other values include flask
and gunicorn
. Alternatively, you can set the MINDSDB_DEFAULT_SERVER
environment variable to define the server.
config
within server
: This stores the selected server configuration. Any options that are supported by the selected server (taht is, waitress, flask, or gunicorn) can be set there, except for host
and port
that are defined under config['api']['http']
.
MySQL API
host
: Specifies the IP address or hostname where the API should run. For example, "127.0.0.1"
indicates the API will run locally.port
: Defines the port number on which the API will listen for incoming requests. The default ports are 47334
for HTTP, 47335
for MySQL, and 47336
for MongoDB.database
: Specifies the name of the database that MindsDB uses. Users must connect to this database to interact with MindsDB through the respective API.ssl
: Indicates whether SSL support is enabled for the MySQL API.restart_on_failure
: If it is set to true
(and max_restart_count
is not reached), the restart of MindsDB will be attempted after the MindsDB process was killed - with code 9 on Linux and MacOS, or for any reason on Windows.max_restart_count
: This defines how many times the restart attempts can be made. Note that 0 stands for no limit.max_restart_interval_seconds
: This defines the time limit during which there can be no more than max_restart_count
restart attempts. Note that 0 stands for no time limit, which means there would be a maximum of max_restart_count
restart attempts allowed.A2A API
host
: It stores the hostname where the A2A service runs. Note that if you start MindsDB with its A2A API enabled then the A2A host is the same as the host of MindsDB.
host
, do not include the protocol. For example, use 127.0.0.1
instead of http://127.0.0.1/
.port
: It stores the port where the A2A service runs. Note that MindsDB exposes its A2A API at port 47338.
mindsdb_host
: It stores the hostname where MindsDB runs, which is localhost by default. Note that if you start MindsDB with its A2A API enabled then the A2A host is the same as the host of MindsDB.
mindsdb_port
: It stores the port where MindsDB HTTP API runs. It is usually 47334.
enabled
: It defines whether the A2A API is enabled (True) or not (False).
cache
cache
parameter controls how MindsDB stores the results of recent predictions to avoid recalculating them if the same query is run again. Note that recent predictions are cached for ML models, like Lightwood, but not in the case of large language models (LLMs), like OpenAI.
The type
parameter specifies the type of caching mechanism to use for storing prediction results.
none
: Disables caching. No prediction results are stored.local
(default): Stores prediction results in the cache
folder (as defined in the paths
configuration). This is useful for repeated queries where the result doesn’t change.redis
: Stores prediction results in a Redis instance. This option requires the connection
parameter, which specifies the Redis connection string.connection
parameter is required only if the type
parameter is set to redis
. It stores the Redis connection string.
logging
logging
parameter defines the details of output logging, including the logging levels.
The handler
parameter provides handlers used for logging into streams and files.
console
: This parameter defines the setup for saving logs into a stream.
enabled
parameter is set to true
, then the logging output is saved into a stream.formatter
parameter that configures the format of the logs, where the available values include default
and json
.level
parameter or in the MINDSDB_CONSOLE_LOG_LEVEL
environment variable - one of DEBUG
, INFO
, WARNING
, ERROR
, CRITICAL
.file
: This parameter defines the setup for saving logs into a file.
enabled
parameter is set to true
, then the logging output is saved into a file.level
parameter or in the MINDSDB_FILE_LOG_LEVEL
environment variable - one of DEBUG
, INFO
, WARNING
, ERROR
, CRITICAL
.filename
parameter stores the name of the file that contains logs.maxBytes
and backupCount
parameters determine the rollover process of the file - that is, if the file reached the size of maxBytes
, then the file is closed and a new file is opened, where the number of files is defined by the backupCount
parameter.ml_task_queue
ml_task_queue
parameter manages the queueing system for machine learning tasks in MindsDB. ML tasks include operations such as creating, training, predicting, fine-tuning, and retraining models. These tasks can be resource-intensive, and running multiple ML tasks simultaneously may lead to Out of Memory (OOM) errors or performance degradation. To address this, MindsDB uses a task queue to control task execution and optimize resource utilization.
The type
parameter defines the type of task queue to use.
local
: Tasks are processed immediately as they appear, without a queue. This is suitable for environments where resource constraints are not a concern.redis
: Tasks are added to a Redis-based queue, and consumer process (which is run with --ml_task_consumer
) ensures that tasks are executed only when sufficient resources are available.
host
, port
, db
, username
, and password
parameters.python3 -m mindsdb --ml_task_queue_consumer
. This process will monitor the queue and fetch tasks for execution only when sufficient resources are available.url_file_upload
url_file_upload
parameter restricts file uploads to trusted sources by specifying a list of allowed domains. This ensures that users can only upload files from the defined sources, such as S3 or Google Drive.
The enabled
flag turns this feature on (true
) or off (false
).
The allowed_origins
parameter lists allowed domains. If left empty, then any domain is allowed.
The disallowed_origins
parameter lists domains that are not allowed. If left empty, then there are no restricted domains.
web_crawling_allowed_sites
web_crawling_allowed_sites
parameter restricts web crawling operations to a specified list of allowed IPs or web addresses. This ensures that the application only accesses pre-approved and safe URLs ("web_crawling_allowed_sites": ["https://example.com", "https://api.mysite.com"]
).
If left empty ([]
), the application allows access to all URLs by default (marked with a wildcard in the open-source version).
default_llm
default_llm
parameter specifies the default LLM that will be used with the LLM()
function, the TO_MARKDOWN()
function, and as a default model for agents.
default_embedding_model
default_embedding_model
parameter specifies the default embedding model used with knowledge bases. Learn more about the parameters following the documentation of the embedding_model
of knowledge bases.
default_reranking_model
default_reranking_model
parameter specifies the default reranking model used with knowledge bases. Learn more about the parameters following the documentation of the reranking_model
of knowledge bases.
data_catalog
config.json
file.
config.json
file.
config.json
file they created.