Linux

Where Does an Mbin Server Store Data?

Mbin keeps server data in .env, compose overrides, and a storage folder. Postgres holds posts; storage holds uploads and keys.

Last updated

Mbin spreads state across three places by design. The .env file and compose.override.yaml hold secrets, domains, and service wiring. The storage/ folder holds uploads, OAuth keys, and service data. PostgreSQL holds posts, accounts, and federation state, with Redis and RabbitMQ alongside for queues and caching.

Backups must span all three. A database dump without storage/ restores text with broken images; storage/ without the dump restores files nobody references. Recent Docker setups moved storage/ to the repo root, so older guides pointing at docker/storage will mislead. Check your compose file for the actual bind paths before scripting backups.

Where Mbin stores this, by platform

Linux
storage/ + .env (compose dir)

Uploads, OAuth keys, and service data. Moved from docker/storage to root storage/ in current layouts. Mount persistently; recreates wipe unmounted uploads while posts survive in Postgres.

Linux
Postgres data volume (./pgdata)

Posts, accounts, magazines, and federation state. Dump on schedule with pg_dump. Redis and RabbitMQ volumes hold queues and can rebuild, but Postgres cannot.

Frequently asked questions

how do i back up an mbin instance

Stop the stack and back up .env, compose.override.yaml, the storage/ folder, and a Postgres dump together. Uploads without rows are orphans; rows without uploads are broken attachments. Keep OAuth keys inside storage/.

do old kbin guides work for mbin

Yes. Mbin continues the kbin codebase as a community fork, so old kbin guides mostly apply. The Docker layout moved (storage/ at root, postgres service renamed), so prefer current Mbin docs over stale kbin posts.

Notice an outdated path? Let us know.