summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2025-07-06Remove debug logging optionMatthew Fennell
Debug logging was historically enabled in nonprod. This would let me test interactions between the client and the server by checking exactly what was sent and received. However, this will shortly not be needed as prosody 13 supports prosodyctl shell watch log, allowing me to "dip in" to debug logs whenver needed.
2025-07-06Remove anonymous login supportMatthew Fennell
This was originally intended for motoristic, but is no longer needed by any domain.
2025-07-06Remove roster group supportMatthew Fennell
This was only ever enabled for testing purposes, and is no longer needed.
2025-07-06Share turnserver between vhosts on same machineMatthew Fennell
I made a mistake in the original configuration - I tried to give each virtual host a separate turnserver on its own subdomain. However, since koyo.haus and fennell.dev (and likewise in nonprod) share a virtual machine, they can only have one turnserver between them (in the turnserver.conf, there can only be a single realm). Therefore, always point to koyo.haus for the turnserver in each environment.
2025-07-06Add 5GB fileshare limit to each virtual hostMatthew Fennell
2025-07-05Manage certificates on localhostMatthew Fennell
I used to have a dedicated server for cert renewals; now I just run it from my laptop, with an increased cron frequency. This is simpler, especially when there is a powercut, and I'll certainly use my laptop every 30 days.
2025-07-05Do not deploy to staging on pre-commitMatthew Fennell
It's too time-consuming, especially when making multiple commits in one go, and having tested those changes by manually running make staging already.
2025-07-05Do not register users on runMatthew Fennell
These steps where not idempotent, because there was no way to check if the password was correct. So, they would again each time. The playbook gets run infrequently enough, and it is simple enough, to add users manually.
2025-07-05Remove no longer used on_renew scriptMatthew Fennell
2025-07-05Use --diff flag in MakefileMatthew Fennell
This makes it easier to debug why a step is unexpectedly not idempotent.
2025-07-05Remove borgmaticMatthew Fennell
Backups are now handled outside of the playbook.
2025-07-05Reset http_file_share_size_limit to defaultMatthew Fennell
This was quite generous, and if everyone used it at the same time, the host would fall over!
2025-07-05Only show clients with a good UX for new usersMatthew Fennell
2025-07-05Accept SSL connections on IPv6Matthew Fennell
2024-09-05Install custom unattended-upgrades configMatthew Fennell
The main way the config varies from Debian's default, is that we make sure to reboot after each upgrade.
2024-08-19Enable roster groupsMatthew Fennell
This is useful for two reasons: * To test clients that render roster groups provided by the server * To evaluate whether it is worth enabling this flag in production
2024-08-19Allow prosody's debug logging to be enabledMatthew Fennell
This lets us log each individual stanza from a server perspective, which can be useful when debugging client behaviour.
2024-08-19Bump max file size to 2 GBMatthew Fennell
This is to test how clients handle downloading large files.
2024-08-19Ensure systmed-timesyncd is installedMatthew Fennell
This is not always installed by default on all hosts. We encountered an issue where this package was not installed, and it was causing the system time to gradually drift.
2024-07-27Do not manage CAA records in the playbookMatthew Fennell
These vary significantly from deployment to deployment, and running this playbook previously caused issues on fennell.dev deployments, where I need to be able to deploy certificates by other means.
2024-07-27Explicitly add muc plugin to conference componentMatthew Fennell
This is in order to debug an issue I was seeing with group chats previously. I don't believe it actually had an impact, but I can't remember for sure now. I should debug this at some point and remove if necessary.
2024-07-27Increase file upload limitMatthew Fennell
This is so that I can test sending a relatively large APK in order to debug an issue in Dino.
2024-06-01Correct CAA record reference in documentationMatthew Fennell
In the README section for acme account information, I had incorrectly referred to the CAA records as TLSA records (which do not need this information at all). This commit fixes that mistake.
2024-05-29Bring README example config up-to-dateMatthew Fennell
This commit updates the README to include config lines that are being used as of previous commits.
2024-05-29Add invites_api moduleMatthew Fennell
I am rolling out a Matrix bot that will auto-reply to contacts in bridged conversations, encouraging people to reach out to me on XMPP. The bot will send them an invite link, retrieved from this API.
2024-05-23Add anonymous subdomain when requestedMatthew Fennell
This will primiarly be used for motoristic.
2024-05-15Delegate certificate management to acme projectMatthew Fennell
Although this playbook originally installed certificates to the server, this turned out to be a bad idea, because the playbook could in some circumstances (if the acme project had already renewed the certs) have installed a different certificate to the remote server. By delgating responsibility to the acme server fully, this should prevent any such issues, as well as potential DANE misconfigurations.
2024-04-04Bring repo up-to-date with current prod configMatthew Fennell
2024-03-03Update example virtual hosts used in the READMEMatthew Fennell
The naming scheme I'm using for prod and nonprod environments have changed, therefore this commit also updates the documentation to match this.
2024-03-03Update vars.yml references in the READMEMatthew Fennell
These references were out of date with what was needed from the playbook.
2024-03-03Do not create AAAA record during the playbookMatthew Fennell
The AAAA record should be created by the libcloud bootstrap process instead, so that the playbook can ssh using the hostname as normal.
2024-03-03Do not delete public keys from root accountMatthew Fennell
The playbook initially deleted the public keys from root's authorized_keys after copying them to admin, but this prevents the playbook from running the "Ensure admin account is created" commands in subsequent runs. Therefore, we shouldn't delete them. In the long term, I would like to find a way to only attempt to run the root commands if it's not possible to ssh as admin. This is as I don't like the idea of root having direct ssh access.
2024-03-03Ensure non-root admin account is createdMatthew Fennell
Initially, I used AWS Lightsail for deployment. However, I am now using Vultr via libcloud, which does not create a user named "admin" by default. Therefore, this commit aims to ensure that such an account is created, even on providers that don't create it by default.
2024-03-03Remove extraneous MUC configurationMatthew Fennell
We remove some extra MUC configuration here that should not be needed, as these settings should be handled by the defaults anyway.
2024-03-03Remove DNS and firewall sections from the READMEMatthew Fennell
These are now fully automated, thanks to the libcloud setup, which is currently sitting in a separate repository, that will be merged with this one. Therefore, there is no longer any need to configure these manually.
2024-02-28Remove 10 year archival of messagesMatthew Fennell
I misunderstood how MAM works, and thought that storing messages long-term would allow new clients to retrieve long-term history. This commit moves the server's configuration back to the default of one week.
2024-02-28Register DNS records via deSECMatthew Fennell
I have moved DNS configuration for all of my servers to deSEC, thanks to its easy-to-use REST interface. This allows me to configure DNS records as part of the playbook, instead of having to add them manually for each new server I'd like to create. The consequence of this is that the playbook now has a hard dependency on deSEC.
2024-02-28Add reload_modules community moduleMatthew Fennell
My ACME scripts currently reload (instead of restarting) prosody after installing new certificates. Therefore, I would like to make sure that these new certificates are picked up on such an action.
2024-02-28Add whitespace between playbook tasksMatthew Fennell
This makes it easier to navigate through the playbook, and jump to the part that you're interested in editing, using the { and } keys in vim.
2024-02-28Remove certificate renewal steps from playbookMatthew Fennell
I would like certificate renewal to be handled centrally across all of my deployed services. Therefore, responsibility for certificate renewal no longer belongs in this playbook.
2024-02-08Use apt module instead of packageMatthew Fennell
I tried to create a fresh nonprod deployment today on continuous.staging.nonprod.chat.fennell.dev. However, the first step failed because the apt command could not find borgmatic. The solution was to run apt update before running apt install. Unfortunately, ansible's package module does not have an option for this. Therefore, although I would have liked to stick with "package" (to keep it general and away from the specific of using "apt" as a package manager), I have switched back to using the apt module so that the step can succeed without any manual intervention on fresh install.
2024-02-08Add notes.md to .gitignoreMatthew Fennell
I'll use this file to store notes about the specific deployments I have.
2024-02-05Bulk update with all changes currently in prodMatthew Fennell
2024-01-26Add support for file uploadMatthew Fennell
This commit adds support for XEPS 0065 and 0365 - i.e. sending files from one account to another.
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.