# Server Configuration
# Using Command Line Arguments
Command line arguments can be passed to the server as
| ||false||Path to the configuration file. If you use this argument, you can define all of the other command line arguments in a configuration file. See the "Configuring Typesense" section for more details.|
| ||true||API key that allows all operations.|
| ||false||API key that allows only searches (i.e. restricted to the |
| ||true||Path to the directory where data will be stored on disk.|
| ||false||By default, Typesense logs to stdout and stderr. To enable logging to a file, provide a path to a logging directory.|
| ||false||Address to which Typesense API service binds. Default: |
| ||false||Port on which Typesense API service listens. Default: |
| ||false||Starts the server as a read-only replica by defining the master Typesense server's address in |
| ||false||Path to the SSL certificate file. You must also define |
| ||false||Path to the SSL certificate key file. You must also define |
# Using a Configuration File
As an alternative to command line arguments, you can also configure Typesense server through a configuration file or via environment variables.
Command line arguments are given the highest priority, while environment variables are given the least priority.
Our Linux DEB/RPM packages install the configuration file at
The configuration file uses a simple INI format:
# Using Environment Variables
If you wish to use environment variables, you can do that too. The environment variables map to the command line arguments documented above: just use CAPS and underscores instead of hyphens.
For example, use
DATA_DIR for the