Matrix server automated install
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
Miguel Gagliardo 4a24247be5 Setting versions 5 个月前
config Moving files around 5 个月前
README.md Adding Hydrogen-web frontend 5 个月前
coturn.service Moving files around 5 个月前
docker-compose.yaml Setting versions 5 个月前
homeserver.yaml.db Changing DB user 5 个月前
install.sh Hardening server 5 个月前
killall.sh Adding crontab removal 5 个月前
matrix.service Moving files around 5 个月前

README.md

Matrix server installation

Prerequisites

  • A Linux VM with Ubuntu Server (20.04 minimum, 22.04 recommended).
  • A Domain name (can be root or subdomain) but it is a must the A record for the domain to be pointed to the server’s public IP.
    • e.g. example.com A 1.1.1.1: Being example.com the domain record and 1.1.1.1 the public IP of the server.
  • Ports 80 and 443 MUST be accessible from the internet to the server.
    • This installation does not yet support a server running behind a proxy.

Components

The following components are included in the installer:

  1. Docker
  2. Matrix backend (synapse)
  3. Matrix frontend (element & hydrogen-web)
  4. Matrix DB (PostgreSQL)
  5. Matrix Admin Panel: https://<URL>/admin
  6. Coturn server (required for voice chat/videocalls)
  7. Nginx server (required for reverse proxying)
  8. SSL certificate via LetsEncrypt with automatic renewal

Installation

Note: Please remember that it’s a prerequisite the Domain A record needs to be pointed to the server’s public IP and resolving.

  1. Download the matrix directory, recommended: /tmp
  2. Enter the directory and grant exec permissions to run the installer and execute it, you will need the domain name, e.g.:
cd /tmp/matrix
chmod +x install.sh
./install.sh <DOMAIN>
  1. Wait for the installer to finish. Enjoy the matrix server :)

Note: https://DOMAIN will take you to the default frontend (Element) whilst https://DOMAIN/hydrogen/ (note the last forward slash) will take you to the Hydrgeon-Web frontend

How to use the server

Simply open your favourite web browser and go to https://, which will show the Element Web UI. Registrations are disabled by default.

Creating users

The first user will need to be created via command line interface, this is unique and it will be the admin user. To do this simply:

  1. SSH into the host
  2. Go to the directory /opt/matrix
  3. Create the user running the following command:
% cd /opt/matrix
% docker compose exec synapse register_new_matrix_user --user <USER_NAME> --password <PASSWORD> --admin --config /data/homeserver.yaml

From there after, you can just use the admin panel to create users, the admin panel is located in https://<DOMIN>/admin (it requires admin user login)

Cleanup

To remove everything from the server, just run the killall.sh script:

% cd /opt/matrix
% ./killall.sh 
WARNING: Will remove everything now. Please confirm: (Y/N) 

Select the option Y (yes) and it’ll be done