Deployer Rocket.Chat, la plate-forme de chat Web open source ultime, avec Anible!
master a été réprimandé sur v2.0 et est désormais le code le plus actuel du rôle (au lieu qu'il s'agit de la version compatible 1.9.) Si vous voulez le dernier code, n'incluez pas du tout la version et ansible-galaxy tirera la dernière balise, ou vous pouvez inclure version: master est toujours en cours avec le développement.v1.9 peuvent continuer à utiliser les balises v1.9 et v1.9.0 , et une succursale ansible_1.9 reste, bien que peu ou pas de retards y seront effectués. Déploiement de pile complet en option: déploie entièrement Rocket.Chat, y compris le proxy MongoDB & An Nginx Reverse SSL. Ou, déployez Rocket.Chat et intégrer à vos instances / méthodes de déploiement MongoDB et / ou Nginx existantes.
Génération de certificat SSL automatique en option: générer automatiquement des certificats SSL pour la connectivité HTTPS via un proxy inversé NGINX. Ou déployez vos propres certificats SSL!
Mises à niveau automatiques en option [nécessite ANSIBLE 2.0]: Si une nouvelle version de Rocket.Chat est publiée, ou si vous souhaitez suivre le développement à des fins de test, mettez simplement à jour la page de version de rocket_chat_version à true de la sortie rocket_chat_automatic_upgrades la sortie (voir la page Rocket.Chat, si il y a un changement pour le Code. En raison d'un changement à distance pour le rocket_chat_version , vous suivez, «le dernier» ou «développe» par exemple, ou parce que vous définissez une nouvelle note rocket_chat_version ), ce rôle gérera la note de mise à niveau et de redéploiement du service Rocket.Chat.
Si vous souhaitez voir votre système de distribution / système d'exploitation, veuillez soulever un problème!
Veuillez vous assurer que vous avez lu la FAQ et toute la documentation avant de soulever un problème.
Toutes les variables ont des valeurs par défaut saines définies dans defaults/main.yml
| Nom | Valeur par défaut | Description |
|---|---|---|
rocket_chat_automatic_upgrades | FAUX | Une valeur booléenne qui détermine s'il a ou non mis à niveau la fusée.Chat sur le code source modifie |
rocket_chat_upgrade_backup | vrai | Une valeur booléenne qui détermine s'il faut sauvegarder la version actuelle de Rocket.Chat lors de la mise à niveau |
rocket_chat_upgrade_backup_path | "{{ rocket_chat_application_path }}" | Le chemin pour stocker la sauvegarde de Rocket.Chat lorsque rocket_chat_upgrade_backup est true |
rocket_chat_application_path | /var/lib/rocket.chat | La destination du système de fichiers pour déployer Rocket.chat à |
rocket_chat_version | latest | La version de Rocket.chat à déployer; Voir la page des versions Rocket.Chat pour les options disponibles |
rocket_chat_tarball_remote | Voir defaults/main.yml | L'URL distante pour récupérer la rocket_chat_version . |
rocket_chat_tarball_sha256sum | Voir defaults/main.yml | La somme de hachage Sha256 de la fusée. |
rocket_chat_tarball_fetch_timeout | 100 | Le temps (en quelques secondes) avant la tentative de récupérer la fusée. |
rocket_chat_tarball_validate_remote_cert | vrai | Une valeur booléenne qui détermine ou ne pas valider les certificats SSL pour la fusée. |
rocket_chat_service_user | rocketchat | Le nom de l'utilisateur qui exécutera le processus de serveur Rocket.Chat |
rocket_chat_service_group | rocketchat | Le nom du groupe principal de l'utilisateur rocket_chat_service_user |
rocket_chat_service_host | "{{ ansible_fqdn }}" | Le FQDN du système de fusée.Chat |
rocket_chat_service_port | 3000 | Le TCP Port Rocket.Chat écoute |
rocket_chat_service_extra_instances | [] | Liste des numéros de port TCP pour des instances de service Rocketchat supplémentaires pour gérer plus d'utilisateurs sur une seule machine |
rocket_chat_node_version | 4.5.0 | La version de Nodejs pour installer que n comprend |
rocket_chat_node_prefix | /usr/local/n/versions/node/{{ rocket_chat_node_version }} | Le chemin du répertoire binaire node que N installe |
rocket_chat_npm_dist | /usr/bin/npm | Le chemin d'accès au binaire npm d'origine, avant que n n'installe toutes les versions de nœud |
rocket_chat_include_mongodb | vrai | Une valeur booléenne qui détermine s'il pour déployer MongoDB |
rocket_chat_mongodb_keyserver | keyserver.ubuntu.com | Le serveur de clés GPG à utiliser lors de l'importation |
rocket_chat_mongodb_gpg_key | 7F0CEB10 | L'empreinte digitale de la clé GPG à importer pour le repo MongoDB |
rocket_chat_mongodb_user | non utilisé par défaut | Nom d'utilisateur à utiliser lors de la connexion à MongoDB. Si vous le définissez, vous devez également définir rocket_chat_mongodb_password , sinon aucun utilisateur / pass n'est utilisé pour se connecter à MongoDB |
rocket_chat_mongodb_password | non utilisé par défaut | Mot de passe à utiliser lors de la connexion à MongoDB. Si vous le définissez, vous devez également définir rocket_chat_mongodb_user , sinon aucun utilisateur / pass n'est utilisé pour se connecter à MongoDB |
rocket_chat_mongodb_server | 127.0.0.1 | L'IP / FQDN de l'hôte MongoDB |
rocket_chat_mongodb_port | 27017 | Le port TCP pour contacter l'hôte hôte MongoDB via |
rocket_chat_mongodb_database | rocketchat | La base de données MongoDB à utiliser pour Rocket.Chat |
rocket_chat_mongodb_use_tls | FAUX | Si vous utilisez ou non TLS pour se connecter à la DB MongoDB |
rocket_chat_mongodb_packages | mongodb | Le nom du (s) package (s) MongoDB à installer (diffère pour différentes distros - voir vars/ ) |
rocket_chat_mongodb_config_template | mongod.conf.j2 | Le modèle /etc/mongod.conf à déployer |
rocket_chat_mongodb_org_pkgs | Faux | Vrai (Debian / Ubuntu) | Utilisez des packages officiels de Mongodb.org Community Edition ou non |
rocket_chat_mongodb_org_version | 3.4 | Version de version de packages officiels à installer |
rocket_chat_mongodb_service_name | mongod | Le nom de l'unité de service Systemd et du fichier de configuration MongoDB dans / etc. |
rocket_chat_include_nginx | vrai | Une valeur booléenne qui détermine s'il faut déployer Nginx ou non |
rocket_chat_ssl_generate_certs | vrai | Une valeur booléenne qui détermine si |
rocket_chat_ssl_key_path | /etc/nginx/rocket_chat.key | Le chemin de destination de la clé privée Nginx SSL |
rocket_chat_ssl_cert_path | /etc/nginx/rocket_chat.crt | Le chemin de destination du certificat NGINX SSL |
rocket_chat_ssl_deploy_data | FAUX | Une valeur booléenne qui détermine s'il pour déployer ou non les données SSL personnalisées (fichiers CERT / Key) |
rocket_chat_ssl_key_file | ~ | Si je n'utilise pas la génération de certificat SSL, c'est le chemin vers la clé privée Nginx SSL sur le nœud de contrôle ANSIBL, pour le déploiement |
rocket_chat_ssl_cert_file | ~ | Si je n'utilise pas la génération de certificat SSL, c'est le chemin vers le certificat Nginx SSL sur le nœud de contrôle ANSIBL, pour le déploiement |
rocket_chat_nginx_enable_pfs | vrai | Une valeur booléenne qui détermine l'opportunité d'activer les PFS lors du déploiement de Nginx |
rocket_chat_nginx_generate_pfs_key | vrai | Une valeur booléenne qui détermine si vous devez générer ou non un fichier de clé PFS |
rocket_chat_nginx_pfs_key_numbits | 2048 | Numeurs à passer à OpenSSL lors de la génération d'un fichier de clé PFS |
rocket_chat_nginx_pfs_key_path | /etc/nginx/rocket_chat.pem | Le chemin de destination du fichier de clé NGINX PFS |
rocket_chat_nginx_pfs_file | ~ | Si vous n'utilisez pas la génération de clés PFS, c'est le chemin d'accès à la clé NGINX PFS sur le nœud de contrôle ANSIBL, pour le déploiement |
rocket_chat_nginx_listen_ssl_port | 443 | Le port SSL sur lequel NGIX écoute |
rocket_chat_nginx_listen_port | 80 | Le port sur lequel NGIX écoute |
Certaines variables diffèrent entre les systèmes de fonctionnement / distributions. Ceux-ci sont définis dans le répertoire vars/ , généralement dans un fichier nommé d'après la distribution.
Réglé dans vars/RedHat.yml
| Nom | Valeur par défaut | Description |
|---|---|---|
rocket_chat_dep_packages | - Git | Une liste de dépendances de roquette.chat à installer |
| - Graphicsmagick | ||
| - Nodejs | ||
| - NPM | ||
| - faire | ||
rocket_chat_mongodb_packages | - Mongodb | Une liste de packages de serveurs MongoDB à installer |
| - MongoDB-Server | ||
rocket_chat_mongodb_repl_lines | 'replSet=001-rs' | La valeur de l'ensemble de répliques MongoDB |
rocket_chat_mongodb_fork | true | Une valeur booléenne qui définit de fourrer ou non le processus du serveur MongoDB |
rocket_chat_mongodb_pidfile_path | /var/run/mongodb/mongodb.pid | Le chemin d'accès au PidFile pour le processus du serveur MongoDB |
rocket_chat_mongodb_logpath | /var/log/mongodb/mongod.log | Le chemin du fichier journal pour le serveur MongoDB |
rocket_chat_mongodb_unixsocketprefix | /var/run/mongodb | Le chemin pour la préfixe de socket MongoDB Unix |
rocket_chat_mongodb_dbpath | /var/lib/mongodb | Le chemin pour MongoDB pour stocker ses bases de données |
rocket_chat_nginx_process_user | nginx | L'utilisateur pour cela sera utilisé pour engendrer le processus du serveur Nginx |
Réglé dans vars/RedHat_7.yml
| Nom | Valeur par défaut | Description |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | La commande à utiliser pour informer le système de gestion des services lorsqu'un manifeste des services a changé |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | Le modèle source à déployer pour le service Rocket.Chat Manifeste |
dest | /usr/lib/systemd/system/rocketchat.service | La destination pour déployer le service Rocket.Chat se manifeste pour |
rocket_chat_tarball_validate_remote_cert | FAUX | Une valeur booléenne qui détermine ou ne pas valider les certificats SSL pour la fusée. |
Réglé dans vars/Debian.yml
| Nom | Valeur par défaut | Description |
|---|---|---|
rocket_chat_dep_packages | - Git | Une liste de dépendances de roquette.chat à installer |
| - Graphicsmagick | ||
| - Nodejs | ||
| - NPM | ||
| - faire | ||
rocket_chat_mongodb_packages | - MongoDB-Server | Une liste de packages de serveurs MongoDB à installer |
| - Mongodb-shell | ||
rocket_chat_mongodb_repl_lines | replication: | La valeur de l'ensemble de répliques MongoDB |
replSetName: "001-rs" | ||
rocket_chat_nginx_process_user | www-data | L'utilisateur pour cela sera utilisé pour engendrer le processus du serveur Nginx |
Définir dans vars/Debian_8.yml
| Nom | Valeur par défaut | Description |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | La commande à utiliser pour informer le système de gestion des services lorsqu'un manifeste des services a changé |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | Le modèle source à déployer pour le service Rocket.Chat Manifeste |
dest | /etc/systemd/system/rocketchat.service | La destination pour déployer le service Rocket.Chat se manifeste pour |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main | Le référentiel apt pour MongoDB |
Réglé dans vars/Ubuntu.yml
| Nom | Valeur par défaut | Description |
|---|---|---|
rocket_chat_dep_packages | - Git | Une liste de dépendances de roquette.chat à installer |
| - Graphicsmagick | ||
| - Nodejs | ||
| - NPM | ||
| - faire | ||
rocket_chat_mongodb_packages | - MongoDB-Server | Une liste de packages de serveurs MongoDB à installer |
| - Mongodb-shell | ||
rocket_chat_mongodb_repl_lines | replication: | La valeur de l'ensemble de répliques MongoDB |
replSetName: "001-rs" | ||
rocket_chat_nginx_process_user | www-data | L'utilisateur pour cela sera utilisé pour engendrer le processus du serveur Nginx |
Définir dans vars/Ubuntu_15.yml
| Nom | Valeur par défaut | Description |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | La commande à utiliser pour informer le système de gestion des services lorsqu'un manifeste des services a changé |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | Le modèle source à déployer pour le service Rocket.Chat Manifeste |
dest | /etc/systemd/system/rocketchat.service | La destination pour déployer le service Rocket.Chat se manifeste pour |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main | Le référentiel apt pour MongoDB |
Définir dans vars/Ubuntu_14.yml
| Nom | Valeur par défaut | Description |
|---|---|---|
rocket_chat_service_update_command | initctl reload-configuration ; service rocketchat restart | La commande à utiliser pour informer le système de gestion des services lorsqu'un manifeste des services a changé |
rocket_chat_service_template | ||
src | rocketchat_upstart.j2 | Le modèle source à déployer pour le service Rocket.Chat Manifeste |
dest | /etc/init/rocketchat.conf | La destination pour déployer le service Rocket.Chat se manifeste pour |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse | Le référentiel apt pour MongoDB |
rocket_chat_tarball_validate_remote_cert | FAUX | Une valeur booléenne qui détermine ou ne pas valider les certificats SSL pour la fusée. |
Ce rôle est disponible en téléchargement depuis Ansible Galaxy. Pour installer ce rôle et le suivre dans votre base de code anible, utilisez quelque chose de similaire à ce qui suit dans vos requirements.yml :
- src : RocketChat.Server
version : v1.9.0
path : roles/external/
Remarque: vous devez spécifier version comme v1.9.0 si vous utilisez toujours Anible 1.9.4
Avec la publication d'ANSIBL 2.0, ce rôle est officiellement pris en charge avec certaines améliorations de performances et des fonctionnalités supplémentaires (mises à niveau automatiques, par exemple). Pour utiliser la version ANSIBLE 2.0 de ce rôle, vous pouvez l'installer à l'aide de l'outil de ligne de commande ansible-galaxy à l'aide d'un requirements.yml (tous deux mentionnés ci-dessus) pour spécifier la version que vous souhaitez utiliser.
Voici un exemple de fichier requirements.yml à installer via ansible-galaxy va chercher le code ANSIBLE 2.0:
- src : RocketChat.Server
path : roles/external master a été réprimandé sur la v2.0 et est désormais le code le plus actuel du rôle. Si vous voulez que le dernier n'inclut aucune version, ansible-galaxy attirera la dernière balise, ou vous pouvez inclure version: master pour être toujours à jour. Un livre de jeu simple pour exécuter ce rôle sur tous les systèmes chat_servers :
- hosts : chat_servers
roles :
- RocketChat.Server Un livre de jeu pour déployer Rocket.Chat vers chat_servers mais exclut le déploiement de MongoDB et utilisez une instance externe. Permettez également des mises à niveau automatique de Rocket.Chat (ANSIBLE 2.0 requise pour rocket_chat_automatic_upgrades ! Voir l'installation de 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 Si le déploiement échoue avec un message similaire à ce qui suit, c'est parce que le rôle n'a pas été mis à jour pour refléter la somme de hachage SHA256 de la dernière fusée.Chat Release Tarball. 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."}
À l'heure actuelle, le maintien de cette variable est un processus manuel. En attendant, vous pouvez simplement définir vous-même la valeur de cette variable; via host_vars , group_vars , vars dans votre playbook, ou avec -e lors de l'exécution ansible-playbook , etc.
Pour exécuter un ensemble spécifique de jeux, avec le drapeau --tags , les balises disponibles sont:
varsbuildmongodbreponginxupgradeservice Ce rôle déploiera un service nommé rocketchat . Vous pouvez utiliser votre système de gestion de services natifs pour démarrer / arrêter / recharger / redémarrer le service.
Pour tester ce rôle, vous trouverez un livre de jeu Vagrantfile et provision.yml dans les tests/ répertoire. C'est, comme vous l'avez peut-être deviné, pour exécuter des déploiements de test via Vagrant.
Si vous souhaitez tester quelques modifications ou simplement voir comment le rôle fonctionne / provisionner un peu de jeu de fusée.Chat.Chat localement, vous pouvez cd en tests/ et exécuter vagrant up (à condition que vous ayez installé Vagrant & VirtualBox).
Si vous jetez un œil au Vagrantfile , vous verrez qu'il y a un déploiement pour chaque plate-forme actuellement prise en charge - commentez simplement tout que vous ne souhaitez pas déployer (n'oubliez pas sa configuration anible en bas, non plus!). Une fois le déploiement terminé, si vous souhaitez essayer Rocket.Chat Out, vous pouvez visiter http://localhost:4000 dans votre navigateur (le port 4000 varie ici, en fonction de la plate-forme que vous déplacez, consultez la valeur forwarded_port pour votre plateforme).
Mit
N'hésitez pas à: soulever un problème contribue