Matrix
Docker app from junkerderprovinz's Repository
Overview
Readme
View on GitHub
Build Lint Docker Pulls Image Size Arch Synapse Element Unraid License: AGPL-3.0
A Docker image for running your own Matrix homeserver on Unraid. No manual config file editing and no SSH access to the container required. Enter your domain and database credentials and the container handles the rest.
[!IMPORTANT] Set up the database and the proxy before the first start. Synapse depends on two things outside the container. The PostgreSQL database has to use UTF8 with
Ccollation, or Synapse refuses to start, and a database created with the defaults has to be created again. The reverse proxy needs a few extra Nginx settings, or media uploads fail and syncing times out.
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.
The people, rooms and messages in these pictures are made up.
Element Web, served by the container itself, talking to your own Synapse
Ketesa, the admin page in the same image, for users, rooms and registration tokens
- Everything a homeserver needs, in one image. It builds on Element's official Synapse image and adds Element Web, the Ketesa admin page, coturn for voice and video calls, and Prometheus metrics. Only PostgreSQL stays outside, so your backups and database stay yours.
- Configured from the template. The container writes Synapse's config on every start from the fields you fill in, so a change is an edit in Unraid followed by a restart.
- Federation without hand-written JSON. Synapse serves the
.well-knowndelegation itself, and a reverse proxy in front of it is all federation needs. Switch it off and the server stays a private island. - A first admin without a console. Set
ADMIN_USERandADMIN_PASSWORDonce and the account is created, or an existing one is promoted to server admin. - Optional extras, off by default. QR code login through the Matrix Authentication Service, media on S3 storage, and bridges loaded from
/data/appservices/are each one setting away. - Nothing ships blind. Every build boots against a throwaway PostgreSQL and fails if Synapse is not really running on it, and every image is scanned for CVEs.
You need a PostgreSQL server and a reverse proxy with HTTPS (Nginx Proxy Manager, SWAG, Traefik or a Cloudflare Tunnel).
1. Create the database. Synapse refuses to start unless the database is UTF8 with C collation. In your Postgres console (psql -U postgres):
CREATE USER matrix WITH PASSWORD 'yoursecretpassword';
CREATE DATABASE matrix
ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C'
TEMPLATE template0 OWNER matrix;
2. Install the container. On Unraid, install Matrix from Community Applications and fill in SERVER_NAME (for example matrix.yourdomain.tld) and the POSTGRES_* fields. Use your server's IP for POSTGRES_HOST, since container names only resolve on a custom Docker network. SERVER_NAME becomes part of every user ID (@name:matrix.yourdomain.tld) and cannot be changed later without starting over. Anywhere else:
docker run -d --name matrix -p 8008:8008 -p 8080:8080 \
-e SERVER_NAME=matrix.yourdomain.tld \
-e POSTGRES_HOST=192.168.1.10 -e POSTGRES_USER=matrix \
-e POSTGRES_PASSWORD=yoursecretpassword -e POSTGRES_DB=matrix \
-e ADMIN_USER=admin -e ADMIN_PASSWORD=change-me \
-v /path/to/data:/data \
junkerderprovinz/matrix:latest
After 30 to 60 seconds the log shows MATRIX IS READY. Clear ADMIN_USER and ADMIN_PASSWORD once the admin exists.
3. Put the proxy in front. Point matrix.yourdomain.tld at port 8008 with WebSockets on, and add this to the proxy host's custom Nginx configuration (in Nginx Proxy Manager: Edit, Advanced), or media uploads fail and syncing times out:
client_max_body_size 100M;
proxy_read_timeout 600s;
proxy_send_timeout 600s;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $host;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
A path-based proxy has to forward all of /_matrix and /_synapse, or the admin page reports a server communication error. Then check federation with the federation tester.
4. Sign in. Element Web is on port 8080 under /element/ and Ketesa under /admin/. For voice and video calls, forward the TURN ports (3478 and the relay range 49160-49200/udp) to your server, since a reverse proxy cannot carry them, and set TURN_EXTERNAL_IP to your public IP when the server is behind NAT.
The database, the proxy, federation, monitoring, bridges, admin users, registration tokens, delegated auth, S3 media, Element Call for Element X, updates and troubleshooting are explained step by step in the setup guide.
Other Docker hosts
compose.yaml runs Matrix on any Linux server with Docker. Put it in a folder of its own, fill in every value marked required and start it with docker compose up -d. The folders are created next to the file.
- Synology: in Container Manager, create a project from the file (DSM 7.2 or newer).
- Proxmox: run it in a VM or an LXC container that has Docker.
- MOS: install Matrix from the MOS Hub.
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.
Questions? Check the support thread. Bugs, ideas or feature requests? Please open a GitHub issue.
Not affiliated with Element, the Matrix.org Foundation or the coturn project. Synapse, Element Web, Ketesa and coturn are used unmodified under their own licences; the packaging here is AGPL-3.0, see LICENSE.
Requirements
Download Statistics
Related apps
Explore more like this
Explore allLinks
Details
junkerderprovinz/matrix:latestRuntime arguments
- Web UI
http://[IP]:[PORT:8080]/element/- Network
bridge- Shell
sh- Privileged
- false
Template configuration
Synapse HTTP API. Expose it through a reverse proxy with HTTPS, not directly to the internet.
- Target
- 8008
- Default
- 8008
- Value
- 8008
Serves Element Web (/element/), Synapse-Admin (/admin/) and /.well-known/matrix/* endpoints.
- Target
- 8080
- Default
- 8080
- Value
- 8080
TURN/STUN over TCP for voice/video calls. Open this port in your router/firewall.
- Target
- 3478
- Default
- 3478
- Value
- 3478
TURN/STUN over UDP for voice/video calls. Open this port in your router/firewall.
- Target
- 3478
- Default
- 3478
- Value
- 3478
TURN over TLS (TCP). Optional, only used when TLS certs are mounted.
- Target
- 5349
- Default
- 5349
- Value
- 5349
TURN over TLS (UDP). Optional, only used when TLS certs are mounted.
- Target
- 5349
- Default
- 5349
- Value
- 5349
UDP relay port range for TURN (voice/video calls). Must match the container's coturn min-port/max-port.
- Target
- 49160-49200
- Default
- 49160-49200
- Value
- 49160-49200
Prometheus metrics at /_synapse/metrics. Bind to a private network only.
- Target
- 9090
- Default
- 9090
- Value
- 9090
Matrix Authentication Service. Only listens when Delegated Auth is set to true. Needs its own reverse-proxy host (e.g. auth.yourdomain.tld) with a certificate.
- Target
- 8090
- Default
- 8090
- Value
- 8090
Persistent data: homeserver.yaml, media, signing keys. Do not delete it: that destroys the keys and breaks federation.
- Target
- /data
- Default
- /mnt/user/appdata/matrix/
- Value
- /mnt/user/appdata/matrix/
Optional. Mount a folder containing fullchain.pem + privkey.pem to enable TURN-TLS on 5349.
- Target
- /data/certs
Your Matrix domain, e.g. matrix.yourdomain.tld. Used in Matrix IDs (@user:matrix.yourdomain.tld). Cannot be changed later without wiping the DB.
- Target
- SERVER_NAME
- Default
- matrix.yourdomain.tld
- Value
- matrix.yourdomain.tld
Send anonymous usage stats to Matrix.org. 'yes' or 'no'. Recommended: no.
- Target
- REPORT_STATS
- Default
- no|yes
- Value
- no
true = chat with the public Matrix network. The container serves /.well-known/matrix/* itself (serve_server_wellknown) as long as https://SERVER_NAME/ is routed to Synapse, so no extra proxy rule is needed. false = private island.
- Target
- ENABLE_FEDERATION
- Default
- true|false
- Value
- true
false = accounts created by the admin only (recommended). true = open self-service signup without verification (shows Element's Create Account button). Only enable it behind a CAPTCHA or on a trusted network, or you will get spam signups.
- Target
- ENABLE_REGISTRATION
- Default
- false|true
- Value
- false
false = normal Synapse logins (default, unchanged). true = start Matrix Authentication Service and delegate authentication to it, which is what makes QR code device linking possible. Switching this on is a one-way trip for existing accounts: they stay in Synapse until you run 'mas-cli syn2mas migrate', and after that only a database restore gets you back. Read the README section 'Delegated auth' first. It also needs its own reverse-proxy host and breaks encrypted bridges.
- Target
- AUTH_ENABLED
- Default
- false|true
- Value
- false
Required when Delegated Auth is true. Public https URL of the auth service, e.g. https://auth.yourdomain.tld/. Point a second reverse-proxy host at this container's port 8090. Must be https: the auth service rejects plain-http redirect URLs and Element's sign-in then fails.
- Target
- AUTH_PUBLIC_BASE
Required when Delegated Auth is true. Name of a separate, empty PostgreSQL database for the auth service, which cannot share Synapse's. Create it with: CREATE DATABASE mas TEMPLATE template0 ENCODING 'UTF8' LC_COLLATE 'C' LC_CTYPE 'C';
- Target
- AUTH_POSTGRES_DB
Optional. Leave empty to reuse the PostgreSQL host above.
- Target
- AUTH_POSTGRES_HOST
Optional. Leave empty to reuse the PostgreSQL user above.
- Target
- AUTH_POSTGRES_USER
Optional. Leave empty to reuse the PostgreSQL password above.
- Target
- AUTH_POSTGRES_PASSWORD
Only relevant when Delegated Auth is true. Self-service signup through the auth service's own web UI. Registration through Synapse is impossible under delegated auth, so this replaces Enable Registration.
- Target
- AUTH_ALLOW_REGISTRATION
- Default
- false|true
- Value
- false
Only relevant when Delegated Auth is true, and only needed once. true = migrate your existing Synapse accounts into the auth service on the next start, before Synapse comes up. Back up your database first, because this cannot be undone once anyone has signed in afterwards. Users keep their sessions and are not signed out. It refuses to run if the pre-flight check fails, and it never runs twice. You can leave it on true afterwards, it is a no-op once done.
- Target
- AUTH_MIGRATE
- Default
- false|true
- Value
- false
Only relevant when Delegated Auth is true. Enables MSC4108 so Element offers 'Link new device' with a QR code. Leave on unless you have a reason not to.
- Target
- AUTH_QR_LOGIN
- Default
- true|false
- Value
- true
false = media stored on this container's own volume only (default, unchanged). true = also copy every new upload to an S3-compatible bucket (e.g. SeaweedFS, Garage). The local copy stays as a hot cache. Existing media is not migrated retroactively. Read the README section 'S3 Media Storage' first.
- Target
- S3_MEDIA_ENABLED
- Default
- false|true
- Value
- false
Required when S3 Media Storage is true. Name of an S3 bucket that already exists on your backend.
- Target
- S3_MEDIA_BUCKET
Required when S3 Media Storage is true. Your S3-compatible endpoint URL, e.g. http://192.168.20.73:8333 for a local SeaweedFS S3 gateway. There is no default, because this targets a self-hosted backend, not AWS.
- Target
- S3_MEDIA_ENDPOINT
Required when S3 Media Storage is true. Access key for the bucket above.
- Target
- S3_MEDIA_ACCESS_KEY_ID
Required when S3 Media Storage is true. Secret key for the bucket above.
- Target
- S3_MEDIA_SECRET_ACCESS_KEY
Optional. Most self-hosted backends ignore this, but the S3 client library requires some value. Defaults to us-east-1 if left empty.
- Target
- S3_MEDIA_REGION
Optional. Passed straight through to the bucket. Defaults to STANDARD if left empty.
- Target
- S3_MEDIA_STORAGE_CLASS
Optional. Public hostname clients reach TURN (voice/video) at. Leave empty to use SERVER_NAME; set a dedicated subdomain (e.g. turn.yourdomain.tld) to route TURN around a reverse proxy.
- Target
- TURN_DOMAIN
Optional. Public TURN port advertised to clients (default 3478). Change only if you remapped the published TURN port.
- Target
- TURN_PORT
- Default
- 3478
- Value
- 3478
Your public IP, needed when the server sits behind a router with NAT (the usual home setup). Without it coturn hands out its private address as the relay address, and calls between networks fail even with the TURN ports forwarded. Leave it empty only if the server has a public IP of its own.
- Target
- TURN_EXTERNAL_IP
Optional. Element X places every call through Element Call, which needs a LiveKit server and the LiveKit JWT service running as two more containers. Enter the public https URL of the JWT service, e.g. https://livekit-jwt.yourdomain.tld, and the container sets up Synapse and Element Web for it. See 'Element Call' in the setup guide.
- Target
- ELEMENT_CALL_LIVEKIT_SERVICE_URL
IP of your PostgreSQL server (e.g. Unraid host IP). 192.168.1.10 is a placeholder; replace it with your server's IP. An IP and port are more reliable than container names.
- Target
- POSTGRES_HOST
- Default
- 192.168.1.10
- Value
- 192.168.1.10
PostgreSQL port. Default 5432.
- Target
- POSTGRES_PORT
- Default
- 5432
- Value
- 5432
Postgres user for Synapse. Must already exist (see the Postgres setup in the README).
- Target
- POSTGRES_USER
- Default
- matrix
- Value
- matrix
Password for the Postgres user above.
- Target
- POSTGRES_PASSWORD
Synapse database name. Must be created with ENCODING UTF8, LC_COLLATE='C', LC_CTYPE='C' (see Overview).
- Target
- POSTGRES_DB
- Default
- matrix
- Value
- matrix
Optional. Localpart of the admin user to auto-create on first boot (e.g. 'admin' → @admin:SERVER_NAME). The account logs into Element Web and Synapse-Admin. Clear after creation.
- Target
- ADMIN_USER
Optional. Password for the admin user above. Clear after first boot.
- Target
- ADMIN_PASSWORD
Optional. JSON object merged into the features block (labs flags) of Element Web's config.json, e.g. {"feature_html_topic": true}. A value that is not valid JSON is ignored with a warning in the log.
- Target
- ELEMENT_EXTRA_FEATURES
- Default
- {}
- Value
- {}
Optional. JSON object merged into Element Web's config.json, e.g. {"setting_defaults": {"language": "de_DE"}} to start new sessions in German. Element Web otherwise follows the browser language. A value that is not valid JSON is ignored with a warning in the log.
- Target
- ELEMENT_EXTRA_CONFIG
- Default
- {}
- Value
- {}
Container timezone (affects log timestamps).
- 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
UID Synapse runs as. Default 99 (nobody on Unraid).
- Target
- PUID
- Default
- 99
- Value
- 99
GID Synapse runs as. Default 100 (users on Unraid).
- Target
- PGID
- Default
- 100
- Value
- 100