All apps · 0 apps
HandBrake
Docker app from junkerderprovinz's Repository
Overview
Readme
View on GitHub
A modern, plug-and-play Docker image for HandBrake on Unraid. The full
transcoder GUI in your browser via Selkies, dark by default using
HandBrake's own native GTK dark mode, plus a watch-folder converter that
transcodes anything you drop into /watch without opening the UI at
all. Everything is configurable from the Unraid template, no SSH or config-file
editing required.
A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no telemetry, no ads and no paid tier. No asterisk anywhere. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.
If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.
Table of Contents
- What it looks like
- What it does
- How it compares
- Getting started
- How AI is used here
- Support this project
1. What it looks like
The videos in these pictures are the trailers of Blender's open movies Sintel and Big Buck Bunny (CC BY 3.0, Blender Foundation), loaded in a test container.
HandBrake's own GTK dark mode, with a source loaded and the Fast 1080p30 preset picked
The queue works through one encode after another while you do something else
2. What it does
- Selkies instead of noVNC. A hybrid VNC and H.264 stream for a smooth desktop, a real clipboard in both directions, and file upload and download from the browser.
- Dark by default, with HandBrake's own GTK dark mode rather than a repaint. One variable switches to light.
- Watch-folder conversion. Drop a file into
/watchand the transcode lands in/outputwithout opening the GUI. Output is written to a hidden file first and renamed when it is done, so a media scanner never picks up a half-written video. The watch folder - Hardware encoding with NVIDIA NVENC, and with Intel Quick Sync in a variant image. Hardware encoding
- Hooks, a web file manager and a terminal, with the same variable names as jlesage/handbrake, so existing templates and hook scripts keep working. Hooks, Web desktop
- Multi-arch: amd64 and arm64, both checked in CI by a smoke test that really transcodes a clip before anything is published.
3. How it compares
Another HandBrake container is also in Community Applications:
linuxserver/handbrake,
the official LinuxServer.io image. It builds on the very same
Docker Baseimage Selkies
project this image does, just the Arch Linux flavour of it instead of the
Ubuntu one, and opts into that base's newer Wayland/PixelFlux screen-streaming
pipeline (PIXELFLUX_WAYLAND=true) rather than the classic X11 one this image
still uses by default. A strong, actively developed GUI, but no automated
conversion of any kind, so it does not compete on the feature this image is
built around.
| This image | jlesage/handbrake | linuxserver/handbrake | |
|---|---|---|---|
| Web stack | Selkies (X11) | noVNC | Selkies (Wayland) |
| Base | Ubuntu (glibc) | Alpine (musl) | Arch Linux |
| NVIDIA NVENC encoding | ✅ | ❌ (#49) | n/a |
| Intel Quick Sync (QSV) encoding | ✅ | ⚠️ (#459) | n/a |
| AMD VCE encoding | ⚠️ unverified | ❌ (#441) | n/a |
| Dark mode default | ✅ | opt-in (DARK_MODE=1) |
❓ |
| Watch-folder conversion | ✅ | ✅ | ❌ |
| Browser clipboard | ✅ | ⚠️ | ✅ |
| File upload via WebUI | ✅ | ❌ | ✅ |
| Web file manager | ✅ | opt-in (WEB_FILE_MANAGER=1) |
❌ |
| Conversion hooks | ✅ | ✅ | ❌ |
| Staging on a separate disk | ✅ | ❌ | n/a |
| Shared-watch-folder locking | ✅ | ✅ | n/a |
| CJK fonts | ✅ | opt-in (ENABLE_CJK_FONT=1) |
❓ |
| Multi-arch | ✅ | ✅ | ❌ amd64 only |
| Direct VNC client | ❌ | ✅ | ❌ |
✅ works · ❌ doesn't · ⚠️ present but limited · ❓ undocumented · n/a no automated conversion to accelerate/configure
4. Getting started
On Unraid, install HandBrake from Community Applications and set the paths for your media, the watch folder and the output folder. Everything else has a working default.
Without Unraid:
docker run -d --name handbrake \
-p 3001:3001 \
-e PUID=99 -e PGID=100 \
-v /path/to/appdata/handbrake:/config \
-v /path/to/media:/storage:ro \
-v /path/to/watch:/watch \
-v /path/to/converted:/output \
junkerderprovinz/handbrake:latest
Then open https://<server-ip>:3001/ and accept the self-signed certificate once. On the very first start, wait for HANDBRAKE IS READY in the container log.
Every variable, the watch-folder settings, hardware encoding, hooks, optical drives, moving over from jlesage/handbrake and the known problems are in docs/configuration.md.
5. How AI is used here
One knight builds this, and AI is one of the tools I work with, the same way I work with an editor or a compiler. It helps me write code and documentation and it checks my work, and that saves me a good many evenings. It does not make the decisions, though. I read and understand everything before it ships, and if something here breaks, that is on me and not on the tool.
You do not have to take my word for it. The code is open and every release note is written by hand. The issue tracker shows how problems actually get handled, including the ones I got wrong the first time. If you find something that is not right, open an issue and I will look at it.
6. Support this project
Questions, bugs, ideas or feature requests? Please open a GitHub issue.
A one-knight job: I build it, keep it running, work through the issues and add what people ask for, until nothing is missing. It is free, with no accounts, no telemetry, no ads and no paid tier. No asterisk anywhere. Nothing readable ever leaves your own walls. Forged on evenings and weekends, with heart and stubbornness.
If it has earned a place on your server or computer, toss a coin to your knight: it helps cover the costs and keeps the project alive. It also makes this knight's heart beat a little faster. Three ways below, whichever suits you.
This wrapper is AGPL-3.0-only. HandBrake itself is GPL-2.0 and its artwork is CC BY-SA 4.0. Every bundled component and its licence is listed in NOTICE.
Categories
Download Statistics
Related apps
Explore more like this
Explore allLinks
Details
junkerderprovinz/handbrake:latestRuntime arguments
- Web UI
https://[IP]:[PORT:3001]/- Network
bridge- Shell
bash- Privileged
- false
- Extra Params
--restart=unless-stopped --shm-size=1gb
Template configuration
HTTPS port of the Selkies WebUI (self-signed cert). This is the default WebUI, because the browser only allows clipboard access over HTTPS. Accept the self-signed certificate once.
- Target
- 3001
- Default
- 3001
- Value
- 3001
HTTP port of the Selkies WebUI. For a reverse proxy that terminates TLS in front of the container, not for direct browser access: the Selkies web client requires a secure context, so opening http://IP:3000 directly shows a 'requires a secure connection (HTTPS)' error. For direct access use the HTTPS port 3001.
- Target
- 3000
- Default
- 3000
- Value
- 3000
Persistent HandBrake presets, queue, logs, container state, watch-folder bookkeeping and conversion hooks (/config/hooks).
- Target
- /config
- Default
- /mnt/user/appdata/handbrake
- Value
- /mnt/user/appdata/handbrake
Media you want to browse from inside the GUI (read-only).
- Target
- /storage
- Default
- /mnt/user
- Value
- /mnt/user
Anything dropped here is converted automatically.
- Target
- /watch
- Default
- /mnt/user/media/watch
- Value
- /mnt/user/media/watch
Where converted files are written.
- Target
- /output
- Default
- /mnt/user/media/converted
- Value
- /mnt/user/media/converted
Optional additional watch folder.
- Target
- /watch2
Optional additional watch folder.
- Target
- /watch3
Optional additional watch folder.
- Target
- /watch4
Optional additional watch folder.
- Target
- /watch5
Optional. Map this to a fast disk (e.g. a cache pool) and set 'Staging Directory' below to /staging to keep in-progress conversions off the array while they run.
- Target
- /staging
HandBrake's own native GTK dark mode. 'dark' (default) or 'light'.
- Target
- HANDBRAKE_THEME
- Default
- dark|light
- Value
- dark
X keyboard layout loaded at session start (setxkbmap). Binds Shift so pasted upper-case text keeps its case in the web desktop, and gives the correct symbols for your layout. Default 'us' suits most users.
- Target
- KEYBOARD_LAYOUT
- Default
- us|de|gb|fr|es|it|pt|nl|se|no|dk|fi|pl|cz|hu|ru|jp
- Value
- us
Hardware encoding vendor for every automated watch-folder conversion. 'nvidia' needs the NVIDIA Container Runtime (Extra Parameters: --runtime=nvidia) plus NVIDIA_DRIVER_CAPABILITIES=compute,video,utility. 'intel' and 'amd' need the GPU device passed through (Extra Parameters: --device /dev/dri). NVIDIA and Intel are verified on real hardware; AMD is wired but unverified (no AMD GPU to test on). A vendor that cannot be honoured logs exactly why and falls back to software encoding. Check the reason with: docker exec handbrake cat /config/handbrake-gpu.log
- Target
- GPU_VENDOR
- Default
- none|nvidia|intel|amd
- Value
- none
nice level (0-19) applied to the GUI and every transcode. Higher = lower priority, leaves more CPU for other containers.
- Target
- APP_NICENESS
- Default
- 0
- Value
- 0
1 = watch-folder conversion enabled (default), 0 = disable the daemon entirely.
- Target
- AUTOMATED_CONVERSION
- Default
- 1|0
- Value
- 1
HandBrake preset used for every automated conversion, as 'category/name'.
- Target
- AUTOMATED_CONVERSION_PRESET
- Default
- General/Very Fast 1080p30
- Value
- General/Very Fast 1080p30
Output container for automated conversions.
- Target
- AUTOMATED_CONVERSION_FORMAT
- Default
- mp4|mkv|webm
- Value
- mp4
Optional. A fixed subfolder under the output folder, or SAME_AS_SRC to mirror the source's own subfolder structure.
- Target
- AUTOMATED_CONVERSION_OUTPUT_SUBDIR
1 = keep the original file after conversion (default), 0 = delete it after a successful conversion.
- Target
- AUTOMATED_CONVERSION_KEEP_SOURCE
- Default
- 1|0
- Value
- 1
0 = skip a file if the output already exists (default), 1 = overwrite it.
- Target
- AUTOMATED_CONVERSION_OVERWRITE_OUTPUT
- Default
- 0|1
- Value
- 0
Optional. Comma-separated list of file extensions to treat as video. Empty uses the built-in default list (mkv, mp4, avi, mov, wmv, and more).
- Target
- AUTOMATED_CONVERSION_VIDEO_FILE_EXTENSIONS
Optional. Space-separated directory names (e.g. sync-client metadata folders) pruned from every watch-folder scan, matched anywhere in the tree.
- Target
- AUTOMATED_CONVERSION_IGNORE_DIRECTORIES
Optional. Restrict automated conversion to a daily window, HH-HH in 24h clock (e.g. 22-06 for overnight only). Empty means always active. Uses the container's TZ.
- Target
- AUTOMATED_CONVERSION_ACTIVE_HOURS
Optional. Where in-progress conversions are written. Empty means a hidden folder under the output root. Set to /staging (map that path above to a cache pool) to keep the array out of the write path during a transcode.
- Target
- AUTOMATED_CONVERSION_STAGING_DIR
Seconds a source file must stop changing (size + mtime) before it is picked up, so a file still being copied in is never touched.
- Target
- AUTOMATED_CONVERSION_SOURCE_STABLE_TIME
- Default
- 5
- Value
- 5
Seconds between watch-folder scans.
- Target
- AUTOMATED_CONVERSION_CHECK_INTERVAL
- Default
- 5
- Value
- 5
How many numbered watch folders (/watch..N) to scan when the watch directory is left at AUTO.
- Target
- AUTOMATED_CONVERSION_MAX_WATCH_FOLDERS
- Default
- 5
- Value
- 5
Optional. Extra HandBrakeCLI arguments appended to every automated job, e.g. --encoder nvenc_h265 for HEVC instead of H.264.
- Target
- AUTOMATED_CONVERSION_HANDBRAKE_CUSTOM_ARGS
1 = browse, upload and download the watch/output/storage folders at https://host:3001/files/ (default). 0 disables the endpoint entirely.
- Target
- WEB_FILE_MANAGER
- Default
- 1|0
- Value
- 1
AUTO publishes the watch folders, the output folder and /storage, whichever exist. Otherwise a comma-separated list of absolute paths. /config is always refused, since it holds the WebUI's TLS private key.
- Target
- WEB_FILE_MANAGER_ALLOWED_PATHS
- Default
- AUTO
- Value
- AUTO
Optional. Comma-separated paths inside the allowed ones that must answer 403 instead of being browsable.
- Target
- WEB_FILE_MANAGER_DENIED_PATHS
1 enables a terminal on the web desktop with Ctrl+Alt+T. 0 (default) disables every terminal program in the container.
- Target
- WEB_TERMINAL
- Default
- 0|1
- Value
- 0
The shell the web terminal opens.
- Target
- WEB_TERMINAL_SHELL_PATH
- Default
- /bin/bash
- Value
- /bin/bash
1 shows a popup on the web desktop when a conversion finishes or fails. 0 (default) is off.
- Target
- WEB_NOTIFICATION
- Default
- 0|1
- Value
- 0
Device glob the container is granted group access to for optical-drive ripping, e.g. /dev/sr*. Also pass the device itself under Extra Parameters, e.g. --device /dev/sr0. Unverified: no optical drive was available to test a rip end to end.
- Target
- ATTACHED_DEVICES_PERMS
- Default
- /dev/sr*
- Value
- /dev/sr*
false (default) leaves the container as it is: a commercially encrypted DVD ends at 'No Title Found' because no decryption library is present. true makes the container download the libdvdcss source from VideoLAN's own mirror on its first start, check it against a pinned checksum and compile it here. The library is never shipped inside the image. The first start with it takes about 15 seconds and needs internet; the result is cached under /config so later starts take about a second. Whether decrypting a disc you own is lawful depends on where you live, which is why this is off by default.
- Target
- INSTALL_LIBDVDCSS
- Default
- false|true
- Value
- false
Optional. Username for HTTP-basic-auth on the WebUI. Leave it empty together with the password for no login. Set both fields to enable login (recommended outside trusted LANs).
- Target
- CUSTOM_USER
Optional. Password for HTTP-basic-auth on the WebUI. Leave it empty together with the username for no login. Strongly recommended whenever the container is reachable from outside your LAN.
- Target
- PASSWORD
Container timezone (affects log timestamps and file mtimes). Use this instead of a /etc/localtime bind-mount, because the LSIO base image manages /etc/localtime internally via TZ.
- Target
- TZ
- Default
- Europe/Vienna|Africa/Abidjan|Africa/Accra|Africa/Addis_Ababa|Africa/Algiers|Africa/Asmera|Africa/Bamako|Africa/Bangui|Africa/Banjul|Africa/Bissau|Africa/Blantyre|Africa/Brazzaville|Africa/Bujumbura|Africa/Cairo|Africa/Casablanca|Africa/Ceuta|Africa/Conakry|Africa/Dakar|Africa/Dar_es_Salaam|Africa/Djibouti|Africa/Douala|Africa/El_Aaiun|Africa/Freetown|Africa/Gaborone|Africa/Harare|Africa/Johannesburg|Africa/Juba|Africa/Kampala|Africa/Khartoum|Africa/Kigali|Africa/Kinshasa|Africa/Lagos|Africa/Libreville|Africa/Lome|Africa/Luanda|Africa/Lubumbashi|Africa/Lusaka|Africa/Malabo|Africa/Maputo|Africa/Maseru|Africa/Mbabane|Africa/Mogadishu|Africa/Monrovia|Africa/Nairobi|Africa/Ndjamena|Africa/Niamey|Africa/Nouakchott|Africa/Ouagadougou|Africa/Porto-Novo|Africa/Sao_Tome|Africa/Tripoli|Africa/Tunis|Africa/Windhoek|America/Adak|America/Anchorage|America/Anguilla|America/Antigua|America/Araguaina|America/Argentina/La_Rioja|America/Argentina/Rio_Gallegos|America/Argentina/Salta|America/Argentina/San_Juan|America/Argentina/San_Luis|America/Argentina/Tucuman|America/Argentina/Ushuaia|America/Aruba|America/Asuncion|America/Bahia|America/Bahia_Banderas|America/Barbados|America/Belem|America/Belize|America/Blanc-Sablon|America/Boa_Vista|America/Bogota|America/Boise|America/Buenos_Aires|America/Cambridge_Bay|America/Campo_Grande|America/Cancun|America/Caracas|America/Catamarca|America/Cayenne|America/Cayman|America/Chicago|America/Chihuahua|America/Ciudad_Juarez|America/Coral_Harbour|America/Cordoba|America/Costa_Rica|America/Coyhaique|America/Creston|America/Cuiaba|America/Curacao|America/Danmarkshavn|America/Dawson|America/Dawson_Creek|America/Denver|America/Detroit|America/Dominica|America/Edmonton|America/Eirunepe|America/El_Salvador|America/Fort_Nelson|America/Fortaleza|America/Glace_Bay|America/Godthab|America/Goose_Bay|America/Grand_Turk|America/Grenada|America/Guadeloupe|America/Guatemala|America/Guayaquil|America/Guyana|America/Halifax|America/Havana|America/Hermosillo|America/Indiana/Knox|America/Indiana/Marengo|America/Indiana/Petersburg|America/Indiana/Tell_City|America/Indiana/Vevay|America/Indiana/Vincennes|America/Indiana/Winamac|America/Indianapolis|America/Inuvik|America/Iqaluit|America/Jamaica|America/Jujuy|America/Juneau|America/Kentucky/Monticello|America/Kralendijk|America/La_Paz|America/Lima|America/Los_Angeles|America/Louisville|America/Lower_Princes|America/Maceio|America/Managua|America/Manaus|America/Marigot|America/Martinique|America/Matamoros|America/Mazatlan|America/Mendoza|America/Menominee|America/Merida|America/Metlakatla|America/Mexico_City|America/Miquelon|America/Moncton|America/Monterrey|America/Montevideo|America/Montserrat|America/Nassau|America/New_York|America/Nome|America/Noronha|America/North_Dakota/Beulah|America/North_Dakota/Center|America/North_Dakota/New_Salem|America/Ojinaga|America/Panama|America/Paramaribo|America/Phoenix|America/Port-au-Prince|America/Port_of_Spain|America/Porto_Velho|America/Puerto_Rico|America/Punta_Arenas|America/Rankin_Inlet|America/Recife|America/Regina|America/Resolute|America/Rio_Branco|America/Santarem|America/Santiago|America/Santo_Domingo|America/Sao_Paulo|America/Scoresbysund|America/Sitka|America/St_Barthelemy|America/St_Johns|America/St_Kitts|America/St_Lucia|America/St_Thomas|America/St_Vincent|America/Swift_Current|America/Tegucigalpa|America/Thule|America/Tijuana|America/Toronto|America/Tortola|America/Vancouver|America/Whitehorse|America/Winnipeg|America/Yakutat|Antarctica/Casey|Antarctica/Davis|Antarctica/DumontDUrville|Antarctica/Macquarie|Antarctica/Mawson|Antarctica/McMurdo|Antarctica/Palmer|Antarctica/Rothera|Antarctica/Syowa|Antarctica/Troll|Antarctica/Vostok|Arctic/Longyearbyen|Asia/Aden|Asia/Almaty|Asia/Amman|Asia/Anadyr|Asia/Aqtau|Asia/Aqtobe|Asia/Ashgabat|Asia/Atyrau|Asia/Baghdad|Asia/Bahrain|Asia/Baku|Asia/Bangkok|Asia/Barnaul|Asia/Beirut|Asia/Bishkek|Asia/Brunei|Asia/Calcutta|Asia/Chita|Asia/Colombo|Asia/Damascus|Asia/Dhaka|Asia/Dili|Asia/Dubai|Asia/Dushanbe|Asia/Famagusta|Asia/Gaza|Asia/Hebron|Asia/Hong_Kong|Asia/Hovd|Asia/Irkutsk|Asia/Jakarta|Asia/Jayapura|Asia/Jerusalem|Asia/Kabul|Asia/Kamchatka|Asia/Karachi|Asia/Katmandu|Asia/Khandyga|Asia/Krasnoyarsk|Asia/Kuala_Lumpur|Asia/Kuching|Asia/Kuwait|Asia/Macau|Asia/Magadan|Asia/Makassar|Asia/Manila|Asia/Muscat|Asia/Nicosia|Asia/Novokuznetsk|Asia/Novosibirsk|Asia/Omsk|Asia/Oral|Asia/Phnom_Penh|Asia/Pontianak|Asia/Pyongyang|Asia/Qatar|Asia/Qostanay|Asia/Qyzylorda|Asia/Rangoon|Asia/Riyadh|Asia/Saigon|Asia/Sakhalin|Asia/Samarkand|Asia/Seoul|Asia/Shanghai|Asia/Singapore|Asia/Srednekolymsk|Asia/Taipei|Asia/Tashkent|Asia/Tbilisi|Asia/Tehran|Asia/Thimphu|Asia/Tokyo|Asia/Tomsk|Asia/Ulaanbaatar|Asia/Urumqi|Asia/Ust-Nera|Asia/Vientiane|Asia/Vladivostok|Asia/Yakutsk|Asia/Yekaterinburg|Asia/Yerevan|Atlantic/Azores|Atlantic/Bermuda|Atlantic/Canary|Atlantic/Cape_Verde|Atlantic/Faeroe|Atlantic/Madeira|Atlantic/Reykjavik|Atlantic/South_Georgia|Atlantic/St_Helena|Atlantic/Stanley|Australia/Adelaide|Australia/Brisbane|Australia/Broken_Hill|Australia/Darwin|Australia/Eucla|Australia/Hobart|Australia/Lindeman|Australia/Lord_Howe|Australia/Melbourne|Australia/Perth|Australia/Sydney|Europe/Amsterdam|Europe/Andorra|Europe/Astrakhan|Europe/Athens|Europe/Belgrade|Europe/Berlin|Europe/Bratislava|Europe/Brussels|Europe/Bucharest|Europe/Budapest|Europe/Busingen|Europe/Chisinau|Europe/Copenhagen|Europe/Dublin|Europe/Gibraltar|Europe/Guernsey|Europe/Helsinki|Europe/Isle_of_Man|Europe/Istanbul|Europe/Jersey|Europe/Kaliningrad|Europe/Kiev|Europe/Kirov|Europe/Lisbon|Europe/Ljubljana|Europe/London|Europe/Luxembourg|Europe/Madrid|Europe/Malta|Europe/Mariehamn|Europe/Minsk|Europe/Monaco|Europe/Moscow|Europe/Oslo|Europe/Paris|Europe/Podgorica|Europe/Prague|Europe/Riga|Europe/Rome|Europe/Samara|Europe/San_Marino|Europe/Sarajevo|Europe/Saratov|Europe/Simferopol|Europe/Skopje|Europe/Sofia|Europe/Stockholm|Europe/Tallinn|Europe/Tirane|Europe/Ulyanovsk|Europe/Vaduz|Europe/Vatican|Europe/Vilnius|Europe/Volgograd|Europe/Warsaw|Europe/Zagreb|Europe/Zurich|Indian/Antananarivo|Indian/Chagos|Indian/Christmas|Indian/Cocos|Indian/Comoro|Indian/Kerguelen|Indian/Mahe|Indian/Maldives|Indian/Mauritius|Indian/Mayotte|Indian/Reunion|Pacific/Apia|Pacific/Auckland|Pacific/Bougainville|Pacific/Chatham|Pacific/Easter|Pacific/Efate|Pacific/Enderbury|Pacific/Fakaofo|Pacific/Fiji|Pacific/Funafuti|Pacific/Galapagos|Pacific/Gambier|Pacific/Guadalcanal|Pacific/Guam|Pacific/Honolulu|Pacific/Kiritimati|Pacific/Kosrae|Pacific/Kwajalein|Pacific/Majuro|Pacific/Marquesas|Pacific/Midway|Pacific/Nauru|Pacific/Niue|Pacific/Norfolk|Pacific/Noumea|Pacific/Pago_Pago|Pacific/Palau|Pacific/Pitcairn|Pacific/Ponape|Pacific/Port_Moresby|Pacific/Rarotonga|Pacific/Saipan|Pacific/Tahiti|Pacific/Tarawa|Pacific/Tongatapu|Pacific/Truk|Pacific/Wake|Pacific/Wallis
- Value
- Europe/Vienna
User-ID HandBrake runs as. Default 99 (nobody on Unraid).
- Target
- PUID
- Default
- 99
- Value
- 99
Group-ID. Default 100 (users on Unraid).
- Target
- PGID
- Default
- 100
- Value
- 100
Permission mask for newly created files. The default 000 lets every container user read and write them, which is what you want when other containers touch the same shares. Set 022 or 077 for stricter permissions.
- Default
- 000|022|002|077
- Value
- 000