RocketChat.Server

Rocket.Chat Ansible Galaxy Travis-CI

Installiere Rocket.Chat, die beste Open Source-Webchat-Plattform, mit Ansible!

Hinweise

  • master wurde auf v2.0 umgestellt und ist jetzt der aktuellste Code der Rolle (anstatt der kompatiblen Version 1.9). Wenn du die neuste Version willst, lasse einfach die Versionsangabe weg und ansible-galaxy zieht die neueste Version oder du kannst version: master angeben, um immer die aktuellste Version zu erhalten.
  • Nutzer von v1.9 können weiterhin die Tags v1.9 und v1.9.0 verwenden, und es bleibt ein ansible_1.9 Branch, obwohl es dort wenig oder keine Rückportierungen geben wird.

Funktionen

  • Optionaler vollständiger Stack-Betrieb: Installiere Rocket.Chat vollständig, einschließlich MongoDB & einem Nginx Reverse-SSL-Proxy. Oder, installiere Rocket.Chat und integriere es mit deinem bestehenden MongoDB und/oder Nginx Systemen/Methoden.

  • Optionale automatische SSL-Zertifikatserstellung: Generiere automatisch SSL-Zertifikate für HTTPS-Verbindungen über einen Nginx Reverse-Proxy. Oder, benutze deine eigenen SSL-Zertifikate!

  • Optionale automatische Updates [erfordert Ansible 2.0]: Wenn eine neue Version von Rocket.Chat veröffentlicht wird, oder falls du Entwicklungen zu Testzwecken folgen möchtest, aktualisiere einfach rocket_chat_version auf die gewünschte Version (siehe die Rocket.Chat Versionsseite), setze rocket_chat_automatic_upgrades auf true und lasse die Rolle den Rest erledigen! Wenn es eine Änderung im Code gibt, der auf deinem Rocket.Chat Server bereitgestellt wird, kümmert sich diese Rolle um das Upgrade und die Neueinbindung des Rocket.Chat Dienstes, während deine Daten intakt bleiben. Hinweis: Diese Funktionalität benötigt Ansible 2.0. Siehe, wie man die Version 2.0 dieser Rolle in dem Abschnitt Installiere die Ansible 2.0-Version dieser Rolle erhält.

Unterstützte Plattformen

Debian

  • Strect (9)
  • Buster (10)

Ubuntu

  • Bionic Beaver: 18.04 LTS
  • Xenial: 16.04 LTS
  • Trusty: 14.04 LTS

EL (RHEL/CentOS)

  • 7

Wenn du möchtest, dass deine Distribution/dein Betriebssystem unterstützt wird, melde ein Problem!

Probleme?

Bitte stelle sicher, dass du die FAQ und alle Dokumentationen gelesen hast, bevor du ein Problem meldest.

Rollenvariablen

Alle Variablen haben sinnvoll gesetzte Standardwerte in defaults/main.yml.

Standardwerte

Name Standardwert Beschreibung
rocket_chat_automatic_upgrades false Ein boolescher Wert, der angibt, ob Rocket.Chat bei Quellcodeänderungen aktualisiert werden soll
rocket_chat_upgrade_backup true Ein boolescher Wert, der angibt, ob die aktuelle Rocket.Chat-Version beim Upgrade gesichert werden soll
rocket_chat_upgrade_backup_path "{{ rocket_chat_application_path }}" Der Pfad, um das Backup von Rocket.Chat zu speichern, wenn rocket_chat_upgrade_backup auf true gesetzt ist
rocket_chat_application_path /var/lib/rocket.chat Der Zielpfad auf dem Dateisystem für die Installation von Rocket.Chat
rocket_chat_version latest Die Version von Rocket.Chat, die installiert werden soll; siehe die Rocket.Chat Versionsseite für verfügbare Optionen
... (weitere Variablen folgen) ...

Installiere diese Rolle von Ansible Galaxy

Diese Rolle kann von Ansible Galaxy heruntergeladen werden. Um diese Rolle zu installieren und in deinem Ansible-Code zu verfolgen, nutze etwas Ähnliches in deiner requirements.yml:

- src: RocketChat.Server
  version: v1.9.0
  path: roles/external/

Hinweis: Du musst version als v1.9.0 angeben, wenn du immer noch Ansible 1.9.4 verwendest.

Installiere die Ansible 2.0-Version dieser Rolle

Mit der Veröffentlichung von Ansible 2.0 wird diese Rolle offiziell unterstützt mit einigen Leistungsverbesserungen und zusätzlichen Funktionen (automatische Updates zum Beispiel). Um die Ansible 2.0-Version dieser Rolle zu verwenden, kannst du sie mit dem ansible-galaxy Befehl und einer requirements.yml (wie oben erwähnt) installieren, um die gewünschte Version anzugeben.

