Project

General

Profile

Ungleich Matrix-as-a-Service (MaaS) » History » Version 53

Nico Schottelius, 10/06/2024 12:43 PM

1 1 Timothée Floure
h1. Ungleich Matrix-as-a-Service (MaaS)
2
3 3 Timothée Floure
{{toc}}
4
5 8 Timothée Floure
*%{color:green}This document concerns end-users/customers. See [[The ungleich Matrix infrastructure]] page for server-side documentation.%*
6 1 Timothée Floure
7
h2. Status
8
9 8 Timothée Floure
This document is *in PRODUCTION*
10 2 Timothée Floure
11
h2. Overview
12
13 51 Sanghee Kim
"Matrix":https://matrix.org/ is an open and decentralized IM system supporting modern features such as end-to-end encryption, message history, bridging to other networks, VoIP and more. It is based a federated structure, similar to what is done with emails: users use a home server as 'gateway' to the network. Our MaaS offer provides you with such a server as well as an hosted web client, "Element":https://element.io/.
14 1 Timothée Floure
15 52 Sanghee Kim
"Element's features page":https://element.io/features gives you a good overview of Matrix's possibilities.
16 5 Timothée Floure
17 25 Sanghee Kim
h2. Domain
18
19 3 Timothée Floure
h3. Q: What server name will I get?
20
21 11 Nico Schottelius
You can either use your own domain name (see below) or ask us for $ORGANIZATION.0co2.cloud.
22 1 Timothée Floure
23 2 Timothée Floure
h3. Q: Can I use a custom domain name?
24 3 Timothée Floure
25 11 Nico Schottelius
Yes! You will have to give us three domain names:
26 1 Timothée Floure
27 13 Nico Schottelius
* a) *the homeserver*: this is where the actual server is running - this can be on domain "A" - in case of ungleich we use *ungleich.matrix.ungleich.cloud* and give away *YOURNAME.matrix.ungleich.cloud* for free
28
* b) *the address of the web client* - this is where people with their webbrowser go to - this should be different from "A". Often this is something like *chat.example.org* or *matrix.example.org*. In case of ungleich this domain is *matrix.ungleich.ch.*
29
* c) *the main matrix domain*: the one you use for users and rooms. This is usually your main domain and is different from A. For ungleich this is *ungleich.ch*. Most people will choose their "main domain", for instance *example.org* here.
30 11 Nico Schottelius
31
You will also need to configure 2 files below *the main matrix domain*
32
33 12 Nico Schottelius
- */.well-known/matrix/server* containing *{"m.server": "homeserver:443"}*.
34 11 Nico Schottelius
       Example: <pre>$ curl https://ungleich.ch/.well-known/matrix/server
35 1 Timothée Floure
{"m.server": "ungleich.matrix.ungleich.cloud:443"}</pre>
36 12 Nico Schottelius
   - */.well-known/matrix/client* containing *{ "m.homeserver": { "base_url": "https://homeserver" } }*. Example: <pre>
