Implante Rocket.chat, a plataforma de bate -papo da Web de código aberto final, com Ansible!
master foi reencontrado na v2.0 e agora é o código mais atual da função (em vez de ser a versão compatível com 1.9.) Se você deseja o código mais recente, basta incluir nenhuma versão e ansible-galaxy puxará a tag mais recente ou você pode incluir version: master sempre a ser atual.v1.9 podem continuar a usar as tags v1.9 e v1.9.0 , e uma ramificação ansible_1.9 permanece, embora pouco ou algum backport seja feito lá. Implantação opcional de pilha completa: implante totalmente o Rocket.chat, incluindo o proxy SSL reverso do MongoDB e um Nginx. Ou, implante Rocket.Chat e integra -se aos seus métodos existentes de MongoDB e/ou Nginx.
Geração automática opcional de certificação SSL: gerar automaticamente os certificados SSL para conectividade HTTPS por meio de um proxy reverso do NGINX. Ou, implante seus próprios certificados SSL!
Atualizações automáticas opcionais [requer Ansible 2.0]: Se uma nova versão do Rocket.Chat for lançada, ou se você deseja seguir o desenvolvimento para fins de teste, true atualizar o rocket_chat_version para qualquer lançamento que você desejar para o Codetet rocket_chat_automatic_upgrades Servidor (por causa de uma alteração remota no rocket_chat_version que você está seguindo, 'mais recente' ou 'Desenvolvimento', por exemplo, ou porque você define um novo rocket_chat_version para buscar), essa função lidará com a atualização e a reforma do Rocket.
Se você quiser ver seu sistema de distribuição/sistema operacional, por favor, por favor, levante um problema!
Certifique -se de que você leu as perguntas frequentes e toda a documentação antes de levantar um problema.
Todas as variáveis têm padrões sãos definidos em defaults/main.yml
| Nome | Valor padrão | Descrição |
|---|---|---|
rocket_chat_automatic_upgrades | falso | Um valor booleano que determina se deve ou não atualizar o foguete.Chat após as alterações do código -fonte |
rocket_chat_upgrade_backup | verdadeiro | Um valor booleano que determina se deve ou não fazer backup da versão atual do foguete.Chat ao atualizar |
rocket_chat_upgrade_backup_path | "{{ rocket_chat_application_path }}" | O caminho para armazenar o backup de Rocket.chat quando rocket_chat_upgrade_backup é true |
rocket_chat_application_path | /var/lib/rocket.chat | O destino do sistema de arquivos para implantar Rocket.chat para |
rocket_chat_version | latest | A versão do Rocket.chat para implantar; consulte a página Rocket.Chat Liberações para obter opções disponíveis |
rocket_chat_tarball_remote | Consulte defaults/main.yml | O URL remoto para buscar o foguete rocket_chat_version |
rocket_chat_tarball_sha256sum | Consulte defaults/main.yml | A soma do hash sha256 do foguete.Chat Tarball sendo buscado |
rocket_chat_tarball_fetch_timeout | 100 | O tempo (em segundos) antes da tentativa de buscar o foguete. Tarball falha |
rocket_chat_tarball_validate_remote_cert | verdadeiro | Um valor booleano que determina ou não validar os certificados SSL para o Rocket.Chat Tarball Remote |
rocket_chat_service_user | rocketchat | O nome do usuário que executará o processo do servidor Rocket.Chat |
rocket_chat_service_group | rocketchat | O nome do grupo primário para o usuário rocket_chat_service_user |
rocket_chat_service_host | "{{ ansible_fqdn }}" | O fqdn do sistema de foguete.Chat |
rocket_chat_service_port | 3000 | O foguete de porta tcp.Chat ouve |
rocket_chat_service_extra_instances | [] | Lista de números de porta TCP para instâncias adicionais de serviço Rocketchat para lidar com mais usuários em uma máquina |
rocket_chat_node_version | 4.5.0 | A versão do NodeJS para instalar que n entende |
rocket_chat_node_prefix | /usr/local/n/versions/node/{{ rocket_chat_node_version }} | O caminho para o diretório binário node que N instala |
rocket_chat_npm_dist | /usr/bin/npm | O caminho para o binário npm original, antes de n instalar qualquer versões de nó |
rocket_chat_include_mongodb | verdadeiro | Um valor booleano que determina se deve ou não implantar o MongoDB |
rocket_chat_mongodb_keyserver | keyserver.ubuntu.com | O servidor de chave GPG a ser usado ao importar a tecla REPO MONGODB |
rocket_chat_mongodb_gpg_key | 7F0CEB10 | A impressão digital GPG para importar para o repo MongoDB |
rocket_chat_mongodb_user | Não usado por padrão | Nome de usuário a ser usado ao se conectar ao MongoDB. Se você definir isso, você também deve definir rocket_chat_mongodb_password , caso contrário, nenhum usuário/passagem é usado para conectar -se ao MongoDBB |
rocket_chat_mongodb_password | Não usado por padrão | Senha a ser usada ao se conectar ao MongoDB. Se você definir isso, você também deve definir rocket_chat_mongodb_user , caso contrário, nenhum usuário/passagem é usado para se conectar ao MongoDBB |
rocket_chat_mongodb_server | 127.0.0.1 | O ip/fqdn do host MongoDB |
rocket_chat_mongodb_port | 27017 | A porta TCP para entrar em contato com o host do MongoDB VIA |
rocket_chat_mongodb_database | Rocketchat | O banco de dados MongoDB a ser usado para foguet.chat |
rocket_chat_mongodb_use_tls | falso | Se deve ou não usar o TLS para se conectar ao DB do MongoDB |
rocket_chat_mongodb_packages | mongodb | O nome do (s) pacote MongoDB (s) para instalar (difere para diferentes distros - consulte vars/ ) |
rocket_chat_mongodb_config_template | mongod.conf.j2 | O modelo /etc/mongod.conf para implantar |
rocket_chat_mongodb_org_pkgs | falso | Verdadeiro (Debian/Ubuntu) | Use pacotes oficiais de edição comunitária MongoDB.org ou não |
rocket_chat_mongodb_org_version | 3.4 | String de versão de pacotes oficiais para instalar |
rocket_chat_mongodb_service_name | mongod | O nome da unidade de serviço Systemd e o arquivo de configuração do MongoDB em /etc |
rocket_chat_include_nginx | verdadeiro | Um valor booleano que determina se deve ou não implantar nginx |
rocket_chat_ssl_generate_certs | verdadeiro | Um valor booleano que determina se deve ou não gerar os certificados Nginx SSL |
rocket_chat_ssl_key_path | /etc/nginx/rocket_chat.key | O caminho de destino para a chave privada nginx ssl |
rocket_chat_ssl_cert_path | /etc/nginx/rocket_chat.crt | O caminho de destino para o certificado Nginx SSL |
rocket_chat_ssl_deploy_data | falso | Um valor booleano que determina se deve ou não implantar dados SSL personalizados (arquivos cert/chave) |
rocket_chat_ssl_key_file | ~ | Se não estiver usando a geração SSL Cert, este é o caminho para a chave privada NGINX SSL no nó de controle Ansible, para implantação |
rocket_chat_ssl_cert_file | ~ | Se não estiver usando a geração SSL Cert, este é o caminho para o Nginx SSL Cert no nó de controle Ansible, para implantação |
rocket_chat_nginx_enable_pfs | verdadeiro | Um valor booleano que determina se deve ou não ativar o PFS ao implantar o Nginx |
rocket_chat_nginx_generate_pfs_key | verdadeiro | Um valor booleano que determina se deve ou não gerar um arquivo de chave PFS |
rocket_chat_nginx_pfs_key_numbits | 2048 | Numbits a passar para o OpenSSL ao gerar um arquivo de chave PFS |
rocket_chat_nginx_pfs_key_path | /etc/nginx/rocket_chat.pem | O caminho de destino para o arquivo de chave nginx pfs |
rocket_chat_nginx_pfs_file | ~ | Se não estiver usando a geração de chaves do PFS, este é o caminho para a tecla Nginx PFS no nó de controle Ansible, para implantação |
rocket_chat_nginx_listen_ssl_port | 443 | A porta SSL na qual o NGNIX ouve |
rocket_chat_nginx_listen_port | 80 | A porta em que o NGNIX ouve |
Algumas variáveis diferem entre os sistemas/distribuições operacionais. Eles são definidos no vars/ diretório, normalmente em um arquivo com o nome da distribuição.
Situado em vars/RedHat.yml
| Nome | Valor padrão | Descrição |
|---|---|---|
rocket_chat_dep_packages | - git | Uma lista de dependências do Rocket.Chat para instalar |
| - GraphicsMagick | ||
| - Nodejs | ||
| - npm | ||
| - fazer | ||
rocket_chat_mongodb_packages | - MongoDB | Uma lista de pacotes de servidor MongoDB para instalar |
| - MongoDB-Server | ||
rocket_chat_mongodb_repl_lines | 'replSet=001-rs' | O valor para o conjunto de réplicas do MongoDB |
rocket_chat_mongodb_fork | true | Um valor booleano que define se para bifurcar ou não o processo do servidor MongoDB |
rocket_chat_mongodb_pidfile_path | /var/run/mongodb/mongodb.pid | O caminho para o pidfile para o processo do servidor MongoDB |
rocket_chat_mongodb_logpath | /var/log/mongodb/mongod.log | O caminho do arquivo de log para o servidor MongoDB |
rocket_chat_mongodb_unixsocketprefix | /var/run/mongodb | O caminho para o prefixo de soquete Unix MongoDB |
rocket_chat_mongodb_dbpath | /var/lib/mongodb | O caminho para o MongoDB armazenar seus bancos de dados |
rocket_chat_nginx_process_user | nginx | O usuário para isso será usado para gerar o processo do servidor nginx |
Defina em vars/RedHat_7.yml
| Nome | Valor padrão | Descrição |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | O comando a ser usado para informar o sistema de gerenciamento de serviços quando um manifesto de serviço mudou |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | O modelo de origem a ser implantado para o manifesto do serviço Rocket.Chat |
dest | /usr/lib/systemd/system/rocketchat.service | O destino para implantar o serviço de foguete. |
rocket_chat_tarball_validate_remote_cert | falso | Um valor booleano que determina ou não validar os certificados SSL para o Rocket.Chat Tarball Remote |
Situado em vars/Debian.yml
| Nome | Valor padrão | Descrição |
|---|---|---|
rocket_chat_dep_packages | - git | Uma lista de dependências do Rocket.Chat para instalar |
| - GraphicsMagick | ||
| - Nodejs | ||
| - npm | ||
| - fazer | ||
rocket_chat_mongodb_packages | - MongoDB-Server | Uma lista de pacotes de servidor MongoDB para instalar |
| - MongoDB-shell | ||
rocket_chat_mongodb_repl_lines | replication: | O valor para o conjunto de réplicas do MongoDB |
replSetName: "001-rs" | ||
rocket_chat_nginx_process_user | www-data | O usuário para isso será usado para gerar o processo do servidor nginx |
Definido em vars/Debian_8.yml
| Nome | Valor padrão | Descrição |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | O comando a ser usado para informar o sistema de gerenciamento de serviços quando um manifesto de serviço mudou |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | O modelo de origem a ser implantado para o manifesto do serviço Rocket.Chat |
dest | /etc/systemd/system/rocketchat.service | O destino para implantar o serviço de foguete. |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main | O repositório APT para MongoDB |
Situado em vars/Ubuntu.yml
| Nome | Valor padrão | Descrição |
|---|---|---|
rocket_chat_dep_packages | - git | Uma lista de dependências do Rocket.Chat para instalar |
| - GraphicsMagick | ||
| - Nodejs | ||
| - npm | ||
| - fazer | ||
rocket_chat_mongodb_packages | - MongoDB-Server | Uma lista de pacotes de servidor MongoDB para instalar |
| - MongoDB-shell | ||
rocket_chat_mongodb_repl_lines | replication: | O valor para o conjunto de réplicas do MongoDB |
replSetName: "001-rs" | ||
rocket_chat_nginx_process_user | www-data | O usuário para isso será usado para gerar o processo do servidor nginx |
Defina em vars/Ubuntu_15.yml
| Nome | Valor padrão | Descrição |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | O comando a ser usado para informar o sistema de gerenciamento de serviços quando um manifesto de serviço mudou |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | O modelo de origem a ser implantado para o manifesto do serviço Rocket.Chat |
dest | /etc/systemd/system/rocketchat.service | O destino para implantar o serviço de foguete. |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main | O repositório APT para MongoDB |
Defina em vars/Ubuntu_14.yml
| Nome | Valor padrão | Descrição |
|---|---|---|
rocket_chat_service_update_command | initctl reload-configuration ; service rocketchat restart | O comando a ser usado para informar o sistema de gerenciamento de serviços quando um manifesto de serviço mudou |
rocket_chat_service_template | ||
src | rocketchat_upstart.j2 | O modelo de origem a ser implantado para o manifesto do serviço Rocket.Chat |
dest | /etc/init/rocketchat.conf | O destino para implantar o serviço de foguete. |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse | O repositório APT para MongoDB |
rocket_chat_tarball_validate_remote_cert | falso | Um valor booleano que determina ou não validar os certificados SSL para o Rocket.Chat Tarball Remote |
Esta função está disponível para download da Ansible Galaxy. Para instalar essa função e rastreá-la na sua base de código Ansible, use algo semelhante ao seguinte em seus requirements.yml :
- src : RocketChat.Server
version : v1.9.0
path : roles/external/
Nota: Você deve especificar version como v1.9.0 se você ainda estiver usando o Ansible 1.9.4
Com o lançamento do Ansible 2.0, esse papel é oficialmente suportado com alguns aprimoramentos de desempenho e recursos extras (atualizações automáticas, por exemplo). Para usar a versão Ansible 2.0 desta função, você pode instalá-la usando a ferramenta ansible-galaxy Command Line usando um requirements.yml (ambos mencionados acima) para especificar a versão que você deseja usar.
Aqui está um exemplo de arquivo requirements.yml a ser instalado via ansible-galaxy buscará o código 2.0 Ansible:
- src : RocketChat.Server
path : roles/external master foi rebocado na v2.0 e agora é o código mais atual da função. Se você deseja que as últimas mais incluam nenhuma versão e ansible-galaxy puxará a tag mais recente ou você pode incluir version: master para sempre estar atual. Um manual simples para executar esse papel em todos os sistemas chat_servers :
- hosts : chat_servers
roles :
- RocketChat.Server Um manual para implantar Rocket.chat para chat_servers , mas excluir a implantação do MongoDB e usar uma instância externa. Permite também atualizações automáticas do Rocket.Chat (Ansible 2.0 necessário para rocket_chat_automatic_upgrades ! Veja a instalação do 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 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."}
No momento, a manutenção dessa variável é um processo manual. Enquanto isso, você pode simplesmente definir o valor dessa variável; Via host_vars , group_vars , vars em seu manual, ou com -e ao executar ansible-playbook , etc.
Para executar um conjunto específico de peças, com o sinalizador --tags , as tags disponíveis são:
varsbuildmongodbreponginxupgradeservice Esse papel implantará um serviço chamado rocketchat . Você pode usar seu sistema de gerenciamento de serviços nativo para iniciar/parar/recarregar/reiniciar o serviço.
Para testar essa função, você encontrará um manual Vagrantfile e provision.yml no tests/ Diretório. Isso é, como você deve ter adivinhado, para executar implantações de teste via Vagrant.
Se tests/ quiser testar algumas alterações ou simplesmente ver como a função funciona/ provisão um pouco de foguete vagrant up reprodução cd
Se você dar uma olhada no Vagrantfile , verá uma implantação para cada plataforma atualmente suportada - basta comentar qualquer um que você não deseje implantar (não esqueça a configuração Ansible na parte inferior também!). Depois que a implantação é concluída, se você quiser experimentar o Rocket.Chat, poderá visitar http://localhost:4000 no navegador (a porta 4000 varia aqui, com base em qual plataforma você está implantando, consulte o valor de forwarded_port para sua plataforma).
Mit
Sinta -se à vontade para: levantar um problema contribuindo