14x11Firefox{{ defs.app.friendly_name|lower|replace(' ', '-') }}Mozilla Firefox is a free and open-source web browser developed by Mozilla Foundation and its subsidiary, Mozilla Corporation.https://www.mozilla.org/en-US/firefox/https://forums.unraid.net/topic/69440-support-firefox/Tools:150MB/storageIncreasing Shared Memory Size
To prevent crashes from happening when running {{ defs.app.friendly_name }}
inside a Docker container, the size of the shared memory located at `/dev/shm`
must be increased. The issue is documented [here].
By default, the size is 64MB, which is not enough. It is recommended to use a
size of 2GB. This value is arbitrary, but known to work well. Setting the
size of `/dev/shm` can be done via two method:
- By adding the `--shm-size 2g` parameter to the `docker run` command. See
the [Usage](#usage) section for more details.
- By using shared memory of the host, by mapping `/dev/shm` via the parameter
`-v /dev/shm:/dev/shm` of the `docker run` command.
Allowing the membarrier System Call
To properly work, recent versions of {{ defs.app.friendly_name }} need the
`membarrier` system call. Without it, tabs would frequently crash.
Docker uses [seccomp profile] to restrict system calls available to the
container. Before Docker version `20.03.0`, the `membarrier` system call was
not allowed in the default profile. If you run a such version, you can use one
of the following solutions, from the most to the least secure, to provide the
container permission to use this sytem call:
1. Run the container with a custom seccomp profile allowing the `membarrier`
system call. The [latest official seccomp profile] can be used. Download
the file and then add the following parameter when creating the container:
`--security-opt seccomp=/path/to/seccomp_profile.json`.
2. Run the container without the default seccomp profile (thus allowing all
system calls). Use the following parameter when creating the container:
`--security-opt seccomp=unconfined`.
3. Run the container in privileged mode. This effectively disables usage of
seccomp. Add the `--privileged` parameter when creating the container.
Sound Support
For {{ defs.app.friendly_name }} to be able to use the audio device available on
the host, `/dev/snd` must be exposed to the container by adding the
`--device /dev/snd` parameter to the `docker run` command.
Setting {{ defs.app.friendly_name }} Preferences Via Environment Variables
{{ defs.app.friendly_name }} preferences can be set via environment variables
passed to the container. During the startup, a script process all these
variables and modify the preference file accordingly.
The name of the environment variable must start with `FF_PREF_`, followed by a
string of your choice. For example, `FF_PREF_MY_PREF` is a valid name.
The content of the variable should be in the format `NAME=VAL`, where `NAME` is
the name of the preference (as found in the `about:config` page) and `VAL` is
its value. A value can be one of the following types:
- string
- integer
- boolean
It is important to note that a value of type `string` should be surrounded by
double quotes. Other types don't need them.
For example, to set the `network.proxy.http` preference, one would pass the
environment variable to the container by adding the following argument to the
`docker run` command:
```
-e "FF_PREF_HTTP_PROXY=network.proxy.http=\"proxy.example.com\""
```
If a preference needs to be *removed*, its value should be set to `UNSET`. For
example:
```
-e "FF_PREF_HTTP_PROXY=network.proxy.http=UNSET"
```
**NOTE**: This is an advanced usage and it is recommended to set preferences
via {{ defs.app.friendly_name }} directly.
TroubleshootingCrashes
If {{ defs.app.friendly_name }} is crashing frequently, make sure that:
- The size of the shared memory located at `/dev/shm` has been increased. See
the [Increasing Shared Memory Size](#increasing-shared-memory-size) section
for more details.
- The `membarrier` system call is not blocked by Docker. See the
[Allowing the membarrier System Call](#allowing-the-membarrier-system-call)
for more details.
herehttps://bugzilla.mozilla.org/show_bug.cgi?id=1338771#c10seccomp profilehttps://docs.docker.com/engine/security/seccomp/latest official seccomp profilehttps://github.com/moby/moby/blob/master/profiles/seccomp/default.json1.13.02020-07-19Upgraded Firefox to version 78.0.2-r1.Added check for missing `membarrier` system call support.Now using baseimage v3.5.5, based on Alpine 3.12, which brings the following changes:Upgraded glibc to version 2.31 on Alpine Linux images with glibc integrated.Updated installed packages to get latest security fixes.Adjusted the log monitor target for recent versions of YAD.1.12.02020-06-24Upgraded Firefox to version 77.0.1-r2.1.11.02020-04-25Upgraded Firefox to version 75.0-r2.1.10.02020-03-15Upgraded Firefox to version 74.0-r0.1.9.12020-02-10Upgraded Firefox to version 72.0.2-r0.1.9.02020-01-14Upgraded Firefox to version 72.0.1-r0.1.8.02019-12-25Upgraded Firefox to version 71.0-r0.Now using baseimage v3.5.3, which brings the following changes:Updated installed packages to get latest security fixes.Make sure the tzdata is installed.Use baseimage based on Alpine Linux 3.10.1.7.12019-08-26Upgraded Firefox to version 68.0.2-r0.1.7.02019-08-05Upgraded Firefox to version 68.0.r0.1.6.02019-07-17Upgraded Firefox to version 67.0.4-r0.1.5.12019-05-12Upgraded Firefox to version 66.0.5-r1.1.5.02019-05-09Upgraded Firefox to version 66.0.4-r0.Print the Firefox version during the container startup.1.4.12019-04-24Upgraded Firefox to version 62.0.3-r4.Now using baseimage v3.5.2, which brings the following changes:Updated installed packages to get latest security fixes.Fixed issue where the container could have a zombie process.Fixed issue where the password would not be submitted when pressing the enter key in the password modal.Use relative path for favicon ressources to be more friendly with reverse proxy senarios.1.4.02019-02-24Upgraded Firefox to version 62.0.3-r2.Preferences can now be set via environment variables.Use baseimage based on Alpine Linux 3.9.1.3.12018-09-18Now using baseimage v3.5.1, which brings the following changes:Updated installed packages to get latest security fixes.1.3.02018-07-27Added support for more playable video formats.Added support for sound in Firefox.1.2.02018-07-12Now using baseimage v3.4.0, which is based on Alpine Linux 3.8.Upgraded Firefox to version 61.0.1-r0.1.1.02018-05-31Upgraded Firefox to version 60.0.1-r0.1.0.22018-03-15Fixed issue where Firefox would not gracefully terminate.Fixed an issue where restoring session would resize window to the wrong dimensions.1.0.12018-03-02Now using baseimage v3.3.4, which brings the following changes:Fixed issue where log monitor states were not cleared during container startup.Updated Firefox to version 58.0.1-r2.1.0.02018-02-16Initial release./dev/sndOptional Linux device to expose to have sound.falseshm-size2gSet the size of `/dev/shm` to `VALUE`. The format of `VALUE` is `<number><unit>`, where `number` must be greater than `0` and `unit` can be `b` (bytes), `k` (kilobytes), `m` (megabytes), or `g` (gigabytes). **NOTE**: To avoid crashes, it is recommended to set this value to `2g`.true