Bereitstellen Sie Rocket.chat, die ultimative Open -Source -Web -Chat -Plattform, mit Ansible!
master wurde in v2.0 umgebaut und ist jetzt der aktuellste Code der Rolle (anstatt dass es sich um die 1,9-kompatible Version handelt). Wenn Sie den neuesten Code möchten, fügen Sie einfach keine Version ein, und ansible-galaxy wird das neueste Tag einbeziehen, oder Sie können die version: master um immer mit der Entwicklung aktuell zu sein.v1.9 Benutzer können weiterhin Tags v1.9 und v1.9.0 verwenden, und eine ansible_1.9 -Filiale bleibt, obwohl dort nur wenig, wenn auch ein Backports vorgenommen wird. Optionale Vollstack -Bereitstellung: Rocket.chat vollständig bereitstellen, einschließlich MongoDB und einem Nginx Reverse SSL Proxy. Oder stellen Sie Rocket.chat ein und integrieren Sie in Ihre vorhandenen MongoDB- und/oder Nginx -Instanzen/Bereitstellungsmethoden.
Optionale automatische SSL -Zertifikat Generierung: Generieren Sie automatisch SSL -Zertifikate für die HTTPS -Konnektivität über einen Nginx Reverse -Proxy. Oder stellen Sie Ihre eigenen SSL -Zertifikate ein!
Optionale automatische Upgrades [erfordert Ansible 2.0]: Wenn eine neue Version von Rocket.chat veröffentlicht wird oder die Entwicklung zu Testzwecken folgen möchten, aktualisieren Sie true die rocket_chat_version auf die Veröffentlichung, die Sie einsetzen möchten rocket_chat_automatic_upgrades Rocket.Chat Server (entweder aufgrund einer Remote -Änderung der rocket_chat_version , die Sie folgen, beispielsweise "Neueste" oder "neuesten", oder weil Sie eine neue rocket_chat_version abrufen) wird diese Rolle mit dem Upgrade umgehen und die Aktualisierung des Raketens. Galaxienabschnitt
Wenn Sie sehen möchten, dass Ihr Vertriebs-/Betriebssystem unterstützt wird, wecken Sie bitte ein Problem!
Bitte stellen Sie sicher, dass Sie die FAQ und alle Dokumentationen lesen, bevor Sie ein Problem ansprechen.
Alle Variablen haben gesunde Standardeinstellungen in defaults/main.yml festgelegt
| Name | Standardwert | Beschreibung |
|---|---|---|
rocket_chat_automatic_upgrades | FALSCH | Ein boolescher Wert, der feststellt |
rocket_chat_upgrade_backup | WAHR | Ein boolescher Wert, der feststellt |
rocket_chat_upgrade_backup_path | "{{ rocket_chat_application_path }}" | Der Pfad zum Speichern der Backup von Rocket.chat, wenn rocket_chat_upgrade_backup true ist |
rocket_chat_application_path | /var/lib/rocket.chat | Das Ziel im Dateisystem zur Bereitstellung von Rocket.chat zu bereitstellen |
rocket_chat_version | latest | Die Version von Rocket.chat zur Bereitstellung; Weitere Optionen finden Sie auf der Seite Rocket.chat Releases |
rocket_chat_tarball_remote | Siehe defaults/main.yml | Die Remote -URL zum Abrufen der Rocket.chat Tarball aus (verwendet rocket_chat_version ) |
rocket_chat_tarball_sha256sum | Siehe defaults/main.yml | Die SHA256 -Hash -Summe der Rakete. Chat Tarball wird abgerufen |
rocket_chat_tarball_fetch_timeout | 100 | Die Zeit (in Sekunden) vor dem Versuch, die Rakete zu holen. Chat Tarball schlägt fehl |
rocket_chat_tarball_validate_remote_cert | WAHR | Ein boolescher Wert, der bestimmt, wie die SSL -Zertifikate für die Rocket -Tarball -Fernbedienung validieren, um zu validieren |
rocket_chat_service_user | rocketchat | Der Name des Benutzers, der den Prozess der Rocket.chat -Server ausführt |
rocket_chat_service_group | rocketchat | Der Name der primären Gruppe für den Benutzer von rocket_chat_service_user |
rocket_chat_service_host | "{{ ansible_fqdn }}" | Das FQDN des Raketenschichtsystems |
rocket_chat_service_port | 3000 | Die TCP Port Rocket.chat hört auf |
rocket_chat_service_extra_instances | [] | Liste der TCP -Portnummern für zusätzliche Rocketchat -Serviceinstanzen, um mehr Benutzer auf einem Computer zu verarbeiten |
rocket_chat_node_version | 4.5.0 | Die zu installierende Version von Nodejs, die n versteht |
rocket_chat_node_prefix | /usr/local/n/versions/node/{{ rocket_chat_node_version }} | Der Pfad zum node -Binärverzeichnis, den N installiert |
rocket_chat_npm_dist | /usr/bin/npm | Der Pfad zum ursprünglichen npm -Binary, bevor N alle Knotenversionen installiert |
rocket_chat_include_mongodb | WAHR | Ein boolescher Wert, der bestimmt, ob MongoDB bereitgestellt werden soll oder nicht |
rocket_chat_mongodb_keyserver | keyserver.ubuntu.com | Der GPG -Schlüsselserver, der beim Importieren des MongoDB -Repo -Schlüssels verwendet werden soll |
rocket_chat_mongodb_gpg_key | 7F0CEB10 | Der GPG -Schlüsselfingerabdruck für das MongoDB -Repo importieren |
rocket_chat_mongodb_user | standardmäßig nicht verwendet | Benutzername, der bei der Verbindung mit MongoDB verwendet werden soll. Wenn Sie dies festlegen, sollten Sie auch rocket_chat_mongodb_password definieren, da sonst kein Benutzer/Pass verwendet wird, um eine Verbindung zu MongoDB herzustellen |
rocket_chat_mongodb_password | standardmäßig nicht verwendet | Passwort, das bei der Verbindung zu MongoDB verwendet werden soll. Wenn Sie dies einstellen, sollten Sie auch rocket_chat_mongodb_user definieren, da sonst kein Benutzer/Pass verwendet wird, um eine Verbindung zu MongoDB herzustellen |
rocket_chat_mongodb_server | 127.0.0.1 | Der IP/FQDN des MongoDB -Hosts |
rocket_chat_mongodb_port | 27017 | Der TCP -Port, um den MongoDB -Host zu kontaktieren |
rocket_chat_mongodb_database | Rocketchat | Die MongoDB -Datenbank soll für Rocket.chat verwendet werden |
rocket_chat_mongodb_use_tls | FALSCH | Ob Sie TLS verwenden möchten oder nicht, um eine Verbindung zum MongoDB DB herzustellen |
rocket_chat_mongodb_packages | mongodb | Der Name des MongoDB -Pakets (n) zu installieren (unterscheidet sich für verschiedene Distributionen - siehe vars/ ) |
rocket_chat_mongodb_config_template | mongod.conf.j2 | Die Vorlage /etc/mongod.conf zur Bereitstellung |
rocket_chat_mongodb_org_pkgs | Falsch | wahr (Debian/Ubuntu) | Verwenden Sie offizielle Pakete von mongodb.org Community Edition oder nicht |
rocket_chat_mongodb_org_version | 3.4 | Versionszeichenfolge offizieller Pakete zu installieren |
rocket_chat_mongodb_service_name | mongod | Der Name der Systemd Service Unit und der MongoDB -Konfigurationsdatei in /etc. |
rocket_chat_include_nginx | WAHR | Ein boolescher Wert, der bestimmt, ob nginx bereitgestellt werden soll oder nicht |
rocket_chat_ssl_generate_certs | WAHR | Ein boolescher Wert, der bestimmt, ob die Nginx SSL -Zertifikate generiert werden sollen |
rocket_chat_ssl_key_path | /etc/nginx/rocket_chat.key | Der Zielpfad für den privaten Schlüssel Nginx SSL |
rocket_chat_ssl_cert_path | /etc/nginx/rocket_chat.crt | Der Zielpfad für das Nginx SSL -Zertifikat |
rocket_chat_ssl_deploy_data | FALSCH | Ein boolescher Wert, der feststellt, ob benutzerdefinierte SSL -Daten bereitgestellt werden sollen (Zertifikat/Schlüsseldateien) |
rocket_chat_ssl_key_file | ~ | Wenn Sie die SSL Cert -Generation nicht verwenden, ist dies der Pfad zum Nginx SSL Private -Schlüssel zum Ansible Control Knode, um die Bereitstellung zu erhalten |
rocket_chat_ssl_cert_file | ~ | Wenn nicht die SSL -Cert -Generation verwendet wird, ist dies der Pfad zum Nginx SSL -Zertifikat auf dem Ansible Control Knoten, um die Bereitstellung zu erhalten |
rocket_chat_nginx_enable_pfs | WAHR | Ein boolescher Wert, der bestimmt, ob PFS beim Bereitstellen von nginx aktiviert werden soll oder nicht |
rocket_chat_nginx_generate_pfs_key | WAHR | Ein boolescher Wert, der bestimmt, ob eine PFS -Schlüsseldatei generiert werden soll oder nicht |
rocket_chat_nginx_pfs_key_numbits | 2048 | Dummbit |
rocket_chat_nginx_pfs_key_path | /etc/nginx/rocket_chat.pem | Der Zielpfad für die Nginx PFS -Tastendatei |
rocket_chat_nginx_pfs_file | ~ | Wenn Sie die PFS -Schlüsselgenerierung nicht verwenden, ist dies der Pfad zum Nginx -PFS -Schlüssel für den Ansible -Steuerknoten für die Bereitstellung |
rocket_chat_nginx_listen_ssl_port | 443 | Der SSL -Port, auf dem Ngnix hört |
rocket_chat_nginx_listen_port | 80 | Der Port, auf dem Ngnix hört |
Einige Variablen unterscheiden sich zwischen Betriebssystemen/Verteilungen. Diese sind im vars/ Verzeichnis festgelegt, typischerweise in einer nach der Verteilung benannten Datei.
Set in vars/RedHat.yml
| Name | Standardwert | Beschreibung |
|---|---|---|
rocket_chat_dep_packages | - Git | Eine Liste der zu installierenden Raketen.chat -Abhängigkeiten |
| - GraphicsMagick | ||
| - Nodejs | ||
| - NPM | ||
| - machen | ||
rocket_chat_mongodb_packages | - MongoDB | Eine Liste der zu installierenden MongoDB -Serverpakete |
| - MongoDB-Server | ||
rocket_chat_mongodb_repl_lines | 'replSet=001-rs' | Der Wert für den MongoDB -Replikatsatz |
rocket_chat_mongodb_fork | true | Ein boolescher Wert, der feststellt |
rocket_chat_mongodb_pidfile_path | /var/run/mongodb/mongodb.pid | Der Pfad zur PIDfile für den MongoDB -Serverprozess |
rocket_chat_mongodb_logpath | /var/log/mongodb/mongod.log | Der Log -Dateipfad für den MongoDB -Server |
rocket_chat_mongodb_unixsocketprefix | /var/run/mongodb | Der Pfad für das Präfix des MongoDB Unix Socket |
rocket_chat_mongodb_dbpath | /var/lib/mongodb | Der Weg für MongoDB zum Speichern seiner Datenbanken |
rocket_chat_nginx_process_user | nginx | Der Benutzer dafür wird verwendet, um den Nginx -Serverprozess zu leiten |
Set in vars/RedHat_7.yml
| Name | Standardwert | Beschreibung |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | Der Befehl, das das Service -Management -System zu informieren, wenn sich ein Servicemanifest geändert hat |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | Die Quellvorlage, die für das Rocket.chat -Dienst bereitgestellt werden soll |
dest | /usr/lib/systemd/system/rocketchat.service | Das Ziel, den Rocket.chat -Service zu bereitstellen, manifestiert sich auf |
rocket_chat_tarball_validate_remote_cert | FALSCH | Ein boolescher Wert, der bestimmt, wie die SSL -Zertifikate für die Rocket -Tarball -Fernbedienung validieren, um zu validieren |
Set in vars/Debian.yml
| Name | Standardwert | Beschreibung |
|---|---|---|
rocket_chat_dep_packages | - Git | Eine Liste der zu installierenden Raketen.chat -Abhängigkeiten |
| - GraphicsMagick | ||
| - Nodejs | ||
| - NPM | ||
| - machen | ||
rocket_chat_mongodb_packages | - MongoDB-Server | Eine Liste der zu installierenden MongoDB -Serverpakete |
| - MongoDb-Shell | ||
rocket_chat_mongodb_repl_lines | replication: | Der Wert für den MongoDB -Replikatsatz |
replSetName: "001-rs" | ||
rocket_chat_nginx_process_user | www-data | Der Benutzer dafür wird verwendet, um den Nginx -Serverprozess zu leiten |
Set in vars/Debian_8.yml
| Name | Standardwert | Beschreibung |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | Der Befehl, das das Service -Management -System zu informieren, wenn sich ein Servicemanifest geändert hat |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | Die Quellvorlage, die für das Rocket.chat -Dienst bereitgestellt werden soll |
dest | /etc/systemd/system/rocketchat.service | Das Ziel, den Rocket.chat -Service zu bereitstellen, manifestiert sich auf |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main | Das APT -Repository für MongoDB |
Set in vars/Ubuntu.yml
| Name | Standardwert | Beschreibung |
|---|---|---|
rocket_chat_dep_packages | - Git | Eine Liste der zu installierenden Raketen.chat -Abhängigkeiten |
| - GraphicsMagick | ||
| - Nodejs | ||
| - NPM | ||
| - machen | ||
rocket_chat_mongodb_packages | - MongoDB-Server | Eine Liste der zu installierenden MongoDB -Serverpakete |
| - MongoDb-Shell | ||
rocket_chat_mongodb_repl_lines | replication: | Der Wert für den MongoDB -Replikatsatz |
replSetName: "001-rs" | ||
rocket_chat_nginx_process_user | www-data | Der Benutzer dafür wird verwendet, um den Nginx -Serverprozess zu leiten |
Setzen Sie in vars/Ubuntu_15.yml
| Name | Standardwert | Beschreibung |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | Der Befehl, das das Service -Management -System zu informieren, wenn sich ein Servicemanifest geändert hat |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | Die Quellvorlage, die für das Rocket.chat -Dienst bereitgestellt werden soll |
dest | /etc/systemd/system/rocketchat.service | Das Ziel, den Rocket.chat -Service zu bereitstellen, manifestiert sich auf |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main | Das APT -Repository für MongoDB |
Set in vars/Ubuntu_14.yml
| Name | Standardwert | Beschreibung |
|---|---|---|
rocket_chat_service_update_command | initctl reload-configuration ; service rocketchat restart | Der Befehl, das das Service -Management -System zu informieren, wenn sich ein Servicemanifest geändert hat |
rocket_chat_service_template | ||
src | rocketchat_upstart.j2 | Die Quellvorlage, die für das Rocket.chat -Dienst bereitgestellt werden soll |
dest | /etc/init/rocketchat.conf | Das Ziel, den Rocket.chat -Service zu bereitstellen, manifestiert sich auf |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse | Das APT -Repository für MongoDB |
rocket_chat_tarball_validate_remote_cert | FALSCH | Ein boolescher Wert, der bestimmt, wie die SSL -Zertifikate für die Rocket -Tarball -Fernbedienung validieren, um zu validieren |
Diese Rolle kann von Ansible Galaxy heruntergeladen werden. Um diese Rolle zu installieren und in Ihrer Ansible-Code-Base zu verfolgen, verwenden Sie etwas Ähnliches wie in Ihren requirements.yml .
- src : RocketChat.Server
version : v1.9.0
path : roles/external/
Hinweis: Sie müssen version als v1.9.0 angeben, wenn Sie noch Ansible 1.9.4 verwenden
Mit der Veröffentlichung von Ansible 2.0 wird diese Rolle offiziell mit einigen Leistungsverbesserungen und zusätzlichen Funktionen (beispielsweise automatische Upgrades) unterstützt. Um die Ansible 2.0-Version dieser Rolle zu verwenden, können Sie sie mithilfe des Befehlszeilen-Tools ansible-galaxy unter Verwendung eines requirements.yml installieren.
Hier finden Sie eine requirements.yml Datei zur Installation über ansible-galaxy werden den Ansible 2.0-Code erfasst:
- src : RocketChat.Server
path : roles/external master wurde in V2.0 wiederhergestellt und ist jetzt der aktuellste Code der Rolle. Wenn Sie möchten, dass die neueste Version überhaupt keine Version einfügt und ansible-galaxy das neueste Tag einbezieht oder Sie version: master immer aktuell einschließen können. Ein einfaches Spielbuch, um diese Rolle auf allen chat_servers -Systemen auszuführen:
- hosts : chat_servers
roles :
- RocketChat.Server Ein Playbook zur Bereitstellung von Rocket.chat für chat_servers , aber die Bereitstellung von MongoDB ausschließen und eine externe Instanz verwenden. Erlauben Sie auch automatische Upgrades von Rocket.chat (Ansible 2.0 für rocket_chat_automatic_upgrades erforderlich! Siehe die Installation aus Ansible Galaxy Secion):
- 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 Fetch the Rocket.Chat binary tarball -Tarball -Aufgabe fehl TASK [RocketChat.Server : Fetch the Rocket.Chat binary tarball] ****************
fatal: [chat1]: FAILED! => {"changed": false, "failed": true, "msg": "The checksum for /var/lib/rocket.chat/rocket.chat-latest.tgz did not match e6caca890c86f79595da14398dd3ab0c0d3222932d6a8a1b38c6e5082531acd2; it was 21ef5ee220671e5f514f240d1423514c5780d81d6ffba8720d19660079099925."}
Derzeit ist die Wartung dieser Variablen ein manueller Vorgang. In der Zwischenzeit können Sie einfach den Wert dieser Variablen selbst festlegen. Über host_vars , group_vars , vars in Ihrem Spielbuch oder mit -e beim Ausführen ansible-playbook usw.
Um einen bestimmten Satz von Spielen mit der Flag --tags auszuführen, sind die verfügbaren Tags:
varsbuildmongodbreponginxupgradeservice Diese Rolle wird einen Dienst namens rocketchat bereitstellen. Sie können mit Ihrem nativen Service -Management -System den Dienst starten/anstellen/neu laden/neu starten.
Um diese Rolle zu testen, finden Sie in den tests/ Verzeichnissen ein Vagrantfile und provision.yml -Playbook. Dies ist, wie Sie vielleicht vermutet haben, für die Ausführung von Testbereitstellungen über Vagrant.
Wenn Sie einige Änderungen testen oder einfach sehen möchten, wie die Rolle funktioniert/ ein wenig Spielrocket.Chat Server lokal funktioniert, können Sie cd in tests/ und vagrant up ausführen (vorausgesetzt, Sie haben Vagrant & VirtualBox installiert).
Wenn Sie sich die Vagrantfile ansehen, werden Sie feststellen, dass eine Bereitstellung für jede aktuell unterstützte Plattform vorliegt. Kommentieren Sie einfach die, die Sie nicht bereitstellen möchten (vergessen Sie auch nicht ihre Ansible -Konfiguration unten!). Sobald die Bereitstellung beendet ist, können Sie http://localhost:4000 in Ihrem Browser besuchen, wenn Sie Rocket.chat ausprobieren möchten (der Port 4000 variiert hier, basierend auf der Plattform, die Sie bereitstellen, sehen Sie sich den Wert forwarded_port für Ihre Plattform an.
MIT
Fühlen Sie sich frei zu: ein Problem aufwerfen, den Beitrag leisten