This is a writeup on how the [[social coop tech group]] plans to upgrade and improve our Mastodon instance, and potentially offer the community new services, as of the time of writing ([[Q4 2022]]).
For more documentation from the working group, please refer to node [[TWG]] or [[social coop tech group]].
This section covers prerequisites for the work being undertaken below coming to fruition. Our intention is to do the needful to ensure that our community’s well being and stated preferences are prioritized.
Our highest user-visible priority is to keep the [[Mastodon]] instance behind https://social.coop running smoothly.
It’s a loop of:
The [[work schedule]] we got from the previous members of the [[twg]] is at https://git.coop/social.coop/tech/operations/-/wikis/jobs. Linking is sparse for now; https://git.coop/social.coop/tech/operations#mastodon-upgrade-notes exists, for example, but the link to [[mastodon upgrade]] leads nowhere currently.
We should look at the Mastodon/Hometown update cadence and plan accordingly; if it’s roughly monthly on average, schedule a monthly run. As detailed in the section above, we are currently eight months behind on releases.
Our highest overall priority is actually to test backups and restores. These are a prerequisite to make any changes to our setup, and indeed for safely running https://social.coop for the community. We must maintain a reasonable certainty that we would be able to bootstrap a replacement setup with minimal data loss in a bounded amount of time (low Time To Restore.)
Tech procedures are kept mainly in [[go/twg/wiki]].
In addition to keeping the lights out, we would like to explore other possible [[upgrades]] and [[improvements]] to the services run by and for [[social coop]].
We would like to trial [[Hometown]] as an improvement over the default [[Mastodon]] experience. We could start by running it as a separate instance. The rest of this section tries to detail how we would go about this as an experiment.
The proposal is to do this on a designated subdomain e.g. https://alpha.social.coop (if we would like to reuse this approach for testing upgrades/new software packages in general) or https://town.social.coop. We would be bootstrapping a parallel ActivityPub instance. This could be done in two ways:
In the medium term (after a set experimentation phase) users would vote on whether they want to move to [[Hometown]] as the primary software serving their social.coop [[Fediverse]] profiles.
There has been interest in running a [[Matrix]] instance (#todo link). If we had a secondary server and thus could achieve a reasonable primary/secondary hot spare setup for arbitrary services, we’d be more comfortable running more services for the community.
We could build on top of https://coopcloud.tech/ instead of running our own stack. This requires further exploration.
If we go this way, it could be a good idea to experiment first on this stack with one of the additional services being considered, like [[Matrix]], instead of trying to upgrade or replace already-core functionality like Mastodon.
For the purpose of running a secondary server, it might very well be that VPSs as offered by Hetzner or Digital Ocean are sufficient and more cost-effective. We need to explore this as an option and report back to the community.
RFC for the [[https://t.co/lG1n71ak1r]] community, early stage: [[mastodon upgrade]].
Rendering context...