version: '2' services: rocketchat: image: rocket.chat:latest 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=http://161.97.82.244 - ROOT_URL=https://rocket.airdog.site - MONGO_URL=mongodb://mongo:27017/rocketchat - MONGO_OPLOG_URL=mongodb://mongo:27017/local - VIRTUAL_HOST=rocket.airdog.site - LETSENCRYPT_HOST=rocket.airdog.site - LETSENCRYPT_EMAIL=ouch@thetrauma.org depends_on: - mongo ports: - 3000:3000 mongo: image: mongo:4.0 restart: unless-stopped volumes: - ./data/db:/data/db - ./data/dump:/dump command: mongod --smallfiles --oplogSize 128 --replSet rs0 --storageEngine=mmapv1 networks: default: external: name: nextcloud_proxy-tier # this container's job is just run the command to initialize the replica set. # it will run the command and remove himself (it will not stay running) # mongo-init-replica: # image: mongo # 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