# This file shows the default configuration of Meilisearch.
# All variables are defined here https://docs.meilisearch.com/learn/configuration/instance_options.html#environment-variables

db_path = "./data.ms"
# The destination where the database must be created.

env = "development" # Possible values: [development, production]
# This environment variable must be set to `production` if you are running in production.
# More logs wiil be displayed if the server is running in development mode. Setting the master
# key is optional; hence no security on the updates routes. This
# is useful to debug when integrating the engine with another service.

http_addr = "127.0.0.1:7700"
# The address on which the HTTP server will listen.

# master_key = "MASTER_KEY"
# Sets the instance's master key, automatically protecting all routes except GET /health.

# no_analytics = false
# Do not send analytics to Meilisearch.

disable_auto_batching = false
# The engine will disable task auto-batching, and will sequencialy compute each task one by one.


### DUMP

dumps_dir = "dumps/"
# Folder where dumps are created when the dump route is called.

# import_dump = "./path/to/my/file.dump"
# Import a dump from the specified path, must be a `.dump` file.

ignore_missing_dump = false
# If the dump doesn't exist, load or create the database specified by `db_path` instead.

ignore_dump_if_db_exists = false
# Ignore the dump if a database already exists, and load that database instead.

###


log_level = "INFO" # Possible values: [ERROR, WARN, INFO, DEBUG, TRACE]
# Set the log level.


### INDEX

max_index_size = "100 GiB"
# The maximum size, in bytes, of the main LMDB database directory.

# max_indexing_memory = "2 GiB"
# The maximum amount of memory the indexer will use. 
#
# In case the engine is unable to retrieve the available memory the engine will try to use
# the memory it needs but without real limit, this can lead to Out-Of-Memory issues and it
# is recommended to specify the amount of memory to use.
#
# /!\ The default value is system dependant /!\

# max_indexing_threads = 4
# The maximum number of threads the indexer will use. If the number set is higher than the
# real number of cores available in the machine, it will use the maximum number of
# available cores.
#
# It defaults to half of the available threads.

###


max_task_db_size = "100 GiB"
# The maximum size, in bytes, of the update LMDB database directory.

http_payload_size_limit = "100 MB"
# The maximum size, in bytes, of accepted JSON payloads.


### SNAPSHOT

schedule_snapshot = false
# Activate snapshot scheduling.

snapshot_dir = "snapshots/"
# Defines the directory path where Meilisearch will create a snapshot each snapshot_interval_sec.

snapshot_interval_sec = 86400
# Defines time interval, in seconds, between each snapshot creation.

# import_snapshot = "./path/to/my/snapshot"
# Defines the path of the snapshot file to import. This option will, by default, stop the
# process if a database already exists, or if no snapshot exists at the given path. If this
# option is not specified, no snapshot is imported.

ignore_missing_snapshot = false
# The engine will ignore a missing snapshot and not return an error in such a case.

ignore_snapshot_if_db_exists = false
# The engine will skip snapshot importation and not return an error in such a case.

###


### SSL

# ssl_auth_path = "./path/to/root"
# Enable client authentication, and accept certificates signed by those roots provided in CERTFILE.

# ssl_cert_path = "./path/to/CERTFILE"
# Read server certificates from CERTFILE. This should contain PEM-format certificates in
# the right order (the first certificate should certify KEYFILE, the last should be a root
# CA).

# ssl_key_path = "./path/to/private-key"
# Read the private key from KEYFILE.  This should be an RSA private key or PKCS8-encoded
# private key, in PEM format.

# ssl_ocsp_path = "./path/to/OCSPFILE"
# Read DER-encoded OCSP response from OCSPFILE and staple to certificate. Optional.

ssl_require_auth = false
# Send a fatal alert if the client does not complete client authentication.

ssl_resumption = false
# SSL support session resumption.
 
ssl_tickets = false
# SSL support tickets.

###