diff --git a/rocket-chat/rocketchat.yml b/rocket-chat/rocketchat.yml index d9eb8b2..48d16b8 100644 --- a/rocket-chat/rocketchat.yml +++ b/rocket-chat/rocketchat.yml @@ -25,6 +25,31 @@ services: image: mongo:6 networks: - rocketchat-net + 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 "Checking 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" } ] }); + } + ' + echo "Waiting for PRIMARY..." + until mongosh --host mongo:27017 --quiet --eval 'db.isMaster().ismaster' | grep -q true; do + sleep 2 + done + echo "PRIMARY is ready." deploy: restart_policy: condition: on-failure @@ -40,7 +65,6 @@ services: - PORT=3000 - ROOT_URL=https://chat.emrekirman.xyz # <- kendi domainini yaz - MONGO_URL=mongodb://mongo:27017/rocketchat?replicaSet=rs0 - - MONGO_OPLOG_URL=mongodb://mongo:27017/local?replicaSet=rs0 - REDIS_URL=redis://:98836@redis:6379 # İsteğe bağlı: Türkçe varsayılan dil - OVERWRITE_SETTING_Language=tr