添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
相关文章推荐
胡子拉碴的豆腐  ·  Mongoose URI is ...·  3 周前    · 
逆袭的鸭蛋  ·  Delete Documents - ...·  2 周前    · 
近视的仙人掌  ·  适用于 Cloudflare Zero ...·  5 月前    · 
急躁的书包  ·  林子菌·  8 月前    · 
活泼的水煮肉  ·  vue-router.VueRouter.m ...·  1 年前    · 
深情的脆皮肠  ·  ARM-M7中 ...·  1 年前    · 
Description

Please assist with my Docker Rocket Chat Upgrade from V4.8.2 to V5.0.3

Rocket Chat is working 100% in Docker with MongoDB 4.4.14 and RocketChat v4.8.2.

When changing the docker-compose.yml file to use image: registry.rocket.chat/rocketchat/rocket.chat:5.0.3 , I get error’s connecting to the MongoDB.

The MONGO_URL is defined as environment in the docker-compose.yml file as MONGO_URL=mongodb://mongo:27017/rocketchat and is working with RocketChat 4.8.2.

Even with this environment set, it seems RocketChat is still looking for MongoDB at 127.0.0.1 when is is not there.

Docker Compose file and RockerChat Error Log added below under Additional Information

Server Setup Information
  • Version of Rocket.Chat Server: 4.8.2
  • Operating System: CentOS Linux 7 (Core)
  • Deployment Method: docker
  • Number of Running Instances: 1
  • DB Replicaset Oplog:
  • NodeJS Version: 14.18.3 - x64
  • MongoDB Version: 4.4.14 wiredTiger
  • Proxy: nginx
  • Firewalls involved: n/a
  • Any additional Information docker-compose.yml
     version: '2'
    services:
      rocketchat:
        image: registry.rocket.chat/rocketchat/rocket.chat:4.8.2
        command: >
          bash -c
            "for i in `seq 1 30`; do
              node main.js &&
              s=$$? && break || s=$$?;
              echo \"Tried $$i times. Waiting 5 secs...\";
              sleep 5;
            done; (exit $$s)"
        restart: unless-stopped
        volumes:
          - ./uploads:/app/uploads
        environment:
          - PORT=3000
          - ROOT_URL=https://chat.dev.jennyme.co.za
          - MONGO_URL=mongodb://mongo:27017/rocketchat
          - MONGO_OPLOG_URL=mongodb://mongo:27017/local
          - REG_TOKEN=${REG_TOKEN}
          - CREATE_TOKENS_FOR_USERS=true
        depends_on:
          - mongo
        ports:
          - 3000:3000
        labels:
          - "traefik.backend=rocketchat"
          - "traefik.frontend.rule=Host: your.domain.tld"
      mongo:
        image: mongo:4.4
        restart: unless-stopped
        volumes:
         - ./data/db:/data/db
         - ./data/dump:/dump
        command: mongod --oplogSize 128 --replSet rs0 --storageEngine=wiredTiger
        labels:
          - "traefik.enable=false"
      mongo-init-replica:
        image: mongo:4.4
        command: >
          bash -c
            "for i in `seq 1 30`; do
              mongo mongo/rocketchat --eval \"
                rs.initiate({
                  _id: 'rs0',
                  members: [ { _id: 0, host: 'localhost:27017' } ]})\" &&
              s=$$? && break || s=$$?;
              echo \"Tried $$i times. Waiting 5 secs...\";
              sleep 5;
            done; (exit $$s)"
        depends_on:
          - mongo
      nginx:
        image: nginx
        ports:
          - 80:80
          - 443:443
        restart: unless-stopped
        volumes:
          - ./nginx/rocketchat.conf:/etc/nginx/conf.d/default.conf
          - ./nginx/cert/:/etc/nginx/ssl/
    RocketChat Error Log
    
    rocketchat_1          | /app/bundle/programs/server/node_modules/fibers/future.js:313
    rocketchat_1          | 						throw(ex);
    rocketchat_1          | 						^
    rocketchat_1          | 
    rocketchat_1          | MongoServerSelectionError: connect ECONNREFUSED 127.0.0.1:27017
    rocketchat_1          |     at Timeout._onTimeout (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/sdam/topology.js:312:38)
    rocketchat_1          |     at listOnTimeout (internal/timers.js:557:17)
    rocketchat_1          |     at processTimers (internal/timers.js:500:7) {
    rocketchat_1          |   reason: TopologyDescription {
    rocketchat_1          |     type: 'ReplicaSetNoPrimary',
    rocketchat_1          |     servers: Map(1) {
    rocketchat_1          |       'localhost:27017' => ServerDescription {
    rocketchat_1          |         _hostAddress: HostAddress { isIPv6: false, host: 'localhost', port: 27017 },
    rocketchat_1          |         address: 'localhost:27017',
    rocketchat_1          |         type: 'Unknown',
    rocketchat_1          |         hosts: [],
    rocketchat_1          |         passives: [],
    rocketchat_1          |         arbiters: [],
    rocketchat_1          |         tags: {},
    rocketchat_1          |         minWireVersion: 0,
    rocketchat_1          |         maxWireVersion: 0,
    rocketchat_1          |         roundTripTime: -1,
    rocketchat_1          |         lastUpdateTime: 4257002544,
    rocketchat_1          |         lastWriteDate: 0,
    rocketchat_1          |         error: MongoNetworkError: connect ECONNREFUSED 127.0.0.1:27017
    rocketchat_1          |             at connectionFailureError (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/cmap/connect.js:381:20)
    rocketchat_1          |             at Socket.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb/lib/cmap/connect.js:301:22)
    rocketchat_1          |             at Object.onceWrapper (events.js:520:26)
    rocketchat_1          |             at Socket.emit (events.js:400:28)
    rocketchat_1          |             at emitErrorNT (internal/streams/destroy.js:106:8)
    rocketchat_1          |             at emitErrorCloseNT (internal/streams/destroy.js:74:3)
    rocketchat_1          |             at processTicksAndRejections (internal/process/task_queues.js:82:21)
    rocketchat_1          |       }
    rocketchat_1          |     },
    rocketchat_1          |     stale: false,
    rocketchat_1          |     compatible: true,
    rocketchat_1          |     heartbeatFrequencyMS: 10000,
    rocketchat_1          |     localThresholdMS: 15,
    rocketchat_1          |     setName: 'rs0',
    rocketchat_1          |     maxSetVersion: 1,
    rocketchat_1          |     maxElectionId: ObjectId {
    rocketchat_1          |       [Symbol(id)]: Buffer(12) [Uint8Array] [
    rocketchat_1          |         127, 255, 255, 255, 0,
    rocketchat_1          |           0,   0,   0,   0, 0,
    rocketchat_1          |           0,  16
    rocketchat_1          |       ]
    rocketchat_1          |     },
    rocketchat_1          |     commonWireVersion: 9,
    rocketchat_1          |     logicalSessionTimeoutMinutes: undefined
    rocketchat_1          |   }
    rocketchat_1          | }
                  

    Found the Solution.

    Added directConnection=true to MONGO_URL and MONGO_OPLOG_URL environment variables. i.e.:

          - MONGO_URL=mongodb://mongo:27017/rocketchat?replicaSet=rs0&directConnection=true
          - MONGO_OPLOG_URL=mongodb://mongo:27017/local?replicaSet=rs0&directConnection=true
    

    Refference: Release 5.0.0 · RocketChat/Rocket.Chat · GitHub