git clone --depth 1 https://github.com/RocketChat/rocketchat-compose.gitcd rocketchat-composecp .env.example .envdocker compose -f compose.database.yml -f compose.monitoring.yml -f compose.traefik.yml -f compose.yml up -dYou can access Rocket.Chat at: http://localhost
You can login to Grafana at: http://grafana.localhost with the default credentials:
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:
cp .env.example .env
.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, blank to use as a path
GRAFANA_DOMAIN=
GRAFANA_PATH=/grafana
# Should match your domain; use https if enabled
ROOT_URL=http://localhost
Using Grafana as a Path instead of Subdomain:
# set this to empty
GRAFANA_DOMAIN=
# set this to you desired path without trailing slash
GRAFANA_PATH=/grafana
# set this to your subdomain
GRAFANA_DOMAIN=grafana.your-domain.com
# set this as empty
GRAFANA_PATH=
Start the stack:
docker compose \
-f compose.monitoring.yml \
-f compose.traefik.yml \
-f compose.database.yml \
-f compose.yml \
up -d
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_URLand related variables accordingly.
Stop the stack:
docker compose \
-f compose.monitoring.yml \
-f compose.traefik.yml \
-f compose.database.yml \
-f compose.yml \
down
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