Matrix

Matrix

Docker-Anwendung from junkerderprovinz Repository

Übersicht

All-in-one Matrix homeserver for Unraid: Synapse + coturn + Element Web (/element/) + Synapse-Admin (/admin/). Plug-and-play — just fill in SERVER_NAME and Postgres connection, everything else is generated automatically. PREREQUISITES (before starting the container): 1) PostgreSQL database — connect to your Postgres container and run: CREATE USER matrix WITH PASSWORD 'yourpass'; CREATE DATABASE matrix ENCODING 'UTF8' LC_COLLATE='C' LC_CTYPE='C' TEMPLATE template0 OWNER matrix; (UTF8 + LC_COLLATE='C' is mandatory — Synapse will refuse to start otherwise.) 2) Reverse proxy (Nginx Proxy Manager) for matrix.yourdomain.tld → Unraid-IP:8008. In the proxy host → Advanced tab, add: client_max_body_size 100m; proxy_read_timeout 600s; (Without these, media uploads fail and long-running requests time out.) 3) For federation: two extra Custom Locations on the SAME proxy host for /.well-known/matrix/server and /.well-known/matrix/client → Unraid-IP:8080. Full step-by-step guide (NPM screenshots, well-known, first user): https://github.com/junkerderprovinz/matrix#readme

Anforderungen

PostgreSQL container with a database: ENCODING UTF8, LC_COLLATE=C, LC_CTYPE=C

Laufzeit-Argumente

Web-UI
http://[IP]:[PORT:8080]/element/
Netzwerk
bridge
Shell
sh
Privilegiert
false

Konfiguration der Vorlage

Matrix HTTP APIPorttcp

Synapse HTTP API. Expose via reverse proxy with HTTPS — never directly to the internet.

Ziel
8008
Standard
8008
Wert
8008
Element Web + Synapse-AdminPorttcp

Serves Element Web (/element/), Synapse-Admin (/admin/) and /.well-known/matrix/* endpoints.

Ziel
8080
Standard
8080
Wert
8080
TURN TCPPorttcp

TURN/STUN over TCP for voice/video calls. Open this port in your router/firewall.

Ziel
3478
Standard
3478
Wert
3478
TURN UDPPortudp

TURN/STUN over UDP for voice/video calls. Open this port in your router/firewall.

Ziel
3478
Standard
3478
Wert
3478
TURN TLS TCPPorttcp

TURN over TLS (TCP). Optional — only if TLS certs are mounted.

Ziel
5349
Standard
5349
Wert
5349
TURN TLS UDPPortudp

TURN over TLS (UDP). Optional — only if TLS certs are mounted.

Ziel
5349
Standard
5349
Wert
5349
Prometheus MetricsPorttcp

Prometheus metrics at /_synapse/metrics. Bind to a private network only.

Ziel
9090
Standard
9090
Wert
9090
Data DirectoryPath

Persistent data: homeserver.yaml, media, signing keys. Never delete — destroys keys and breaks federation.

Ziel
/data
Standard
/mnt/user/appdata/matrix/
Wert
/mnt/user/appdata/matrix/
TURN-TLS CertsPathro

Optional. Mount a folder containing fullchain.pem + privkey.pem to enable TURN-TLS on 5349.

Ziel
/data/certs
Matrix Server DomainVariable

Your Matrix domain, e.g. matrix.yourdomain.tld. Used in Matrix IDs (@user:matrix.yourdomain.tld). Cannot be changed later without wiping the DB.

Ziel
SERVER_NAME
Wert
matrix.yourdomain.tld
Anonymous Usage ReportingVariable

Send anonymous usage stats to Matrix.org. 'yes' or 'no'. Recommended: no.

Ziel
REPORT_STATS
Standard
no
Wert
no
Enable FederationVariable

true = chat with the public Matrix network (requires /.well-known/matrix/* on your proxy, see README). false = private island.

Ziel
ENABLE_FEDERATION
Standard
true
Wert
true
PostgreSQL HostVariable

IP of your PostgreSQL server (e.g. Unraid host IP). IP+port is more reliable than container names.

Ziel
POSTGRES_HOST
Standard
192.168.x.x
Wert
192.168.x.x
PostgreSQL PortVariable

PostgreSQL port. Default 5432.

Ziel
POSTGRES_PORT
Standard
5432
Wert
5432
PostgreSQL UsernameVariable

Postgres user for Synapse. Must already exist (see README — Postgres setup).

Ziel
POSTGRES_USER
Standard
admin
Wert
admin
PostgreSQL PasswordVariable

Password for the Postgres user above.

Ziel
POSTGRES_PASSWORD
PostgreSQL DatabaseVariable

Synapse database name. Must be created with ENCODING UTF8, LC_COLLATE='C', LC_CTYPE='C' — see Overview.

Ziel
POSTGRES_DB
Standard
matrix
Wert
matrix
Matrix Admin Username (Element / Synapse-Admin login)Variable

Optional. Localpart of the admin user to auto-create on first boot (e.g. 'admin' → @admin:SERVER_NAME). Logs into Element Web + Synapse-Admin. Clear after creation.

Ziel
ADMIN_USER
Matrix Admin Password (Element / Synapse-Admin login)Variable

Optional. Password for the admin user above. Clear after first boot.

Ziel
ADMIN_PASSWORD
TimezoneVariable

Container timezone (affects log timestamps).

Ziel
TZ
Standard
Europe/Vienna
Wert
Europe/Vienna
User ID (PUID)Variable

UID Synapse runs as. Default 99 (nobody on Unraid).

Ziel
PUID
Standard
99
Wert
99
Group ID (PGID)Variable

GID Synapse runs as. Default 100 (users on Unraid).

Ziel
PGID
Standard
100
Wert
100

Einzelheiten

Repository
ghcr.io/junkerderprovinz/matrix:latest
Zuletzt aktualisiert2026-05-31
Erstmals gesehen2026-05-13

Führen Sie Matrix auf Unraid aus.

Matrix ist gelistet in Community Apps für Unraid OS. Erkunden Sie Unraid, um einen flexiblen Heimserver, ein NAS oder ein Heimlabor aufzubauen.