You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
By default, it won't overwrite existing environment variables as dotenv assumes the deployment environment has more knowledge about configuration than the application does. To overwrite existing environment variables you can use Dotenv.overload.
A practical use case is if I am running my application in dev environment standalone as well as containerized. I override the redis connection env variable in my docker compose file to be different from .env file (used by standalone version). By virtue of this behavior my connection to redis fails for the containerized version.
The text was updated successfully, but these errors were encountered:
amitsaxena
changed the title
When starting puma-dev existing ENV variables are overriden if they are specified in in .env file
When starting puma-dev existing ENV variables are overriden if they are specified in .env file
Dec 17, 2020
It looks like when starting puma it looks for a
.env
file and loads all the environment variable without checking for existing ENV variables here:https://github.com/puma/puma-dev/blob/master/dev/app.go#L243
This in turn overrides any ENV variables which might have already been set differently for various reasons (in my case via a docker compose file). This is in contrast with default dotenv behavior:
https://github.com/bkeepers/dotenv#why-is-it-not-overriding-existing-env-variables
A practical use case is if I am running my application in dev environment standalone as well as containerized. I override the redis connection env variable in my docker compose file to be different from
.env
file (used by standalone version). By virtue of this behavior my connection to redis fails for the containerized version.The text was updated successfully, but these errors were encountered: