summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2024-01-12Increase smacks hibernation time to 1 dayMatthew Fennell
This is based on the recommendation of Monal's "Considerations for XMPP server admins" document.
2024-01-12Enable mod_external_servicesMatthew Fennell
This commit adds support for XEP-0215, or the discovery of external services.
2024-01-12Enable mod_cloud_notifyMatthew Fennell
This commit adds support for XEP-0357, or cloud push notifications, and lets notifications be reliably delivered on iOS and Android.
2024-01-12Replace csi_simple with csi_battery_saverMatthew Fennell
This should help reduce XMPP clients' battery consumption on mobile devices.
2024-01-12Increase archive expiry to 10 yearsMatthew Fennell
I would like the message expiry to be very long, so that there is very little chance of users not being able to retrieve messages.
2024-01-08Enable XEP-0065Matthew Fennell
This commit enabled SOCKS5 Bytestreams, allowing users to send and receive files.
2024-01-08Become root during package installationMatthew Fennell
Previously, the playbook would fail if it needed to install packages, as this (in the case of apt) requires sudo.
2024-01-08Add borgmatic init instructionsMatthew Fennell
At present, these are not automated by the runbook and need to be manually run as part of setup for each new managed host the playbook is run against.
2024-01-08Ensure borgmatic config directory existsMatthew Fennell
This directory is created by a user command, not as part of the package installation process. Therefore, it may not exist if the user has not yet configured borgmatic on the host.
2024-01-08Simplify validation of borgmatic fileMatthew Fennell
This commit uses the simpler, more standard validate feature of template instead of triggering a handler. The feature is there - may as well use it!
2024-01-08Install borgmatic in the playbookMatthew Fennell
This commit adds borgmatic, to provide automated backups.
2024-01-08Encourage use of host_var yaml filesMatthew Fennell
For now, there are not too many variables to set per host. However, this will likely change in future commits, with a greater number of variables needing to be configured. Therefore, this commit encourages the user to define these variables in a yaml file, which will be more cleanly scalable.
2024-01-08Run yamllint on template filesMatthew Fennell
I may in the future introduce yaml config file templates, since this is a relatively common format for configuring services. If I do so, I should ensure that yamllint gets run on these too.
2024-01-07Add (simple case) DNS instructions to the readmeMatthew Fennell
This commit adds some basic DNS instructions for the initial setup of the host, which can be used when the domain of the JID matches the domain of the host.
2024-01-07Assign prosody config files to prosody groupMatthew Fennell
The playbook previosuly assigned the prosody config files to the root group. With root as the owner, and permissions as 0640, this meant that prosody was not able to read the files. This commit fixes this.
2024-01-07Ensure certificates are installedMatthew Fennell
This commit ensures certificates are installed, via Lets Encrypt.
2024-01-07Only reload prosody if its configuration changesMatthew Fennell
There is no sense reloading prosody if none of its configuration files have changed. Therefore, this commit moves the reload to a handler that only gets triggered in this situation.
2024-01-07Re-introduct yamllintMatthew Fennell
There are some checks that are enabled by default in yamllint, that are not caught by default by ansible-lint. For instance, ansible-lint does not check for line lengths in its default configuration. Therefore, we would like to re-introduce yamllint to make sure we do not miss any checks.
2024-01-07Replace yamllint with ansible-lintMatthew Fennell
ansible-lint uses yamllint under the hood, and also checks for many more "logical" errors in the ansible config.
2024-01-07Add vim .swp files to .gitignoreMatthew Fennell
I would like to avoid accidentally committing one of these files.
2024-01-07Add virtual host specific configMatthew Fennell
This commit uses the new per-host virtual_host variable to create the necessary prosody host-specific cfg files.
2024-01-07Install prosody config fileMatthew Fennell
This commit adds a prosody configuration file that can be installed on the remote hosts. This lets me make the configuration locally, deploy it to staging environments, and then to prod, without having to directly login to the hosts.
2024-01-07Open ports for OpenSSH, WWW and XMPPMatthew Fennell
This commit enables the necessary ports for XMPP, web hosting (to allow certbot to renew automatically) and SSH.
2024-01-07Add initial playbookMatthew Fennell
At present, the playbook simply ensures that all required packages are installed.
2024-01-07Add project licenseMatthew Fennell
This project is licensed under AGPL-3.0-only. I would like to use reuse across this project, therefore the license is placed in the LICENSES directory.