allow user variables to be set from environment #109
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
User-specific configuration data such as passwords are better passed via the environment, as explained by the third principle of 12-factor apps:
This avoids the issues with checking passwords or other user data into git (either deliberately or accidentally). It also ensures that each piece of configuration has a single source of truth, with matching values everywhere it is used, e.g. that the same value for
MAUTIC_DB_PASSWORD
is passed to both the mautic and mysql services.These variables can either be exported in the environment invoking
docker-compose:
or by placing them in an
.env
file:Another example is
COMPOSE_PROJECT_NAME
, which is worth setting in order to avoid ambiguity if there are other containers named mysql or nginx on the same system.