Files

2.7 KiB
Raw Permalink Blame History

Rocket.Chat

Overview

Rocket.Chat is an open-source team messaging platform. This stack includes Rocket.Chat, MongoDB with replica set initialization, and an optional Hubot chatbot.

Project Details

Getting Started

  1. Start the stack: docker compose up -d
  2. Open https://${ROCKETCHAT_DOMAIN} in your browser
  3. Follow the setup wizard to configure your Rocket.Chat instance

Environment Variable Notes

VOL_PATH  base path for persistent data volumes
VOL_PROJECTS  base path for project directories
ROCKETCHAT_IMAGE  Rocket.Chat container image (default: rocketchat/rocket.chat:latest)
ROCKETCHAT_RESTART  restart policy (default: unless-stopped)
ROCKETCHAT_DOMAIN  domain name for reverse proxy access
ROCKETCHAT_PORT  host port mapped to container port 3000 (default: 3000)
MONGO_IMAGE  MongoDB container image (default: mongo:4.0)
HUBOT_IMAGE  Hubot chatbot image (default: rocketchat/hubot-rocketchat:latest)

Volume Notes

${VOL_PATH}/rocketchat_dev/uploads  Rocket.Chat file uploads
${VOL_PATH}/rocketchat_dev/db  MongoDB data directory
${VOL_PATH}/rocketchat_dev/dump  MongoDB dump directory
${VOL_PATH}/rocketchat_dev/hubot-scripts  Hubot custom scripts

Network Notes

Requires the external proxy network. An internal bridge network internal is created for inter-service communication.

Docker Run

docker run -d \
  --name rocketchat \
  -v ${VOL_PATH:-/data}/rocketchat_dev/uploads:/app/uploads \
  -e PORT=3000 \
  -e ROOT_URL=http://chat.example.com:3000 \
  -e MONGO_URL=mongodb://mongo:27017/rocketchat \
  -e MONGO_OPLOG_URL=mongodb://mongo:27017/local \
  -p 3000:3000 \
  --network proxy \
  rocketchat/rocket.chat:latest

Additional Notes / Gotchas

  • MongoDB uses the mmapv1 storage engine with --smallfiles and --oplogSize 128 for compatibility with Rocket.Chat.
  • The mongo-init-replica service initializes the MongoDB replica set and exits. It must complete before Rocket.Chat starts.
  • Hubot requires a bot user to be created in Rocket.Chat before it can connect. Update the password in the compose file or environment.

Dockhand Stack, Deploy from Git

Cookbooks Repository stackname: ROCKETCHAT_DEV Compose file path: rocketchat_dev/compose.yaml Additional env file (optional): rocketchat_dev/sample.env

Then "Load" rocketchat_dev/sample.env into the Environmental variables in dockhand

Create the Stack