Open Source Infrastructure
This page is missing a lot of details - we’ll be publishing more in November/December of 2024.
Footprint
Today Hachyderm runs a multi-cloud, global topology that is distributed across the following service providers:
- Edge node “CDN” - small, lightweight Linode VMs operating around the world. These serve as the front door to Hachyderm and allow us to cache content close to where our users consume it.
- Mastodon Core - physical machines operating in Hetzner in Falkenstein, Germany.
- Media Storage - media (images, videos, audio, etc.) storage hosted in DigitalOcean’s Spaces S3-alike service.
The disparate clouds are linked together using Tailscale to create a resilient, secure global virtual private network.
Components
Key components of our tech stack include:
- Mastodon
- Arch Linux and Debian
- systemd
- Ansible
- postgresql
- ElasticSearch
- Redis
- Nginx
- Terraform
- Multi-cloud networking via Tailscale
- Deployment pipelines that enshrine safety to yield speed and agility
- General cloud engineering and SRE patterns & practices
- Experience with any cloud provider, in particular: Linode, Hetzner, DigitalOcean
(Notice we didn’t say Kubernetes – we don’t currently use it, nor plan to!)
Experimenting in Public
Hachyderm deeply believes there is untapped value left in computer science. We intend on approaching our infrastructure as an opportunity for safe and thoughtful experiments, similar to how the International Space Station conducts experiments in orbit.
We intend on prototyping new technology, operational models, SRE organizational structure, follow-the-sun patterns, and open source collaborative workstreams for our infrastructure. In the coming months, we will be sharing ways in which the broader Hachyderm community can volunteer to support our infrastructure, as well as register hypothesis backed experiments to run with our data and our services. We are experimenting on the tools and services that support Hachyderm’s services such as prototyping databases, HTTP(s) servers, and compute runtimes.
… but never for AI
The Hachyderm team will never use your user data in an experiment, including for the purposes of training LLMs/AI models.
To be even more direct: you, as a Hachyderm user will never be leveraged in an experiment. We will not be experimenting on you. All user profile data, direct messages, post content, access metrics, demographic detail, and personal information will never be used in any form of experiment.
Volunteering
If you’re interested in volunteering, read more here.
Infrastructure Placement & Supporting Tools
Component | Asset Location(s) | Provider(s) & Country | Services Provided |
Edge CDN |
| US - Akamai |
|
Mastodon Web |
| DE - Hetzner |
|
Mastodon Sidekiq (Queues) |
| DE - Hetzner |
|
Mastodon Redis |
| DE - Hetzner |
|
Mastodon Streaming |
| DE - Hetzner |
|
Mastodon Postgresql (Database) |
| DE - Hetzner |
|
Observability Metrics & System Logs |
| DE - Hetzner |
|
Mastodon Media Storage |
| US - DigitalOcean |
|
Observability Traces |
| US - Honeycomb |
|
Connectivity Mesh |
| CA - Tailscale |
|
Code Version Control |
| US - Github/Microsoft |
|
Secrets Management |
| CA - 1Password |
|
Historical Archive
Here’s our “v2” infrastructure diagram from circa November 2022:
Infrastructure Contributors
Some contributors have opted to remain anonymous. Thank you to all our volunteers past & present!