|
|
| (One intermediate revision by one other user not shown) |
| Line 18: |
Line 18: |
|
| |
|
| === Chat/XMPP === | | === Chat/XMPP === |
| * [https://prosody.im/ Prosody] is used as the XMPP server which is modern and lightweight. | | * This is moved to Durare.org server Virtual Host. See https://gitlab.com/piratemovin/diasp.in/-/wikis/XMPP-durare.org-setup |
| * Currently installed version is 0.11.2 which is available in [https://packages.debian.org/buster/prosody Debian Buster].
| |
| * All XEPs are enabled which the [https://conversations.im/ Conversations app] support.
| |
|
| |
|
| === 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 256: |
Line 256: |
|
| |
|
| == Chat/XMPP == | | == Chat/XMPP == |
| * Steps for setting up Prosody is given at https://wiki.debian.org/Diaspora/XMPP | | * See https://gitlab.com/piratemovin/diasp.in/-/wikis/XMPP-durare.org-setup |
| # Follow steps 1 to 6 from https://wiki.debian.org/Diaspora/XMPP and then run the following:
| |
| mysql -u root -p # Enter password from the access repo
| |
|
| |
| CREATE USER 'prosody'@'localhost' IDENTIFIED BY '<passwd_in_repo>';
| |
| GRANT ALL PRIVILEGES ON diaspora_production.* TO 'prosody'@'localhost';
| |
| FLUSH PRIVILEGES;
| |
|
| |
| systemctl restart prosody
| |
| | |
| * Install plugins
| |
| # Make sure <code>mercurial</code> is installed
| |
| cd /etc && hg clone https://hg.prosody.im/prosody-modules/ prosody-modules
| |
| | |
| === Set Nginx Conf for BOSH URLS ===
| |
| * Add the following in <code>nginx</code> configuration file to enable the BOSH URL to make JSXC Working:
| |
| upstream chat_cluster {
| |
| server localhost:5280;
| |
| }
| |
| | |
| location /http-bind {
| |
| proxy_set_header X-Real-IP $remote_addr;
| |
| proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
| |
| proxy_set_header Host $http_host;
| |
| proxy_set_header X-Forwarded-Proto https;
| |
| proxy_redirect off;
| |
| proxy_connect_timeout 5;
| |
| proxy_buffering off;
| |
| proxy_read_timeout 70;
| |
| keepalive_timeout 70;
| |
| send_timeout 70;
| |
| client_max_body_size 4M;
| |
| client_body_buffer_size 128K;
| |
| proxy_pass http://chat_cluster;
| |
| }
| |
| | |
| * [https://wiki.diasporafoundation.org/Integration/Chat#Nginx See here] for more details on <code>nginx</code> configuration. Alternatively, <code>apache</code> settings can be found [https://github.com/jsxc/jsxc/wiki/Prepare-apache here].
| |
|
| |
|
| == TLS == | | == TLS == |
| Line 328: |
Line 292: |
| ''34 2 * * 1 /etc/init.d/prosody reload'' | | ''34 2 * * 1 /etc/init.d/prosody reload'' |
|
| |
|
| * Manually updating TLS certificate:
| | ===SSL certificate renewal=== |
| letsencrypt certonly --webroot --agree-tos -w /usr/share/diaspora/public -d poddery.com -d www.poddery.com -d test.poddery.com -d groups.poddery.com -d fund.poddery.com -w /usr/share/diaspora/public/save -d save.poddery.com -w /var/www/riot -d chat.poddery.com
| | 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. |
| * To include an additional subdomain such as fund.poddery.com use with --expand parameter as shown below
| | |
| letsencrypt certonly --webroot --agree-tos --expand -w /usr/share/diaspora/public -d poddery.com -d www.poddery.com -d test.poddery.com -d groups.poddery.com -d fund.poddery.com -w /usr/share/diaspora/public/save/ -d save.poddery.com -w /var/www/riot/ -d chat.poddery.com | | 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== |