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
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.
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.