MatrixEasyMode / Get Started
Deploy Matrix the easy way
Follow the quick path to get MatrixEasyMode running on a Linux host, then create your first Matrix + Element stack from the web UI.
Start here before launching the app
MatrixEasyMode currently expects Nginx Proxy Manager to be running first, with your wildcard certificate already created in NPM. Set that up before starting the MatrixEasyMode application layer.
The quick path
MatrixEasyMode uses a simple staged startup: bring up infrastructure first, finish Nginx Proxy Manager and certificate setup, then start the application layer.
Follow the order below and you should get from first clone to a working MatrixEasyMode deployment with less guesswork.
Prepare your host
Use a Linux host with Docker Engine, the Docker Compose plugin, a domain you control, and DNS access.
Clone MatrixEasyMode
Clone the deployment repository, enter the project directory, and make the helper scripts executable.
Run the installer
The installer creates your .env file, generates secrets, collects hostnames, validates Compose, and prepares the stack.
Set up Nginx Proxy Manager
Start infrastructure, open NPM, complete first login if needed, and create the wildcard certificate for your domain.
Start MatrixEasyMode
Once NPM and the wildcard certificate are ready, start the application layer.
Check everything is ready
Confirm the stack is running, review logs, and open your public MatrixEasyMode URLs.
Install MatrixEasyMode
This is the script-first install path. Clone the deployment pack, run the installer, start infrastructure, finish Nginx Proxy Manager and certificate setup, then bring up the MatrixEasyMode application layer.
1. Clone and prepare
Start by cloning the repository, entering the project directory, and making the helper scripts executable.
git clone https://github.com/matrix-easy-mode/mem-deploy
cd mem-deploy
chmod +x install.sh stack.sh tools.sh2. Run the installer
The first-time path is to run the installer. It creates .env, generates required secrets, prompts for runtime configuration, validates Docker Compose, and can optionally start infrastructure for you.
./install.sh3. Local mode only: build images
If you selected local image mode, build the application images before starting the app layer. If you selected registry mode, skip this step.
./stack.sh build app4. Start infrastructure
Start infrastructure before the app layer. At this stage PostgreSQL and Nginx Proxy Manager should be running, but MatrixEasyMode itself should not be started yet.
./stack.sh status
./stack.sh up infra5. Start the app layer
Once Nginx Proxy Manager is running and the wildcard certificate exists, start the MatrixEasyMode application services.
./stack.sh up app6. Verify startup
Check the current stack state and follow the application logs to confirm everything came up cleanly.
./stack.sh status
./stack.sh logs appInstaller inputs
The installer asks for the values MatrixEasyMode needs to generate your environment file: image mode, public hostnames, Nginx Proxy Manager access, certificate name, and database secrets.
Image source
Chooseregistryfor published images, orlocalif you are building the API and web images yourself.
Public app hostname
The public hostname users open in their browser, for exampleadmin.your-domain.com
Public API hostname
The public hostname browsers use to reach the API, for exampleapi.your-domain.com
Public host suffix
The domain suffix MatrixEasyMode uses when generating public service hostnames, for exampleyour-domain.com
Wildcard certificate name
This must match the wildcard certificate already present in Nginx Proxy Manager, for example*.your-domain.com
NPM login details
Use credentials accepted by your Nginx Proxy Manager instance. MatrixEasyMode uses these to create and manage proxy hosts through the NPM API.
MEM_IMAGE_SOURCE=registry
NEXTAUTH_URL=https://admin.your-domain.com
NEXT_PUBLIC_API_URL=https://api.your-domain.com
HOSTNAMING_PUBLIC_HOST_SUFFIX=your-domain.com
NPM_BASEURL=http://npm:81/api
NPM_IDENTITY=admin@your-domain.com
NPM_SECRET=change-me
INGRESS_CERTIFICATE_NAME=*.your-domain.comFinish NPM before starting the app
Before starting MatrixEasyMode, open Nginx Proxy Manager, complete the initial admin flow if needed, and create the wildcard certificate for your domain.
MatrixEasyMode expects that certificate to exist before the app layer starts. If it is missing, ingress setup will fail.
Confirm four things before continuing: NPM is reachable, your login details work, the wildcard certificate exists, and the certificate name matches the value used by the installer.
http://<your-server>:81Typical public URLs
Once infrastructure, DNS, certificates, and the app layer are all in place, verify the expected public entrypoints for your environment.
https://admin.your-domain.com
https://api.your-domain.com
http://your-server:81Need the full setup details?
The quick path gets you moving. Use the full docs when you need raw Docker Compose details, local builds, custom layouts, configuration reference, or troubleshooting guidance.
