docker: Add support for setting umask (#9429)

Add support for setting umask value in the Docker `entrypoint.sh`
script. This is useful when
not syncing permissions and working with groups, and needing umask
values like `002` instead of `022`.
This commit is contained in:
Beat Reichenbach 2024-02-22 00:47:43 -08:00 committed by GitHub
parent f4d160684b
commit c4dfb66d84
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 6 additions and 1 deletions

View File

@ -15,6 +15,9 @@ To grant Syncthing additional capabilities without running as root, use the
`PCAP` environment variable with the same syntax as that for `setcap(8)`. `PCAP` environment variable with the same syntax as that for `setcap(8)`.
For example, `PCAP=cap_chown,cap_fowner+ep`. For example, `PCAP=cap_chown,cap_fowner+ep`.
To set a different umask value, use the `UMASK` environment variable. For
example `UMASK=002`.
## Example Usage ## Example Usage
**Docker cli** **Docker cli**

View File

@ -2,9 +2,11 @@
set -eu set -eu
[ -n "${UMASK:-}" ] && umask "$UMASK"
if [ "$(id -u)" = '0' ]; then if [ "$(id -u)" = '0' ]; then
binary="$1" binary="$1"
if [ "${PCAP:-}" == "" ] ; then if [ -z "${PCAP:-}" ]; then
# If Syncthing should have no extra capabilities, make sure to remove them # If Syncthing should have no extra capabilities, make sure to remove them
# from the binary. This will fail with an error if there are no # from the binary. This will fail with an error if there are no
# capabilities to remove, hence the || true etc. # capabilities to remove, hence the || true etc.