DockerにrockerChatをインストールし、チャットルームを設定するための詳細な手順

DockerにrockerChatをインストールし、チャットルームを設定するための詳細な手順

包括的なドキュメント

githubアドレス

https://github.com/RocketChat/Rocket.Chat

docker-compose ドキュメント

https://docs.rocket.chat/installation/docker-containers/docker-compose

設定ファイル

docker-composeファイルを取得する

コマンドを入力してください

: curl -L https://raw.githubusercontent.com/RocketChat/Rocket.Chat/develop/docker-compose.yml -o docker-compose.yml を実行します。

ファイルの内容は

バージョン: '2'
サービス:
  ロケットチャット:
   画像: rocketchat/rocket.chat:latest
   コマンド: >
     バッシュ -c
       「i in `seq 1 30`; 実行
         ノードmain.js &&
         s=$$? && break || s=$$?;
         echo \"$$i 回試行しました。5 秒待機しています...\";
         睡眠5;
       完了しました。($$s を終了)"
   再起動: 停止しない限り
   ボリューム:
     - ./アップロード:/app/アップロード
   環境:
     -ポート=3000
     - ROOT_URL=http://localhost:3000
     - MONGO_URL=mongodb://mongo:27017/rocketchat
     - MONGO_OPLOG_URL=mongodb://mongo:27017/local
     - MAIL_URL=smtp://smtp.email
# - HTTP_PROXY=http://proxy.domain.com
# - HTTPS_PROXY=http://proxy.domain.com
   依存:
     - モンゴ
   ポート:
     - 3000:3000
   ラベル:
     - "traefik.backend=rocketchat"
     - "traefik.frontend.rule=ホスト: your.domain.tld"
  モンゴ:
   画像: mongo:4.0
   再起動: 停止しない限り
   ボリューム:
     - ./data/db:/data/db
     #- ./data/dump:/dump
   コマンド: mongod --smallfiles --oplogSize 128 --replSet rs0 --storageEngine=mmapv1
   ラベル:
     - "traefik.enable=false"
  # このコンテナのジョブは、レプリカ セットを初期化するコマンドを実行するだけです。
  # コマンドを実行して自分自身を削除します (実行を継続しません)
  mongo-init-レプリカ:
   画像: mongo:4.0
   コマンド: >
     バッシュ -c
       「i in `seq 1 30`; 実行
         mongo mongo/rocketchat --eval \"
           rs.initiate({
             _id: 'rs0',
             メンバー: [ { _id: 0, ホスト: 'localhost:27017' } ]})\" &&
         s=$$? && break || s=$$?;
         echo \"$$i 回試行しました。5 秒待機しています...\";
         睡眠5;
       完了しました。($$s を終了)"
   依存:
     - モンゴ
  # 人気のチャットボット hubot (このイメージを開始する前に、まずボット ユーザーを追加し、パスワードを変更してください)
  ヒューボット:
   画像: rocketchat/hubot-rocketchat:latest
   再起動: 停止しない限り
   環境:
     - ROCKETCHAT_URL=ロックチャット:3000
     - ROCKETCHAT_ROOM=一般
     -ROCKETCHAT_USER=ボット
     -ROCKETCHAT_PASSWORD=ボットパスワード
     - BOT_NAME=ボット
  # ここに好きなだけスクリプトを追加できます。npm でインストールできる必要があります。
     - EXTERNAL_SCRIPTS=hubot-help、hubot-seen、hubot-links、hubot-diagnostics
   依存:
     - ロケットチャット
   ラベル:
     - "traefik.enable=false"
   ボリューム:
     - ./scripts:/home/hubot/scripts
  # これは、ポート 3001 上のホストの通知用に hubot ポートを公開するために使用されます (例: hubot-jenkins-notifier)
   ポート:
     - 3001:8080
  #traefik:
  # 画像: traefik:latest
  # 再起動: 停止しない限り
  # コマンド: >
  # トラエフィク
  # --docker
  # --acme=true
  # --acme.domains='your.domain.tld'
  # --acme.email='[email protected]'
  # --acme.entrypoint=https
  # --acme.storagefile=acme.json
  # --defaultentrypoints=http
  # --defaultentrypoints=https
  # --entryPoints='名前:http アドレス::80 リダイレクトエントリポイント:https'
  # --entryPoints='名前:https アドレス::443 TLS.証明書:'
  ポート数:
  # - 80:80
  # - 443:443
  # ボリューム:
  # - /var/run/docker.sock:/var/run/docker.sock

ファイルを変更する

ナノ docker-compose.yml

ポートをカスタムポートに変更します。デフォルトは3000ですが、ここでは5001に変更します。

画像

サービスを開始する

コマンドを入力してください

docker-compose を起動 -d

アクセスサービス

http://IP:ポートを使用する

デフォルトでインストールウィザードに入る