Hier ist ein Beispiel für eine requirements.yml, um die Ansible 2.0 Version zu installieren:

  - src: RocketChat.Server
    path: roles/external
Hinweis: master wurde auf v2.0 umgestellt und ist nun der aktuellste Code der Rolle. Wenn du die neueste Version willst, lasse die Versionsangabe weg und ansible-galaxy zieht den neuesten Tag, oder du kannst version: master angeben, um immer aktuell zu sein.

Beispiel-Playbook

Ein einfaches Playbook, um diese Rolle auf allen chat_servers Systemen auszuführen:

  - hosts: chat_servers
    roles:
     - RocketChat.Server

Ein Playbook, um Rocket.Chat auf chat_servers zu installieren, aber die Installation von MongoDB auszuschließen und eine externe Instanz zu verwenden. Außerdem automatische Updates von Rocket.Chat zuzulassen (Ansible 2.0 erforderlich für rocket_chat_automatic_upgrades! Siehe den Abschnitt Installiere die Ansible 2.0-Version dieser Rolle):

  - hosts: chat_servers

    vars:
      rocket_chat_automatic_upgrades: true
      rocket_chat_include_mongodb: false
      rocket_chat_mongodb_server: 10.19.3.24

    roles:
      - RocketChat.Server

FAQ

  • Wenn ich versuche, mit dieser Rolle zu installieren, schlägt es bei der Aufgabe Fetch the Rocket.Chat binary tarball fehl Wenn die Installation mit einer Fehlermeldung fehlschlägt, die ähnlich klingt, ist dies, weil die Rolle noch nicht aktualisiert wurde, um den SHA256-Hash der neuesten Rocket.Chat-Version zu berücksichtigen.
TASK [RocketChat.Server : Fetch the Rocket.Chat binary tarball] ****************
fatal: [chat1]: FAILED! => {"changed": false, "failed": true, "msg": "Die Prüfziffer für /var/lib/rocket.chat/rocket.chat-latest.tgz stimmte nicht überein; sie war 21ef5ee220671e5f514f240d1423514c5780d81d6ffba8720d19660079099925."}

Im Moment ist die Pflege dieser Variablen ein manueller Prozess. Du kannst diesen Wert einfach selbst festlegen; durch host_vars, group_vars, vars in deinem Playbook oder mit -e beim Ausführen von ansible-playbook, usw.

Verfügbare Tags

Um eine spezifische Gruppe von Spielen auszuführen, verwende die --tags-Option. Die verfügbaren Tags sind:

  • vars
  • build
  • mongodb
  • repo
  • nginx
  • upgrade
  • service

Verwaltung des Rocket.Chat-Dienstes

Diese Rolle wird einen Dienst namens rocketchat bereitstellen. Du kannst dein lokales Dienstverwaltungssystem verwenden, um den Dienst zu starten, zu stoppen, neu zu laden oder neu zu starten.

Testen über Vagrant

Um diese Rolle zu testen, findest du eine Vagrantfile und eine provision.yml Playbook im tests/ Verzeichnis. Dies ist, wie du dir vielleicht gedacht hast, um Testinstallationen über Vagrant auszuführen.

Wenn du Änderungen testen oder einfach sehen möchtest, wie die Rolle funktioniert/einen kleinen Rocket.Chat-Server lokal bereitstellen möchtest, kannst du in das tests/ Verzeichnis wechseln und vagrant up ausführen (vorausgesetzt, du hast Vagrant & VirtualBox installiert).

Wenn du dir die Vagrantfile ansiehst, siehst du, dass es eine Bereitstellung für jede aktuell unterstützte Plattform gibt – kommentiere einfach die aus, die du nicht bereitstellen möchtest (vergiss nicht die Ansible-Konfiguration am Ende!). Sobald die Bereitstellung abgeschlossen ist, kannst du Rocket.Chat ausprobieren, indem du http://localhost:4000 in deinem Browser aufrufst (der Port 4000 kann hier variieren, je nachdem, welche Plattform du bereitstellst, sieh dir den Wert forwarded_port für deine Plattform an).

TODO

  • Verwende Let's Encrypt für SSL

Lizenz

MIT

Probleme/Beiträge

Fühle dich frei: Ein Problem melden Beitragen

Installieren
ansible-galaxy install RocketChat.Server
Lizenz
mit
Downloads
12.5k
Besitzer
The communications platform that puts data protection first.