Skip to content

Instantly share code, notes, and snippets.

@mitchellwrosen
Created November 14, 2022 08:40
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mitchellwrosen/5c20a9aaf238ec1106f71f199ba12530 to your computer and use it in GitHub Desktop.
Save mitchellwrosen/5c20a9aaf238ec1106f71f199ba12530 to your computer and use it in GitHub Desktop.
mastodon
I recently set up a private Mastodon server for my family. I'm not a sysadmin, nor do I want to become one; I have relatively little experience managing private servers, but I knew going into this that the simplest path would involve some amount of manually `ssh`ing into servers to tweak config files and restart things. My preference, of course, would be to have a declarative, version-controlled description of how I want my Mastodon instance configured, but I'm not sure how to get started there (NixOps? Terraform? Something else?). Anyway, here's what I did.
I started out on the official [Running your own server](https://docs.joinmastodon.org/user/run-your-own/) documentation, which links to a 1-click [Digital Ocean Mastodon Droplet](https://marketplace.digitalocean.com/apps/mastodon). I hadn't heard of Digital Ocean "apps" before, but this option seemed simpler to me than manually setting up a machine with the same suite of software (Mastodon, PostgreSQL, Redis, Sidekiq, Nginx, and maybe a couple others).
From here, I recall having to first create a "Project" to house my "Droplet". I provisioned the cheapest machine I could (1 shared vCPU, 2GB ram, $14/month) and got console access.
The console boots into an interactive Mastodon quick-start script that asks a few questions. Right, I need a domain name. Ok. I went to [Google Domains](https://domains.google.com) and bought a cheap $12/year domain that I was happy with. Via the DNS tab of my domain, I added an `A` and `AAAA` record to the IPs copied from Digital Ocean, each with a TTL of 86400 seconds.
TODO the rest
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment