Minimum viable node
A single small VPS handles a few hundred active members comfortably. The install is docker compose up, then synapse init with your domain, which provisions certificates and creates the first space.
The only external dependency is Postgres. Nothing else needs to be co-located, and media can live on any S3-compatible bucket you already run.
Backups people actually restore
A nightly pg_dump plus an object-storage lifecycle rule is the whole plan. We deliberately avoided incremental replication because it is the part that silently breaks at three in the morning.
Restoring is documented as a single command and tested in CI on every release, so the instructions cannot rot.
When to stay hosted
If your community is under twenty people, running a node is more work than it saves. Use the hosted network, keep the export handy, and move when the reasons to move are concrete rather than theoretical.