- Clone:
git clone --depth 1 https://github.com/RocketChat/rocketchat-compose.git
- cd to the cloned dir:
cd rocketchat-compose
- Copy the example environment file:
cp .env.example .env
- Edit .env file and update values
- Start the stack:
docker compose -f compose.database.yml -f compose.monitoring.yml -f compose.traefik.yml -f compose.yml up -d
You can access Rocket.Chat at: http://localhost
You can login to Grafana at: http://grafana.localhost with the default credentials:
- User: admin
- Password: rc-admin
First, clone this repository:
git clone --depth 1 https://github.com/RocketChat/rocketchat-compose.git
For deploying the recommended stack with Rocket.Chat, Traefik, MongoDB, NATS, and Prometheus for monitoring:
-
Configure environment variables:
- Copy the example environment file:
cp .env.example .env
- Edit
.env
to fit your deployment. Recommended changes - we recommend to keep other values from the example for reference.# Rocket.Chat Cloud registration token (optional) REG_TOKEN= # Set to 'https' to enable HTTPS with Traefik (recommended for internet exposure) TRAEFIK_PROTOCOL=http # Set to true after you've set your domain and lets encrypt email LETSENCRYPT_ENABLED= # Email for Let's Encrypt certificate LETSENCRYPT_EMAIL= # Domain for Rocket.Chat DOMAIN=localhost # Domain for Grafana GRAFANA_DOMAIN=grafana.localhost # Should match your domain; use https if enabled ROOT_URL=http://localhost
- Copy the example environment file:
-
Using Grafana as a Path instead of Subdomain:
- Change the variables
# set this to empty GRAFANA_DOMAIN= # set this to you desired path without trailing slash GRAFANA_PATH=/grafana
- If you wan't to use subdomain
# set this to your subdomain GRAFANA_DOMAIN=grafana.your-domain.com # set this as empty GRAFANA_PATH=
-
Start the stack:
- With Docker Compose:
docker compose \ -f compose.monitoring.yml \ -f compose.traefik.yml \ -f compose.database.yml \ -f compose.yml \ up -d
- Or with Podman Compose:
podman compose \ -f compose.monitoring.yml \ -f compose.traefik.yml \ -f compose.database.yml \ -f compose.yml \ up -d
This will launch all containers. Rocket.Chat will be available at http://localhost, and Grafana at http://grafana.localhost.
Note: If deploying to a custom domain, update
ROOT_URL
and related variables accordingly. - With Docker Compose:
-
Stop the stack:
- With Docker Compose:
docker compose \ -f compose.monitoring.yml \ -f compose.traefik.yml \ -f compose.database.yml \ -f compose.yml \ down
- Or with Podman Compose:
podman compose \ -f compose.monitoring.yml \ -f compose.traefik.yml \ -f compose.database.yml \ -f compose.yml \ down
To exclude components (e.g., MongoDB or Prometheus), simply remove their compose files from the command. For example, to deploy Rocket.Chat with Traefik only:
podman compose \
-f compose.traefik.yml \
-f compose.yml \
up -d