Poddery - Diaspora, Matrix and XMPP: Difference between revisions
Redirect XMPP to durare and clarify nginx configuration |
|||
| (5 intermediate revisions by one other user not shown) | |||
| Line 1: | Line 1: | ||
We run decentralized and federated [https://diasporafoundation.org/ Diaspora] social | We run decentralized and federated [https://diasporafoundation.org/ Diaspora] social network, [https://xmpp.org/ XMPP] and [https://matrix.org Matrix] instant messaging services at [https://poddery.com poddery.com]. Along with Diaspora, Poddery username and password can be used to access XMPP and Matrix services as well. [https://chat.poddery.com chat.poddery.com] provides Element client (accessed by a web browser), which can be used to connect to any Matrix server without installing the Element app. | ||
= Environment = | = Environment = | ||
| Line 18: | Line 18: | ||
=== Chat/XMPP === | === Chat/XMPP === | ||
* | * This is moved to Durare.org server Virtual Host. See https://gitlab.com/piratemovin/diasp.in/-/wikis/XMPP-durare.org-setup | ||
=== Chat/Matrix === | === Chat/Matrix === | ||
| Line 35: | Line 33: | ||
== Backend Services == | == Backend Services == | ||
=== Web Server / Reverse Proxy === | === Web Server / Reverse Proxy === | ||
* Nginx web server which also acts as front-end (reverse proxy) for Diaspora and Matrix. | * Nginx web server which also acts as front-end (reverse proxy) for Diaspora and Matrix. By default all https requests to 443 are passed to diaspora. Requests starting with | ||
*#_matrix|_synapse is passed to synapse main service and | |||
*#_matrix/media is passed to synapse media worker | |||
=== Database === | === Database === | ||
| Line 234: | Line 234: | ||
* These services must be enabled: | * These services must be enabled: | ||
matrix-synapse@synchrotron.service matrix-synapse@federation_reader.service matrix-synapse@event_creator.service matrix-synapse@federation_sender.service matrix-synapse@pusher.service matrix-synapse@user_dir.service matrix-synapse@media_repository.service matrix-synapse@frontend_proxy.service matrix-synapse@client_reader.service matrix-synapse@synchrotron_2.service | matrix-synapse@synchrotron.service | ||
matrix-synapse@federation_reader.service | |||
matrix-synapse@event_creator.service | |||
matrix-synapse@federation_sender.service | |||
matrix-synapse@pusher.service | |||
matrix-synapse@user_dir.service | |||
matrix-synapse@media_repository.service | |||
matrix-synapse@frontend_proxy.service | |||
matrix-synapse@client_reader.service | |||
matrix-synapse@synchrotron_2.service | |||
To load balance between the 2 synchrotrons, We are running [https://github.com/Sorunome/matrix-synchrotron-balancer matrix-synchrotron-balancer]. It has a systemd file at <code>/etc/systemd/system/matrix-synchrotron-balancer</code>. The files are in <code>/opt/matrix-synchrotron-balancer</code> | To load balance between the 2 synchrotrons, We are running [https://github.com/Sorunome/matrix-synchrotron-balancer matrix-synchrotron-balancer]. It has a systemd file at <code>/etc/systemd/system/matrix-synchrotron-balancer</code>. The files are in <code>/opt/matrix-synchrotron-balancer</code> | ||
| Line 247: | Line 256: | ||
== Chat/XMPP == | == Chat/XMPP == | ||
* | * See https://gitlab.com/piratemovin/diasp.in/-/wikis/XMPP-durare.org-setup | ||
== TLS == | == TLS == | ||
| Line 319: | Line 292: | ||
''34 2 * * 1 /etc/init.d/prosody reload'' | ''34 2 * * 1 /etc/init.d/prosody reload'' | ||
===SSL certificate renewal=== | |||
On the 12th of October 2025, all the certificates were removed and were recreated. [https://codema.in/d/XUfAOrPW/poddery-server-certificates-recreated This thread] documents all those steps. | |||
When renewing certificates on the poddery server, make sure to follow the following steps. | |||
# Stop nginx by running | |||
sudo systemctl stop nginx | |||
# Renew certificates for all the domains | |||
sudo certbot renew | |||
Follow the prompts by certbot to renew certificates for all the domains. | |||
# Start nginx after the renewal is successful | |||
sudo systemctl start nginx | |||
==Backup== | ==Backup== | ||
| Line 481: | Line 465: | ||
For taking the dump, the following was run from the backup-server | For taking the dump, the following was run from the backup-server | ||
<syntaxhighlight lang="bash"> | <syntaxhighlight lang="bash"> | ||
ssh user@poddery-server 'mysqldump -u prosody --password="$(cat <path/to/password-file>)" prosody | gzip' > backups/prosody-backup | ssh user@poddery-server 'mysqldump -u prosody --password="$(cat <path/to/password-file>)" prosody | gzip' > backups/prosody-backup.sql.gz | ||
</syntaxhighlight> | </syntaxhighlight> | ||