Files
directus/docs/reference/config-files.md
2021-05-04 18:52:08 -04:00

112 lines
2.1 KiB
Markdown

# Config Files
By default, Directus will read the `.env` file located next to your project's `package.json` for it's config. You can
change the path where this file is read from, including the filename, by setting the `CONFIG_PATH` environment variable
before starting Directus.
For example: `CONFIG_PATH="/path/to/config.js" npx directus start`
The config file can be one of the following formats:
[[toc]]
::: tip Configuration Parameters
See [Environment Variables](/reference/environment-variables/) for an overview of all available environment variables.
:::
## .env
If the config path has no file extension, or a file extension that's not one of the other supported formats, Directus
will try reading the file config path as environment variables. This has the following structure:
```
PORT=8055
DB_CLIENT="pg"
DB_HOST="localhost"
DB_PORT=5432
etc
```
## config.json
If you prefer a single JSON file for all your configuration, create a JSON file with the environment variables as keys,
for example:
```
CONFIG_PATH="/path/to/config.json"
```
```json
{
"PORT": 8055,
"DB_CLIENT": "pg",
"DB_HOST": "localhost",
"DB_PORT": 5432
// etc
}
```
## config.yaml
Similar to JSON, you can use a `.yaml` (or `.yml`) file for your config:
```
CONFIG_PATH="/path/to/config.yaml"
```
```yaml
PORT: 8055
DB_CLIENT: pg
DB_HOST: localhost
DB_PORT: 5432
#
# etc
```
## config.js
A JavaScript based configuration file allows for two different structures of configuration: an object or a function.
Using a JS file for your config allows you to dynamically generate the configuration of the project during startup.
### Object
Export the configuration object where the key is the environment variable name:
```js
module.exports = {
PORT: 8055,
DB_CLIENT: 'pg',
DB_HOST: 'localhost',
DB_PORT: 5432,
// etc
};
```
### Function
Alternatively, you can provide a function that returns the above object. The function gets process.env as it's
parameter.
```js
module.exports = function (env) {
return {
PORT: 8055,
DB_CLIENT: 'pg',
DB_HOST: 'localhost',
DB_PORT: 5432,
// etc
};
};
```