Here is what's 100% working for me both in Win10 docker and in OMV 5 :
In Portainer create a new stack , name it rocketchat and use editor to paste this :
---
mongo:
image: mongo:4.0
restart: unless-stopped
command: mongod --smallfiles --oplogSize 128 --replSet rs0
rocketchat:
image: rocketchat/rocket.chat:latest
restart: unless-stopped
environment:
- PORT=3000
- ROOT_URL=http://docker:3000
- MONGO_URL=mongodb://mongo:27017/rocketchat
- MONGO_OPLOG_URL=mongodb://mongo:27017/local
- Accounts_UseDNSDomainCheck=True
links:
- mongo:mongo
ports:
- 3000:3000
# this container's job is just to run the command to initialize the replica set.
# it will just run the command and stop.
mongo-init-replica:
image: mongo:4.0
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)"
links:
- mongo:mongo
That's it, click 'Deploy the stack' and after all is finished head to your local OMV local address :3000 and setup Rocket:chat as usual.
Note that it will create a temporary mongo replica database container that will stop by itself. This is needed to work. Not sure if it is purely correct but it works!
I deleted it later without consequence.
Hope it helps.