Override environment variables configured in serverless.yml
with any values provided in a .env
file located at the root of your project.
Both global and function-specific environment variables are overridden.
This plugin is intended for local development only, and is therefore only invoked on
serverless offline start
.
Install the plugin:
yarn add -D serverless-offline-dotenv
Add the plugin to your serverless.yml
file:
plugins:
- serverless-offline-dotenv
- serverless-offline
It is important that the serverless-offline-dotenv
plugin is loaded before serverless-offline
.
Create a file at the root of your project named .env
containing the environment variables that you
want to override locally.
# /path/to/project/.env
DB_HOSTNAME=127.0.0.1
DB_USER=me
# Lines starting with a hash are treated as comments
DB_PASSWORD=secret
Your .env
file may contain sensitive information so you should add it to your .gitignore
file.
You might want to provide a .env.example
template to make setup easier for other developers.
# /path/to/project/.env.example
DB_HOSTNAME=127.0.0.1
DB_USER=<your local database username here>
DB_PASSWORD=<your local database password here>
Developers can then create a .env
file from the template by running cp .env{.example,}
and make
the appropriate changes.
Any variables in your .env
file that are prefixed with SLS_
are assumed to be variables
supported by the Serverless framework
and are therefore always appended to all functions.