Matrix

Matrix

Application Docker from junkerderprovinz Repository

Vue d'ensemble

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

Exigences

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

Arguments d'exécution

Interface utilisateur Web
http://[IP]:[PORT:8080]/element/
Réseau
bridge
Coquille
sh
Privilégié
false

Configuration du modèle

Matrix HTTP APIPorttcp

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

Cible
8008
Défaut
8008
Valeur
8008
Element Web + Synapse-AdminPorttcp

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

Cible
8080
Défaut
8080
Valeur
8080
TURN TCPPorttcp

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

Cible
3478
Défaut
3478
Valeur
3478
TURN UDPPortudp

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

Cible
3478
Défaut
3478
Valeur
3478
TURN TLS TCPPorttcp

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

Cible
5349
Défaut
5349
Valeur
5349
TURN TLS UDPPortudp

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

Cible
5349
Défaut
5349
Valeur
5349
Prometheus MetricsPorttcp

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

Cible
9090
Défaut
9090
Valeur
9090
Data DirectoryPath

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

Cible
/data
Défaut
/mnt/user/appdata/matrix/
Valeur
/mnt/user/appdata/matrix/
TURN-TLS CertsPathro

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

Cible
/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.

Cible
SERVER_NAME
Valeur
matrix.yourdomain.tld
Anonymous Usage ReportingVariable

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

Cible
REPORT_STATS
Défaut
no
Valeur
no
Enable FederationVariable

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

Cible
ENABLE_FEDERATION
Défaut
true
Valeur
true
PostgreSQL HostVariable

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

Cible
POSTGRES_HOST
Défaut
192.168.x.x
Valeur
192.168.x.x
PostgreSQL PortVariable

PostgreSQL port. Default 5432.

Cible
POSTGRES_PORT
Défaut
5432
Valeur
5432
PostgreSQL UsernameVariable

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

Cible
POSTGRES_USER
Défaut
admin
Valeur
admin
PostgreSQL PasswordVariable

Password for the Postgres user above.

Cible
POSTGRES_PASSWORD
PostgreSQL DatabaseVariable

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

Cible
POSTGRES_DB
Défaut
matrix
Valeur
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.

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

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

Cible
ADMIN_PASSWORD
TimezoneVariable

Container timezone (affects log timestamps).

Cible
TZ
Défaut
Europe/Vienna
Valeur
Europe/Vienna
User ID (PUID)Variable

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

Cible
PUID
Défaut
99
Valeur
99
Group ID (PGID)Variable

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

Cible
PGID
Défaut
100
Valeur
100

Détails

Référentiel
ghcr.io/junkerderprovinz/matrix:latest
Dernière mise à jour2026-06-01
Première vue2026-05-13

Exécutez Matrix sur Unraid.

Matrix est listé dans Community Apps pour Unraid OS. Explorez Unraid pour créer un serveur domestique flexible, un NAS ou un laboratoire domestique.