The purpose of these documents are to provide an overview of the infrastructure used to operate the Mastodon instance and ancillary services that make up vmst.io. It should explain how the various services interact and how "the magic" happens when our users open the Mastodon app on their phone or enter our address into their web browser.
- Be highly available for all critical components.
- Be scalable both vertically and horizontally.
- Provide a highly performant experience for our users.
- Maintain a stable endpoint on the ActivityPub network.
Our core service is the Mastodon platform located at vmst.io.
DigitalOcean is our primary hosting provider for this service. Our primary data centers are TOR1 and NYC3, with Toronto holding the bulk of the computing workloads and New York for the object storage.
The following reflect the required software components to have a functional deployment of Mastodon:
Most Mastodon deployments leverage one or more additional components to provide additional functionality.
Some of them include:
We use an all virtual architecture using DigitalOcean "Droplets" as Kubernetes nodes. These Droplets are provisioned automatically by the Kubernetes control plane. There are typically multiple nodes with 4 vCPU and 16 GB of memory each, and can be scaled up or down based on demand.
We use the DigitalOcean managed Kubernetes service.
We use DigitalOcean managed load balancer objects to distribute user traffic across our frontend reverse proxies.
Our Nginx reverse proxies provide TLS/SSL termination.
Our documentation website docs.vmst.io runs on the Netlify app platform as a static website.
If you would like to edit or contribute to the documentation on this site, you may fork the site and submit pull requests to our staging branch.
Please review our contribution guide for more information.
Our servers are named after characters and actors from the original Star Trek series, and other 23rd century derivatives.
Live long and prosper.