管理者情報を設定する

画像

組織情報を設定する

画像

サーバー情報を設定する

画像

サーバーを登録

画像

成功のための準備

画像

デフォルトの公開チャットルームに入る

画像

左上隅をクリックしてユーザーを作成します

2人のユーザー間の接続をテストするには

画像

テキスト、絵文字、画像、音声、ビデオ、ビデオ会議をテストする

画像

httpsの設定

SSL 証明書を申請し、nginx プロキシの前に IP: ポート番号を使用します。

同時に、ドメイン名は対応するサーバーのIPに解決されます。

サーバー{
       聞く 443;
       # ロケットチャット
       サーバー名 rocketchat.domain.com;
       sslオン;
       #ルートhtml;
       # インデックス index.html index.htm;
       # SSL 証明書は、同じレベルのドメイン フォルダーに配置されます ssl_certificate cert/domain/rocketchat.domain.com_bundle.crt;
       ssl_certificate_key cert/domain/rocketchat.domain.com.key;
       ssl_session_timeout 5分;
       ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:ECDHE:ECDH:AES:HIGH:!NULL:!aNULL:!MD5:!ADH:!RC4;
       ssl_プロトコル TLSv1 TLSv1.1 TLSv1.2;
       ssl_prefer_server_ciphers をオン;
       位置 / {
           #現在のサービス ポートをポイントします proxy_pass http://127.0.0.1:5001;
           # リクエスト ヘッダーを設定し、ヘッダー情報をサーバーに渡します proxy_redirect off;
           proxy_set_header ホスト $host;
           プロキシ_http_バージョン 1.1;
           proxy_set_header アップグレード $http_upgrade;
           proxy_set_header 接続「アップグレード」;
       }
   }

ヒント

音声メッセージ、ビデオメッセージ、ファイル転送、APP アプリケーションなどの一部のサービスでは、https プロトコル アクセスが必要です。

Https を時間内に構成することをお勧めします。試してみたいだけの場合は、ip:port を使用してください。

画像

上記は、dockerにrockerChatをインストールしてチャットルームを設定する方法の詳細です。docker rockerChatチャットルームの詳細については、123WORDPRESS.COMの他の関連記事に注目してください。

<<:  CSS でテキストシャドウと要素シャドウ効果を使用する

>>:  MySQL タイムブラインドインジェクションの 5 つの遅延方法

推薦する

ElementUI の this.$notify.close() 呼び出しが機能しない問題の解決方法

目次要件の説明問題の説明問題分析問題解決質問の拡張要件の説明このプロジェクトでは、まずユーザーが質問...

ハイパーリンクAタグを学ぶ

聞く: CSS を使用してハイパーリンクのスタイルを設定しましたが、ホバーしても機能しません。なぜこ...

CSSテーマを簡単に切り替える方法の詳細な説明

最近、個人の Web サイトに非常にシンプルなカラー スキーム (テーマ) スイッチャーを追加しまし...

IE8 開発者ツール メニューの説明

<br />この記事では、開発者ツールのさまざまなメニューについて簡単に説明しました。こ...

JavaScript コードベースをよりクリーンにする 5 つの方法

目次1. 短絡や条件文の代わりにデフォルトのパラメータを使用する2. 複数の条件の処理3. スイッチ...

SQL における参照整合性の詳細な説明 (1 対 1、1 対多、多対多)

1. 参照整合性参照整合性とは、主に外部キー制約を使用した複数のテーブル間の設計を指します。複数テ...

Vue でメニュー権限制御を実装するためのサンプルコード

バックエンド管理システムで作業している場合、通常、メニュー権限制御に関連する問題に遭遇します。もちろ...

Docker で Redis センチネル モードを構成する方法 (複数のサーバー上)

目次序文状態DockerをインストールするRedisのマスターノードとスレーブノードを構成する序文以...

React構成サブルーティングの実装

1. コンポーネント First.js にはサブコンポーネントがあります。 './Admin...

Gobangゲームを実現するためのjsキャンバス

この記事では、Gobangゲームを実装するためのキャンバスの具体的なコードを参考までに共有します。具...

TomcatのmaxPostSize属性を設定する際に注意する必要がある問題を解決する

必要:近い将来、大容量ファイルのアップロード機能を実装します。フロントエンドフレームワークのアップロ...

スプライトとフォントアイコンを実装するためのCSS

スプライト:以前は、各画像リソースは独立した画像でした。ブラウザが Web サイト内のさまざまな W...

MySQL 日付処理関数の例の分析

この記事は主にMySQLの日付処理関数のサンプル分析を紹介します。この記事ではサンプルコードを詳細に...

JS で if 判定をスムーズに行う方法

目次序文コードの実装アイデア 1アイデア2要約する参照ドキュメント序文プロジェクト内の小さな要件ポイ...