To automatically load environment variables from .env
files (with the help of dotenv package) please set useDotenv
property in serverless.yml
as below:
useDotenv: true
Having that .env
files will also be excluded from the package in order to avoid uploading sensitive data as a part of a package by mistake. Starting with the next major version, .env
files will be loaded by default and useDotenv
setting will be ignored.
.env
filesThe framework looks for .env
and .env.{stage}
files in service directory and then tries to load them using dotenv
. If .env.{stage}
is found, .env
will not be loaded. If stage is not explicitly defined, it defaults to dev
.
It is possible to define environment variables as a combination of existing ones:
BASE_URL=my.api.com
PROTOCOL=https
URL=$PROTOCOL/$BASE_URL
This is supported through dotenv-expand
serverless-dotenv-plugin
There are a few differences between above functionality and serverless-dotenv-plugin:
.env
file (if stage-specific .env
is found, default .env
is not loaded).env.local
, .env.{stage}.local
, and .env.development
files in a similar way to the pluginNODE_ENV
variable and --env
flag when determining stageProduct