mirror of
				https://github.com/jakejarvis/mastodon-utils.git
				synced 2025-11-04 05:50:08 -05:00 
			
		
		
		
	
			
				
					
						
					
					7a7c349ded6f7a92e0ec027a9c13dd6f692bfd37
				
			
			
		
	🦣 Mastodon utilities
Random opinionated helper scripts & front-end customizations for my personal Mastodon instance (running on glitch-soc).
⚠️ You definitely don't want to use any of this as-is. Check out my more general-purpose scripts instead.
Notes
The wiki of this repo and the /etc folder are simply my way of not forgetting how I did something, which I do quite a bit. Refer there for random notes on PgBouncer, Grafana, etc. but DO NOT BLINDLY COPY & PASTE anything there without doing your own research!
Usage
AGAIN, DEFINITELY DO NOT JUST RUN THIS IF YOU'RE NOT ME!!! 😊
git clone https://github.com/jakejarvis/mastodon-utils.git /home/mastodon/utils && cd /home/mastodon/utils
# install Mastodon on fresh Ubuntu 20.04:
./scripts/install.sh
# back up Postgres, Redis, and secrets:
./scripts/backup.sh
# pull latest Mastodon (vanilla or glitch-soc) and apply patches from this repo:
./scripts/upgrade.sh
Scripts
init.sh: A small helper that runs at the very beginning of each script below to initializerbenvand set consistent environment variables.- Optional: To make your life easier, you can also source this script from the 
.bashrcof themastodonuser and/or whichever user you regularly SSH in as: 
- Optional: To make your life easier, you can also source this script from the 
 
if [ -f /home/mastodon/utils/init.sh ]; then
  . /home/mastodon/utils/init.sh
fi
version.sh: Testsinit.shby printing Mastodon, Ruby, and rbenv versions.
Periodic tasks
backup.sh: Backs up Postgres, Redis, and.env.productionsecrets to a.tar.gzfile in/home/mastodon/backups— useful for a periodic cronjob.weekly_cleanup.sh: Runs Mastodon's built-in cleanup commands, designed for a weekly cronjob.- Keeps 7 days of media (in object storage)
 - Keeps 90 days of generated preview cards
 
Dangerous
The following scripts are highly opinionated, catastrophically destructive, and very specific to me. Check them out line-by-line instead of running them.
install.sh: Assumes an absolutely clean install of Ubuntu 20.04 and installs Mastodon with all of the quirks from this repo. Get the far less dangerous version ofinstall.shhere instead.upgrade.sh: Upgrades Mastodon server (latest version if vanilla Mastodon, latest commit ifglitch-soc) and re-applies every patch listed below. Get the far less dangerous version ofupgrade.shhere instead.apply_patches.sh: Apply every patch below on top of the currently installed version of Mastodon.
Patches
Vanilla and glitch-soc:
robots.patch: Disallow search engines for all of Mastodonincrease-sidekiq-timeout.patch: Small bump in Sidekiq's timeout before it decides a remote instance isn't available. Use this one very carefully!favicons.patch: Use custom icon images instead of Mastodon logosystem-font.patch: Use the system's default sans-serif font stack instead of Robotohide-contact-email.patch: Hides themailto:link on the About pagehide-rules.patch: Applies just to homepage, meant only for single-user instanceshide-signup.patch: Hide the "create account" button (for aesthetics, not security!)
glitch-soc only:
custom-glitch-defaults.patch: Sets default Glitch appearance settings for logged-out usersremove-glitch-cruft.patch: Removes a bunch of junk no longer used byglitch-socsidebar-logo.patch: Restore Mastodon logo in logged-out sidebar
License
MIT
Description
				🦣 Small opinionated helper scripts, patches, and configs for Mastodon
						
						
							
								 https://fediverse.jarv.is/about
							
						
						
						
						
							
								 Readme
							
						
						
							
								 MIT
							
						
						
						
							
							
							 4.5 MiB
						
					
					Languages
				
				
								
								
									Shell
								
								100%