Пошаговая инструкция по установке Rocket.Chat с помощью Docker Compose и Traefik, включая создание каталога, всех необходимых файлов и запуск сервиса.
chat.example.com
)mkdir -p ~/rocketchat && cd ~/rocketchat
.env
файлаСоздайте файл .env
:
nano .env
Вставьте в файл:
# Домен без https://
DOMAIN=chat.example.com
# Полный URL приложения
ROOT_URL=https://${DOMAIN}
# Порт приложения внутри контейнера
PORT=3000
# MongoDB
MONGO_URL=mongodb://mongodb:27017/rocketchat?replicaSet=rs0
MONGO_OPLOG_URL=mongodb://mongodb:27017/local?replicaSet=rs0
# Версии
RELEASE=latest
MONGODB_VERSION=6.0
# Настройки MongoDB
MONGODB_REPLICA_SET_NAME=rs0
MONGODB_PORT_NUMBER=27017
MONGODB_ADVERTISED_HOSTNAME=mongodb
MONGODB_ENABLE_JOURNAL=true
ALLOW_EMPTY_PASSWORD=yes
Сохраните: Ctrl+O
, затем Enter
Выйдите: Ctrl+X
docker-compose.yml
Создайте файл:
nano docker-compose.yml
Вставьте:
version: '3.8'
services:
rocketchat:
image: registry.rocket.chat/rocketchat/rocket.chat:${RELEASE}
container_name: rocketchat
restart: always
networks:
- traefik_network
labels:
- "traefik.enable=true"
- "traefik.http.middlewares.rocketchat_https.redirectscheme.scheme=https"
- "traefik.http.routers.rocketchat.entrypoints=web"
- "traefik.http.routers.rocketchat.middlewares=rocketchat_https@docker"
- "traefik.http.routers.rocketchat.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.rocketchat_https.entrypoints=websecure"
- "traefik.http.routers.rocketchat_https.rule=Host(`${DOMAIN}`)"
- "traefik.http.routers.rocketchat_https.tls=true"
- "traefik.http.routers.rocketchat_https.tls.certresolver=le"
- "traefik.http.services.rocketchat.loadbalancer.server.port=3000"
environment:
- DEPLOY_METHOD=docker
- ROOT_URL=${ROOT_URL}
- PORT=${PORT}
- MONGO_URL=${MONGO_URL}
- MONGO_OPLOG_URL=${MONGO_OPLOG_URL}
- BROKER_TCP_PORT=40000
depends_on:
- mongodb
expose:
- "${PORT}"
volumes:
- uploads:/app/uploads
extra_hosts:
- "ipa-master.example.com:xxx.xxx.xxx.xxx"
mongodb:
image: docker.io/bitnami/mongodb:${MONGODB_VERSION}
container_name: mongodb
restart: always
networks:
- traefik_network
volumes:
- mongodb_data:/bitnami/mongodb
environment:
- MONGODB_REPLICA_SET_MODE=primary
- MONGODB_REPLICA_SET_NAME=${MONGODB_REPLICA_SET_NAME}
- MONGODB_PORT_NUMBER=${MONGODB_PORT_NUMBER}
- MONGODB_ADVERTISED_HOSTNAME=${MONGODB_ADVERTISED_HOSTNAME}
- MONGODB_ENABLE_JOURNAL=${MONGODB_ENABLE_JOURNAL}
- ALLOW_EMPTY_PASSWORD=${ALLOW_EMPTY_PASSWORD}
volumes:
uploads:
driver: local
mongodb_data:
driver: local
networks:
traefik_network:
external: true
docker compose --env-file .env up -d
Откройте браузер и перейдите по адресу:
https://chat.example.com