Shashank Sabniveesu

Setting up Matrix Server for Community Learning Project (Part 2)

Between Dec 19 2020 and today i.e. Dec 23 2020, I tested the matrix-synapse homeserver setup in various configurations:

Blockers

As soon as I joined a public community (on a different homeserver) with lot of messages (events as Matrix would refer to it), the process of synchronizing (Scroll to How does it Work) consumed too many resources on my server that I had to forcefully restart it

Google Cloud Resource Utilization

My SSH session went unreponsive. You can see my keypresses attempting to exit the session SSH session hung during sync

Decision Time

While I have in-place a flow for registration approval and the desired Terms and Conditions acceptance and tracking is possible today, for the reasons listed below, I am making a change in the direction of this project:

  1. I cannot prevent users registering on my homeserver from joining other public communities at their will. The reasons are both
    • Technical - While federation is enabled, the Synapse server implementation today does not provide a way to prevent (non-admin/admin) users from joining public communities and
    • Intentional - While the matrix protocol today provides for implementing an “Access Control List” of other homeservers that can be whitelisted, I do not believe it to be in the best interests of members in this On-Ramp To Python and other friends to be prevented from engaging with larger communities to advance their learning
  2. My current budget allocation for this project has to be increased at least by 5 times to run a large enough server that staisifes the goals of this project - to be an accommodating learning platform where our data is in our control

So?

To hit all the goals stated above, I will be

For help with server provisioning and user provisioning, you can always send me a Direct Message on Twitter or Open an Issue on Github.