From af0fc8b01bbcc74667b77cc431916dd63ba130ab Mon Sep 17 00:00:00 2001 From: emrekirman Date: Thu, 28 Aug 2025 14:41:55 +0300 Subject: [PATCH] . --- rocket-chat/rocketchat.yml | 47 +++++++++++++++++--------------------- 1 file changed, 21 insertions(+), 26 deletions(-) diff --git a/rocket-chat/rocketchat.yml b/rocket-chat/rocketchat.yml index 262d686..ef6562c 100644 --- a/rocket-chat/rocketchat.yml +++ b/rocket-chat/rocketchat.yml @@ -25,33 +25,28 @@ services: image: mongo:6 networks: - rocketchat-net - command: > - bash -lc ' - set -e - echo "Mongo ping bekleniyor..." - # Mongo hazır olana kadar ping at - until mongosh --host mongo:27017 --quiet --eval "db.adminCommand({ ping: 1 }).ok" | grep -q 1; do - sleep 2 - done - echo "Mongo ulaşılıyor. ReplSet durumu kontrol ediliyor..." - # rs.status() initiated değilken hata atar; try/catch ile idempotent yapıyoruz - mongosh --host mongo:27017 --quiet --eval " - try { - if (rs.status().ok === 1) { - print('ReplSet zaten başlatılmış.'); - } else { - throw new Error('status ok değil'); + command: + - sh + - -lc + - | + set -e + echo "Waiting for Mongo to be ready..." + until mongosh --host mongo:27017 --quiet --eval "db.adminCommand({ ping: 1 }).ok" | grep -q 1; do + sleep 2 + done + echo "Mongo is up. Checking/initializing replica set..." + mongosh --host mongo:27017 --quiet --eval ' + try { + if (rs.status().ok === 1) { + print("Replica set already initiated."); + } else { + throw new Error("status not ok"); + } + } catch (e) { + print("Initiating replica set..."); + rs.initiate({ _id: "rs0", members: [ { _id: 0, host: "mongo:27017" } ] }); } - } catch (e) { - print('ReplSet başlatılıyor...'); - rs.initiate({ - _id: \"rs0\", - members: [{ _id: 0, host: \"mongo:27017\" }] - }); - printjson(rs.status()); - } - " - ' + ' deploy: restart_policy: condition: on-failure