librelad 50059ea1b8 rocketchat: add Rocket.Chat with a single-node Mongo replica set
Rocket.Chat tails the Mongo oplog for realtime delivery, and a standalone
mongod has no oplog — so the database has to be a replica set even with one
member.

Uses the official mongo image rather than bitnami/mongodb (which upstream's own
compose uses) because Bitnami moved its catalog behind a paid registry and the
free tags are no longer dependable for a long-lived install. The cost is that
rs.initiate() is not automatic, so the post-start hook runs it once — guarded by
rs.status() so a reinstall over restored data doesn't re-initiate a live set,
and followed by a wait for the member to report itself primary.

Mongo runs without auth: enabling it on a replica set also requires a shared
keyfile for member-to-member auth, which is a lot of moving parts for a database
that is never published outside the docker network.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-08-18 05:28:46 +01:00

2 lines
547 B
XML

<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 256 256" width="256" height="256" role="img" aria-label="Rocket.Chat"><path fill="#f5455c" d="M128 40c-46 0-84 25.2-95.9 59.1-6.6-6.4-16.6-13.4-30.2-17.2-1.4-.4-2.6 1.1-1.9 2.4 5.1 9.1 13.4 26.5 12.6 43.7.8 17.2-7.5 34.6-12.6 43.7-.7 1.3.5 2.8 1.9 2.4 13.6-3.8 23.6-10.8 30.2-17.2C44 190.8 82 216 128 216c70.7 0 128-39.4 128-88s-57.3-88-128-88" /><circle fill="#fff" cx="84" cy="128" r="13" /><circle fill="#fff" cx="130" cy="128" r="13" /><circle fill="#fff" cx="176" cy="128" r="13" /></svg>