2024-06-03 21:12:47 +00:00
# documentation: https://github.com/RocketChat/Rocket.Chat
# slogan: Self-hosted, secure and highly customizable open-source communication platform for organizations with sophisticated security and privacy concerns.
2025-08-17 16:23:57 +00:00
# category: messaging
2024-06-03 21:12:47 +00:00
# tags: rocketchat,chat,communication,privacy,mongodb,open,source
# logo: svgs/rocketchat.svg
# port: 3000
services :
rocketchat :
image : registry.rocket.chat/rocketchat/rocket.chat:latest
environment :
2025-08-10 08:10:22 +00:00
- SERVICE_URL_ROCKETCHAT_3000
2024-06-03 21:12:47 +00:00
- MONGO_URL=mongodb://${MONGODB_ADVERTISED_HOSTNAME:-mongodb}:${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}/${MONGODB_DATABASE:-rocketchat}?replicaSet=${MONGODB_REPLICA_SET_NAME:-rs0}
- MONGO_OPLOG_URL=mongodb://${MONGODB_ADVERTISED_HOSTNAME:-mongodb}:${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}/local?replicaSet=${MONGODB_REPLICA_SET_NAME:-rs0}
2025-08-10 08:10:22 +00:00
- ROOT_URL=$SERVICE_URL_ROCKETCHAT
2024-06-03 21:12:47 +00:00
- DEPLOY_METHOD=docker
- REG_TOKEN=$REG_TOKEN
depends_on :
mongodb :
condition : service_healthy
healthcheck :
test :
[
"CMD" ,
"node" ,
"--eval" ,
"const http = require('http'); const options = { host: '0.0.0.0', port: 3000, timeout: 2000, path: '/health' }; const healthCheck = http.request(options, (res) => { console.log('HEALTHCHECK STATUS:', res.statusCode); if (res.statusCode == 200) { process.exit(0); } else { process.exit(1); } }); healthCheck.on('error', function (err) { console.error('ERROR'); process.exit(1); }); healthCheck.end();" ,
]
interval : 2s
timeout : 10s
retries : 15
mongodb :
2025-10-03 14:48:11 +00:00
image : docker.io/bitnamilegacy/mongodb:5.0
2024-06-03 21:12:47 +00:00
volumes :
- mongodb_data:/bitnami/mongodb
environment :
- MONGODB_REPLICA_SET_MODE=primary
- MONGODB_REPLICA_SET_NAME=${MONGODB_REPLICA_SET_NAME:-rs0}
- MONGODB_PORT_NUMBER=${MONGODB_PORT_NUMBER:-27017}
- MONGODB_INITIAL_PRIMARY_HOST=${MONGODB_INITIAL_PRIMARY_HOST:-mongodb}
- MONGODB_INITIAL_PRIMARY_PORT_NUMBER=${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}
- MONGODB_ADVERTISED_HOSTNAME=${MONGODB_ADVERTISED_HOSTNAME:-mongodb}
- MONGODB_ENABLE_JOURNAL=${MONGODB_ENABLE_JOURNAL:-true}
- ALLOW_EMPTY_PASSWORD=${ALLOW_EMPTY_PASSWORD:-yes}
healthcheck :
test : echo 'db.stats().ok' | mongo localhost:27017/test --quiet
interval : 2s
timeout : 10s
retries : 15