diff --git a/scripts/regenerate_certificates.sh b/scripts/regenerate_certificates.sh old mode 100644 new mode 100755 diff --git a/services/rocketchat/docker-compose.yml b/services/rocketchat/docker-compose.yml index 2102661..5ad8e31 100644 --- a/services/rocketchat/docker-compose.yml +++ b/services/rocketchat/docker-compose.yml @@ -1,53 +1,56 @@ +version: '3' + services: - mongo: + mongodb: image: mongo:6.0 - restart: always container_name: rocketchat-mongodb - command: mongod --replSet rs0 --oplogSize 128 - user: "1000:1000" - environment: - - MONGO_INITDB_ROOT_USERNAME=rocketchat - - MONGO_INITDB_ROOT_PASSWORD=${ROCKETCHAT_MONGO_PASSWORD} + restart: always volumes: - /mnt/storagebox_alpha/rocketchat/mongo/db:/data/db + user: "1000:1000" # This is your custom requirement + command: mongod --oplogSize 128 --replSet rs0 networks: - rocketchat + # We need this init container specifically because of using user mapping mongo-init-replica: image: mongo:6.0 - restart: "no" container_name: rocketchat-mongo-init - user: "1000:1000" + restart: "no" + user: "1000:1000" # Same user as main MongoDB command: > - bash -c "sleep 10 && mongosh --host mongo --eval \"rs.initiate({ _id: 'rs0', members: [ { _id: 0, host: 'mongo:27017' } ]})\" && exit 0" + bash -c " + echo 'Waiting for MongoDB to start...' + sleep 15 + echo 'Initializing replica set...' + mongosh --host mongodb --eval 'rs.initiate({_id: \"rs0\", members: [{_id: 0, host: \"mongodb:27017\"}]})' + echo 'Initialization complete' + " networks: - rocketchat + depends_on: + - mongodb rocketchat: image: rocket.chat:latest - restart: always container_name: rocketchat + restart: always environment: - PORT=3000 - ROOT_URL=https://rocketchat.systemsobscure.net - - MONGO_URL=mongodb://mongo:27017/rocketchat?replicaSet=rs0 - - MONGO_OPLOG_URL=mongodb://mongo:27017/local?replicaSet=rs0 - - DEPLOY_METHOD=docker + - MONGO_URL=mongodb://mongodb:27017/rocketchat?replicaSet=rs0 + - MONGO_OPLOG_URL=mongodb://mongodb:27017/local?replicaSet=rs0 - STATISTICS_COLLECTION=false - UPDATE_CHECKING=false - volumes: - - /etc/timezone:/etc/timezone:ro - - /etc/localtime:/etc/localtime:ro - depends_on: - - mongo ports: - "8003:3000" networks: - rocketchat - web + depends_on: + - mongo-init-replica networks: rocketchat: - driver: bridge web: external: true