**Purpose**: Deploy a RocketChat and MongoDB database together. ```jsx title="docker-compose.yml" services: rocketchat: image: registry.rocket.chat/rocketchat/rocket.chat:${RELEASE:-latest} restart: always # labels: # traefik.enable: "true" # traefik.http.routers.rocketchat.rule: Host(`${DOMAIN:-}`) # traefik.http.routers.rocketchat.tls: "true" # traefik.http.routers.rocketchat.entrypoints: https # traefik.http.routers.rocketchat.tls.certresolver: le environment: MONGO_URL: "${MONGO_URL:-\ mongodb://${MONGODB_ADVERTISED_HOSTNAME:-rc_mongodb}:${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}/\ ${MONGODB_DATABASE:-rocketchat}?replicaSet=${MONGODB_REPLICA_SET_NAME:-rs0}}" MONGO_OPLOG_URL: "${MONGO_OPLOG_URL:\ -mongodb://${MONGODB_ADVERTISED_HOSTNAME:-rc_mongodb}:${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017}/\ local?replicaSet=${MONGODB_REPLICA_SET_NAME:-rs0}}" ROOT_URL: ${ROOT_URL:-http://localhost:${HOST_PORT:-3000}} PORT: ${PORT:-3000} DEPLOY_METHOD: docker DEPLOY_PLATFORM: ${DEPLOY_PLATFORM:-} REG_TOKEN: ${REG_TOKEN:-} depends_on: - rc_mongodb expose: - ${PORT:-3000} dns: - 1.1.1.1 - 1.0.0.1 - 8.8.8.8 - 8.8.4.4 ports: - "${BIND_IP:-0.0.0.0}:${HOST_PORT:-3000}:${PORT:-3000}" networks: docker_network: ipv4_address: 192.168.5.2 rc_mongodb: image: docker.io/bitnami/mongodb:${MONGODB_VERSION:-5.0} restart: always volumes: - /srv/deeptree/rocket.chat/mongodb:/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:-rc_mongodb} MONGODB_INITIAL_PRIMARY_PORT_NUMBER: ${MONGODB_INITIAL_PRIMARY_PORT_NUMBER:-27017} MONGODB_ADVERTISED_HOSTNAME: ${MONGODB_ADVERTISED_HOSTNAME:-rc_mongodb} MONGODB_ENABLE_JOURNAL: ${MONGODB_ENABLE_JOURNAL:-true} ALLOW_EMPTY_PASSWORD: ${ALLOW_EMPTY_PASSWORD:-yes} networks: docker_network: ipv4_address: 192.168.5.3 networks: docker__network: external: true ``` ```jsx title=".env" TZ=America/Denver RELEASE=6.3.0 PORT=3000 #Redundant - Can be Removed MONGODB_VERSION=6.0 MONGODB_INITIAL_PRIMARY_HOST=rc_mongodb #Redundant - Can be Removed MONGODB_ADVERTISED_HOSTNAME=rc_mongodb #Redundant - Can be Removed ``` ## Reverse Proxy Configuration ```jsx title="nginx.conf" # Rocket.Chat Server server { listen 443 ssl; server_name rocketchat.domain.net; error_log /var/log/nginx/new_rocketchat_error.log; client_max_body_size 500M; location / { proxy_pass http://192.168.5.2:3000; proxy_http_version 1.1; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection "upgrade"; proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto https; proxy_set_header X-Nginx-Proxy true; proxy_redirect off; } } ```