Backups

We backup the persistent data storage of everythingbagel.me multiple times per day/week and to different locations.

Database Backups

Posts made to everythingbagel.me are stored in backend Postgres databases with Redis used as a key value store and timeline cache.

  • For the backup of PostgreSQL we use pg_dump with some custom scripts that process each task and then fire off notifications to our backend Discord channels.

  • Database backups are currently made every midnights, and replicated twice, across geographies.

Media/S3 Store Backups

  • The S3/media data is sync'd directly to Vultr object store via the rclone utility.

  • This is done using some custom scripts that process each task and then fire off notifications to our backend Discord channels.

  • S3 backups currently run every day.

  • Only the latest copy of S3 data is retained.

Configuration Backups

  • All configuration files for core applications, documentation and web clients are stored on GitHub with changes committed there before being applied to servers.

Backup Image

  • The version tags for the image represent the version of rclone used.

  • The image is based on Ubuntu server 20.0.4.

  • Postgres utilities are based on version 16.

  • Redis utilities are based on version 7.

Disaster Recovery

In case of database loss, I wrote an guide to ensure the safely of data restoration for any admins using pg_dump for most of Fediverse services: A Comprehensive Guide to Backing Up and Restoring Your Mastodon Database

Last updated