βš™οΈServer tech specs

Everything Bagel consists of many bits and pieces. This technical page is meant to tell you all about that.

Server Specifications

Step into the heart of our digital realm, where the magic of "social.everythingbagel.me" comes to life. Our server infrastructure is optimized to seamlessly weave together a tapestry of services, fostering a vibrant and interconnected community.

High Frequency Server

  • CPU: 4 vCPU AMD

  • RAM: 8 GB

  • Storage: 160GB SSD disk

  • Traffic: 4TB

  • Operating System: Ubuntu Server 22.04.3 LTS (Jammy Jellyfish)

  • Additional: 1TB Object Storage

Harnessing the power of bare metal (from sources), we've crafted a versatile environment that hosts multiple services within a single VPS instance. From Mastodon to BookWyrm, Pixelfed to Owncast, our unified server configuration ensures resource efficiency without compromising on performance.

Each keystroke, interaction, and toot is gracefully orchestrated within this singular server, harmonizing the symphony of the Fediverse.

S3 Object storage for media

Media storage is provided by Vultr Object Storage.

Tweaks

There are some extensive improvements to the default installation.

Crontabs

There are some periodically running jobs.

# This is required for vixie-cron (man cron)
# Check http://superuser.com/questions/264528/problem-with-random-in-crontab/264541#264541
SHELL=/bin/bash

# Auto renew Let’s Encrypt certs, two times a day at a random minute.
# https://gist.github.com/ahmedelgabri/cba569863cfed73eeee2614d28a02004
0 */12 * * * /etc/bin/certbot-renew.sh >/dev/null 2>&1

# Disk space monitor
*/10 * * * * /etc/bin/diskspace.sh >/dev/null 2>&1
#*/30 * * * * /etc/bin/diskspace-media.sh >/dev/null 2>&1

# Check rclone mount health
* * * * * /usr/bin/rclone-directory-check.sh >/dev/null 2>&1

# Backup to gdrive
0 3 * * * bash /usr/bin/backup.sh >/dev/null 2>&1

# Prune rclone logs every night
5 4 * * * rm /var/log/rclone/*.log* >/dev/null 2>&1

# Database heartbeat
* * * * * bash /etc/bin/check-db.sh >/dev/null 2>&1

# Database size heartbeat
*/3 * * * * bash /etc/bin/diskspace-db.sh >/dev/null 2>&1

# Streaming API check
* * * * * bash /etc/bin/check-streaming.sh >/dev/null 2>&1

Server status and monitoring

The admin gets notifications from GitHub automation if anything mentioned on the status page goes down, by the minute.

Services status can be followed at status.everythingbagel.me. Status page, monitors and heart beats are powered entirely by GitHub

Backups

  • Snapshots from local and off-site every night (full server backed up)

  • Cron scripts which backup everything to Vultr Storage box

  • Backups from database and files separately

  • Manual backups each time anything is performed

Last updated