From b7364fd77b17308177e3a333087915fa77d6be8b Mon Sep 17 00:00:00 2001 From: Jocelyn Le Sage Date: Sun, 5 Feb 2023 12:56:44 -0500 Subject: [PATCH] Updated README. --- README.md | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/README.md b/README.md index 07c4dec..a70e50f 100644 --- a/README.md +++ b/README.md @@ -20,6 +20,7 @@ Foundation and its subsidiary, Mozilla Corporation. * [Quick Start](#quick-start) * [Usage](#usage) * [Environment Variables](#environment-variables) + * [Deployment Considerations](#deployment-considerations) * [Data Volumes](#data-volumes) * [Ports](#ports) * [Changing Parameters of a Running Container](#changing-parameters-of-a-running-container) @@ -112,6 +113,43 @@ of this parameter has the format `=`. |`FF_OPEN_URL`| The URL to open when Firefox starts. | (unset) | |`FF_KIOSK`| Set to `1` to enable kiosk mode. This mode launches Firefox in a very restricted and limited mode best suitable for public areas or customer-facing displays. | `0` | +#### Deployment Considerations + +Many tools used to manage Docker containers extract environment variables +defined by the Docker image and use them to create/deploy the container. For +example, this is done by: + - The Docker application on Synology NAS + - The Container Station on QNAP NAS + - Portainer + - etc. + +While this can be useful for the user to adjust the value of environment +variables to fit its needs, it can also be confusing and dangerous to keep all +of them. + +A good pratice is to set/keep only the variables that are needed for the +container to behave as desired in a specific setup. If the value of variable is +kept to its default value, it means that it can be removed. Keep in mind that +all variables are optional, meaning that none of them is required for the +container to start. + +Removing environment variables that are not needed provides some advantages: + + - Prevents keeping variables that are no longer used by the container. Over + time, with image updates, some variables might be removed. + - Allows the Docker image to change/fix a default value. Again, with image + updates, the default value of a variable might be changed to fix an issue, + or to better support a new feature. + - Prevents changes to a variable that might affect the correct function of + the container. Some undocumented variables, like `PATH` or `ENV`, are + required to be exposed, but are not meant to be changed by users. However, + container management tools still show these variables to users. + - There is a bug with the Container Station on QNAP, where the value of an + environment variable is mandatory. This behavior is wrong and it's + perfectly fine to have a variable without value. In fact, this container + does have variables without value by default. Thus, removing uneeded + variables is a good way to prevent deployment issue on QNAP. + ### Data Volumes The following table describes data volumes used by the container. The mappings