How to Migrate a Mastodon Instance From Bare Metal to Docker

Running a Mastodon instance on bare metal gives you complete control but often leads to dependency conflicts and manual update procedures. Moving to Docker containerization standardizes the environment, simplifies upgrades, and reduces the risk of configuration drift. This guide walks through the exact steps to export your existing Mastodon data, set up a Docker-based instance, … Read more

Mastodon Instance Redis Tuning for Sidekiq: Memory Allocation Guide

Mastodon instances rely heavily on Redis as a high-speed cache and job queue for Sidekiq. When the Redis memory limit is set too low, Sidekiq jobs fail silently or are evicted, causing delayed or lost federated posts, notification failures, and timeline gaps. This guide explains how Redis memory allocation interacts with Sidekiq queues and provides … Read more

How to Add a CDN in Front of a Mastodon Instance Media Endpoint

Mastodon instances store user-uploaded images, videos, and other media files locally on the server by default. As your instance grows, serving these files directly from the application server increases load times and bandwidth costs. A content delivery network, or CDN, caches media files at edge locations closer to your users, reducing latency and server strain. … Read more

Mastodon Instance Streaming API on Separate Subdomain: Setup

When you run a Mastodon instance, the streaming API handles real-time updates like new posts and notifications. By default, this API runs on the same domain as your web interface. You can improve performance and security by moving the streaming API to a separate subdomain, such as streaming.yourinstance.com. This article explains how to configure Nginx … Read more

How to Configure Mastodon Instance With Wasabi S3-Compatible Storage

Mastodon instances store user media files such as images, videos, and profile avatars. By default, these files are saved on the instance server’s local disk. As your instance grows, local storage fills up quickly and becomes expensive to expand. Wasabi offers a cost-effective S3-compatible object storage solution that integrates directly with Mastodon. This article explains … Read more

Mastodon Instance Cloudflare R2 for Media: Setup and Costs

Mastodon instances store user-uploaded images, videos, and other media files. Local storage can fill up quickly and become expensive to scale. Cloudflare R2 offers an S3-compatible object storage service with no egress fees, making it a cost-effective option for Mastodon admins. This article explains how to configure Cloudflare R2 for your Mastodon instance and breaks … Read more

How to Move Mastodon Media Storage From Local to Backblaze B2

Mastodon instances generate large amounts of media files from user uploads and cached remote content. Storing these files on the same server as your database and application code quickly fills disk space and can degrade performance. Moving media storage to Backblaze B2 reduces server disk usage and lowers hosting costs. This article explains how to … Read more

Mastodon Instance MinIO Self-Hosted Object Storage: Setup

Running a Mastodon instance requires storing large amounts of user-uploaded media. By default, Mastodon saves these files on the local filesystem of your server. This approach can quickly fill up disk space and makes scaling your instance harder. Self-hosted object storage with MinIO offers a reliable, S3-compatible alternative that keeps your media separate from your … Read more

How to Migrate Mastodon Instance Postgres to a Managed Service

Running a Mastodon instance requires managing a PostgreSQL database that stores all user accounts, posts, and relationships. As your instance grows, self-hosting Postgres can become a bottleneck for performance, backups, and uptime. Migrating to a managed database service such as Amazon RDS, DigitalOcean Managed Databases, or a dedicated Postgres provider offloads maintenance tasks and improves … Read more

Mastodon Instance Postgres Replica for Read Scaling: Setup

Mastodon instances that grow beyond a few thousand active users often hit a bottleneck on the primary PostgreSQL database. Read-heavy operations like loading the federated timeline, searching public posts, and fetching user profiles all query the same database server. When that single server cannot keep up, page loads slow down and timeouts increase. This article … Read more