37 11 Nico Schottelius
curl https://ungleich.ch/.well-known/matrix/client 
38
{ "m.homeserver": { "base_url": "https://ungleich.matrix.ungleich.cloud" } }
39
</pre>
40 1 Timothée Floure
41 15 Nico Schottelius
h3. Q: Why can't I use the same domain for everything?
42
43
The home server should be on a different domain to prevent possible XSS (cross site scripting) attacks.
44
You can find details about it on https://github.com/matrix-org/synapse#security-note.
45
46 1 Timothée Floure
For this reason we offer YOURNAME.matrix.ungleich.cloud for free for all homeservers.
47 53 Nico Schottelius
48
h3. Q: What if I only have one domain?
49
50
If you only have one domain, let's say chat.example.com, we can provide you with a domain for either the webclient or synapse.
51 15 Nico Schottelius
52 16 Nico Schottelius
h3. Q: How many domains do I need for a standard matrix setup?
53
54
Typically 3 domain names are used:
55
56
* The domain that defines your *room and user names* (for ungleich this is *ungleich.ch*)
57 1 Timothée Floure
* The domain that your users type in the web browser to join the chat (for ungleich this is *matrix.ungleich.ch*)
58
* The domain on which your *homeserver* (the server providing the matrix server) is reachable (for ungleich this is *ungleich.matrix.ungleich.cloud*)
59
60
The homeserver needs to be on a different domain than the other two to avoid possible XSS attacks.
61 28 Sanghee Kim
62
h3. Q: Can I change the subdomain after the Matrix setup? 
63
64
No, since your homeserver will federate with the broader network.
65
66 1 Timothée Floure
h2. Registration
67
68
h3. Q: What kind of registration policy could be implemented for a matrix instance?
69
70
You can easily:
71
72
- Close registrations, create users by hand from the admin UI.
73
- Let anyone register.
74
- Use an external source for authentication (e.g. company directory / account system).
75
- Use a token based registration (https://matrix.org/docs/projects/other/matrix-registration)
76 41 Sanghee Kim
- Filter spam users via CAPTCHA (the admin user will need to have a Google account for managing the registration)
77 1 Timothée Floure
78
If your use case is in the above list, you can get in touch with our team to find a fitting solution.
79
80 29 Nico Schottelius
h3. Q: How can I create users if I public signup is disabled?
81
82 30 Sanghee Kim
After setup you will receive a username/password pair from us on a secure channel. You can use this information to login to https://admin.matrix.ungleich.cloud.
83 29 Nico Schottelius
84 1 Timothée Floure
h3. Q: We would like to be able to moderate registration requests. For example, we'll have a list of approved emails to reference against those submitted. Would this be possible?
85
86 30 Sanghee Kim
There is no 'approval' system in matrix/synapse right now. Either:
87 1 Timothée Floure
88
Everyone can register.
89
You register new users via the admin interface.
90
Approval is handled on a third-party service, which provides an authentication backend to matrix/synapse.
91 45 Sanghee Kim
92
h3. Q: We are receiving a lot of spam users in our Matrix. How can we control this at registration?
93
94 50 Sanghee Kim
You could enable CAPTCHA to filter new accounts registration. You can send us your CAPTCHA key following the steps below, and we can change your configuration with it with a small config change fee of 30 CHF. For enabling CAPTCHA you would need a Google account.
95 45 Sanghee Kim
96 46 Sanghee Kim
1. Register a new site at https://www.google.com/recaptcha/admin/create
97 45 Sanghee Kim
98
* Set the label to anything you want
99
* Set the type to reCAPTCHA v2 using the "I'm not a robot" Checkbox option. This is the only type of captcha that works with Synapse.
100 47 Jin-Guk Kwon
* Add the domain of element web(if you have) /  if you don't have element-web, you should public hostname for your server, as set in public\_baseurl, to the list of authorized domains. If you have not set public\_baseurl, use server\_name.
101 45 Sanghee Kim
* Agree to the terms of service and submit.
102
103
2. Copy your site key and secret key and send it to us.
104 26 Sanghee Kim
105 1 Timothée Floure
h2. Encryption
106
107
h3. Q: Are video/audio calls in Matrix End-to-end-encrypted(E2EE)?
108
109
Video & Phone is handled by a jitsi server by default - matrix adds it as an integration, but does not handle video/audio directly. So the answer is: not E2EE for audio/video.
110
111
h3. Q: Does ungleich have access to my Matrix admin UI? How does my chat content stay secure?
112
113
Once you change the initial password we do not have external access to the software anymore but we have access to the underlying server since we manage it: we can read and change things in the database 'by hand' since we have physical access to it. However end-to-end encrypted rooms stay secure. The content is encrypted with the user's keys and to us it will be shown in ciphertext.
114 26 Sanghee Kim
115 36 Sanghee Kim
h2. Configuration changes
116
117
Changing your Matrix configurations after setup requires manual work from our team. The configuration can be supported with following pricing.
118
119 49 Sanghee Kim
* Small configuration change: 30 CHF (ex: adding CAPTCHA to registration for spam control)
120
* Medium configuration change: 70 CHF (ex: adding single sign-on or changing the authentication method)
121 48 Sanghee Kim
* Other configuration changes are charged on hourly basis with an order of a minimum of 1 hour. The rate for Matrix configuration work is 250 CHF per hour.
122 36 Sanghee Kim
123 26 Sanghee Kim
h2. FAQ
124
125
h3. Q: How many users can I have? What are the resources allocated to my matrix server?
126
127
We do not enforce a limit of the number of users: you can do anythign you want as long as you fit the resources allocated to your homeserver. You are provided with 1GB of memory, 1vCPU and 20GB of storage with the base offer, which can be extended on demand (Pricing is the same as ipv6onlyhosting VMs, since that's what we use underneath).
128
129
h3. Q: What server implementation and version do you use?
130
131 42 Jin-Guk Kwon
We use the "synapse reference homeserver":https://github.com/matrix-org/synapse/ package "provided by docker hub.(https://hub.docker.com/r/matrixdotorg/synapse)
132 26 Sanghee Kim
133
h3. Q: What client can I use? Do you recommend one?
134
135 32 Sanghee Kim
We recommend and provide you a web version of the "Element client":https://element.io/ (desktop and mobile) but you can use "any matrix client":https://matrix.org/clients/.
136 26 Sanghee Kim
137
h3. Q: Can I set option X in synapse/riot?
138
139
Yes! Contact the ungleich support with the requested changes, which we will apply to the deployment configuration of your instance.
140
141
h3. Q: Do you provide a TURN server for VoIP?
142
143
Yes.
144
145
h3. Q: What are application services can I use?
146
147
We support bridging to other services (IRC, Matrix, Telegram, Slack, ...) via "matterbridge":https://github.com/42wim/matterbridge, deployed on demand.
148
149
h3. Q: If I do not use an LDAP directory, can I still manage my users?
150
151
Yes! We provide you with a management UI on https://admin.matrix.ungleich.cloud. You will have to use the full address of your matrix homeserver (e.g. ungleich.matrix.ungleich.cloud).
152
153
h3. Q: How can I delete rooms in Matrix?
154
155
To delete a room, simply everybody in the room needs to leave the room. Then the room gets removed from the server. If you are admin, you can kick everybody in the room if you want to force remove the room.
156 33 Sanghee Kim
157
h2. Matrix UI/UX development support program
158
159
On 2020-04-21 we started our new support program to specifically enhance the UI and UX of Matrix. With this program we want to enhance the usability of the web client and the apps.
160
161
h3. How the matrix support program works
162
163
If you want to support UI/UX improvements of Matrix, you can support the work financially with 15 CHF (roughly about 15 USD) as a one time or monthly payment (below 15 CHF is costing too much in transfer fees).
164
To do so, write an email with the subject "I want to support the Matrix UI/UX improvements" to support -at- ungleich.ch and include the amount that you are willing to contribute and whether you want to pay via credit card or wire transfer.
165
Also mention whether you want to be publicly listed as a supporter on this website.
166
167
h3. Development and transparency
168
169
All money that comes in will only be used to finance development and design work related to Matrix. We will continuously update this website with contributions and which tasks we work on.
170
171 34 Sanghee Kim
h3. Why is ungleich doing this?
172 33 Sanghee Kim
173
We at ungleich think that Matrix has one really, really huge edge over almost all other solutions: it is really decentralised and federated. It finally solves the problems of data silos that exists in many places in IT.
174
However we do acknowledge that Matrix can benefit a lot from UI/UX improvements and thus we wanted to create an easy way for anyone to contribute to it.
175 35 Sanghee Kim
176 33 Sanghee Kim
h3. List of tasks / work
177
178
"UI/UX improvement suggestions for matrix":https://redmine.ungleich.ch/issues/7876