This commit is contained in:
emrekirman 2025-08-28 14:41:55 +03:00
parent 4e8e4bca6f
commit af0fc8b01b

View File

@ -25,32 +25,27 @@ services:
image: mongo:6 image: mongo:6
networks: networks:
- rocketchat-net - rocketchat-net
command: > command:
bash -lc ' - sh
- -lc
- |
set -e set -e
echo "Mongo ping bekleniyor..." echo "Waiting for Mongo to be ready..."
# Mongo hazır olana kadar ping at
until mongosh --host mongo:27017 --quiet --eval "db.adminCommand({ ping: 1 }).ok" | grep -q 1; do until mongosh --host mongo:27017 --quiet --eval "db.adminCommand({ ping: 1 }).ok" | grep -q 1; do
sleep 2 sleep 2
done done
echo "Mongo ulaşılıyor. ReplSet durumu kontrol ediliyor..." echo "Mongo is up. Checking/initializing replica set..."
# rs.status() initiated değilken hata atar; try/catch ile idempotent yapıyoruz mongosh --host mongo:27017 --quiet --eval '
mongosh --host mongo:27017 --quiet --eval "
try { try {
if (rs.status().ok === 1) { if (rs.status().ok === 1) {
print('ReplSet zaten başlatılmış.'); print("Replica set already initiated.");
} else { } else {
throw new Error('status ok değil'); throw new Error("status not ok");
} }
} catch (e) { } catch (e) {
print('ReplSet başlatılıyor...'); print("Initiating replica set...");
rs.initiate({ rs.initiate({ _id: "rs0", members: [ { _id: 0, host: "mongo:27017" } ] });
_id: \"rs0\",
members: [{ _id: 0, host: \"mongo:27017\" }]
});
printjson(rs.status());
} }
"
' '
deploy: deploy:
restart_policy: restart_policy: