Storage · mesahub

Move your data to the cloud. Stop managing volumes.

EmailFlare ships with embedded SQLite that persists through a Docker volume. It works — but volumes require backup discipline and tie your data to the container's host. mesahub gives you durable, cloud-hosted SQLite with a one-line config change.

MESAHUB_URL
Embedded (default)
mh://local/emailflare
switch to cloud
mesahub cloud
mh://shs_your_api_key@api.mesahub.app/your-db-slug
Why cloud storage

Durable data, without the ops overhead.

Embedded SQLite is excellent for getting started. mesahub cloud storage is what you want when deployment reliability and data portability start to matter.

☁️

No volume management

No Docker volumes to configure, mount, snapshot, or restore. Your data lives in mesahub — independent of any container lifecycle.

♻️

Redeploy without risk

Redeploy, restart, or migrate your EmailFlare container without any data loss. The URL stays the same — just point the new container at it.

🔄

One-line config change

Switch from embedded to cloud by updating a single environment variable. No schema changes, no data migration commands, no downtime.

🌍

Access from anywhere

Your EmailFlare data is accessible to any container or environment that has your mesahub URL. Move between Railway, Fly, Docker, wherever.

📈

Built-in durability

mesahub handles persistence, replication, and backups on its side. You stop worrying about "did the volume survive that deploy?"

🔗

Same SQLite semantics

mesahub uses SQLite under the hood — the same engine EmailFlare is built around. No query compatibility surprises, no ORM rewrites.

Comparison

Embedded vs. mesahub cloud

Embedded (default)

mh://local/emailflare

SQLite stored inside the container, persisted via a Docker volume.

  • Zero external dependencies
  • Works offline and in local dev
  • No account or API key required
  • Data tied to the host volume
  • Must manage volume backups manually
  • Redeploy to new host = migration needed
  • No access from outside the container
mesahub cloud

mh://shs_key@api.mesahub.app/…

SQLite hosted and managed by mesahub. Accessible over HTTP from any container.

  • No volume to configure or mount
  • Survives container restarts and redeployments
  • Portable — works on Railway, Fly, VPS, anywhere
  • Accessible from multiple containers
  • Backups and durability managed by mesahub
  • One-line switch from embedded
Setup guide

Switch to mesahub in four steps.

The entire migration is a single environment variable update. No schema changes, no data exports.

1

Create a mesahub account

Visit mesahub.app and sign up for an account. mesahub is built by the same team behind EmailFlare.

2

Create a new database

From your mesahub dashboard, create a new database. Give it a recognisable name — something like emailflare-production or emailflare-staging. Copy the database slug shown after creation.

3

Generate an API key

In your mesahub account settings, generate a new API key. The key will start with shs_. Copy it now — it is shown once.

💡 Create a separate key per deployment (production, staging) so you can rotate them independently.
4

Update your MESAHUB_URL

Replace the embedded URL in your .env.local (or platform environment settings) with the mesahub connection URL:

# Before (embedded) MESAHUB_URL=mh://local/emailflare # After (mesahub cloud) MESAHUB_URL=mh://shs_your_api_key@api.mesahub.app/your-db-slug

Redeploy your EmailFlare container. On first boot, EmailFlare will bootstrap the schema in the mesahub database automatically — the same CREATE TABLE IF NOT EXISTS process as with the embedded path. No migration commands needed.

That's it. EmailFlare is now using mesahub cloud storage. Your domains, templates, API keys, and send logs will persist entirely in mesahub — independent of any Docker volume or container host.

Continue setting up EmailFlare

Everything you need to get to a working deploy.