Mastodon/Setup

From neuromatch
Revision as of 01:08, 26 November 2022 by Jonny (talk | contribs)

In this case we are using glitch-soc to run a Mastodon server.

We will make:

  • One "default" instance at neuromatch.social
  • One Dev Instance at dev.neuromatch.social

We will be following the official Mastodon setup docs (except cloning our fork of glitch-soc instead of the base masto repo):

Prereqs

https://docs.joinmastodon.org/admin/prerequisites/

See also: Linode/Setup

  • Turn off password SSH access
  • Install fail2ban
  • Configure iptables to only allow SSH and HTTP/HTTPS

DNS

Set up the domain name!

  • Add an A record pointing at the linode's IP Address
  • Set up rDNS pointing back at the domain

Installation

https://docs.joinmastodon.org/admin/install/

  • Add apt repositories
  • Install apt packages
  • Make mastodon user
  • Install Ruby
  • Configure postgresql
  • Configure nginx (config below)
  • Get SSL Cert
  • Install & Enable systemd services

Variations

  • Using Node.js 18.12.1 rather than 16 as per docs
curl -fsSL https://deb.nodesource.com/setup_18.x | bash - && \
apt-get install -y nodejs

Configuration

nginx

Configure the email server

Create a SendGrid account, go to Settings > API Keys, and generate an API key.

Then set up the config like this:

SMTP_SERVER=smtp.sendgrid.net
SMTP_PORT=587
SMTP_LOGIN=apikey
SMTP_PASSWORD=<your-api-key>
SMTP_FROM_ADDRESS=youremail@gmail.com

(for SMTP_LOGIN literally just use "apikey")