Deploy rocket.chat, platform obrolan web terbuka utama, dengan ansible!
master telah dibebaskan kembali pada v2.0 dan sekarang menjadi kode peran terkini (bukannya versi 1,9 yang kompatibel.) Jika Anda menginginkan kode terbaru, jangan sertakan versi apa pun sama sekali dan ansible-galaxy akan menarik tag terbaru, atau Anda dapat memasukkan version: master untuk selalu terkini dengan pengembangan.v1.9 Pengguna dapat terus menggunakan tag v1.9 dan v1.9.0 , dan cabang ansible_1.9 tetap, meskipun sedikit jika ada backports akan dibuat di sana. Penyebaran Tumpukan Penuh Opsional: sepenuhnya menggunakan roket.chat, termasuk MongoDB & an Nginx Reverse SSL Proxy. Atau, menggunakan rocket.chat dan berintegrasi dengan metode MongoDB dan/atau Nginx yang ada.
Opsional SSL Cert Generasi Opsional: Secara otomatis menghasilkan sertifikat SSL untuk konektivitas HTTPS melalui proxy terbalik NGINX. Atau, sebarkan sertifikat SSL Anda sendiri!
Peningkatan Otomatis Opsional [Membutuhkan Ansible 2.0]: Jika versi baru rocket.chat dirilis, atau jika Anda ingin mengikuti pengembangan untuk tujuan pengujian, cukup perbarui rocket_chat_version true rilis mana pun yang ingin Anda gunakan (lihat rocket_chat_automatic_upgrades . Server (baik karena perubahan jarak jauh ke rocket_chat_version yang Anda ikuti, 'terbaru' atau 'kembangkan' misalnya, atau karena Anda menetapkan rocket_chat_version baru untuk mengambil), peran ini akan menangani pemutakhiran dan pemasangan roket dari rocket.
Jika Anda ingin melihat sistem distribusi/operasi Anda didukung, silakan angkat masalah!
Pastikan Anda telah membaca FAQ dan semua dokumentasi sebelum mengangkat masalah.
Semua variabel memiliki default waras yang disetel di defaults/main.yml
| Nama | Nilai default | Keterangan |
|---|---|---|
rocket_chat_automatic_upgrades | PALSU | Nilai boolean yang menentukan apakah akan meningkatkan roket. |
rocket_chat_upgrade_backup | BENAR | Nilai Boolean yang menentukan apakah akan mencadangkan atau tidak pada versi rocket.chat saat ini saat meningkatkan |
rocket_chat_upgrade_backup_path | "{{ rocket_chat_application_path }}" | Jalur untuk menyimpan back up rocket.chat saat rocket_chat_upgrade_backup true |
rocket_chat_application_path | /var/lib/rocket.chat | Tujuan pada sistem file untuk menggunakan rocket.chat ke |
rocket_chat_version | latest | Versi rocket.chat untuk digunakan; Lihat halaman Rilis Rocket.Chat untuk opsi yang tersedia |
rocket_chat_tarball_remote | Lihat defaults/main.yml | URL jarak jauh untuk mengambil roket.chat tarball dari (menggunakan rocket_chat_version ) |
rocket_chat_tarball_sha256sum | Lihat defaults/main.yml | Jumlah hash sha256 dari roket. |
rocket_chat_tarball_fetch_timeout | 100 | Waktu (dalam hitungan detik) sebelum upaya untuk mengambil roket. Tarball gagal |
rocket_chat_tarball_validate_remote_cert | BENAR | Nilai boolean yang menentukan apakah akan memvalidasi sertifikat SSL untuk roket. |
rocket_chat_service_user | rocketchat | Nama pengguna yang akan menjalankan proses server roket.chat |
rocket_chat_service_group | rocketchat | Nama grup utama untuk pengguna rocket_chat_service_user |
rocket_chat_service_host | "{{ ansible_fqdn }}" | Fqdn dari roket.chat System |
rocket_chat_service_port | 3000 | TCP Port Rocket.chat mendengarkan |
rocket_chat_service_extra_instances | [] | Daftar nomor port TCP untuk instance layanan rocketchat tambahan untuk menangani lebih banyak pengguna pada satu mesin |
rocket_chat_node_version | 4.5.0 | Versi nodeJs untuk menginstal itu n mengerti |
rocket_chat_node_prefix | /usr/local/n/versions/node/{{ rocket_chat_node_version }} | Jalur ke direktori biner node yang N terpasang |
rocket_chat_npm_dist | /usr/bin/npm | Jalur ke biner npm asli, sebelum n menginstal versi node apa pun |
rocket_chat_include_mongodb | BENAR | Nilai boolean yang menentukan apakah akan menggunakan mongodb atau tidak |
rocket_chat_mongodb_keyserver | keyserver.ubuntu.com | Server kunci gpg untuk digunakan saat mengimpor kunci repo mongodb |
rocket_chat_mongodb_gpg_key | 7F0CEB10 | Sidik jari kunci gpg untuk mengimpor untuk repo mongodb |
rocket_chat_mongodb_user | tidak digunakan secara default | Nama pengguna yang akan digunakan saat menghubungkan ke MongoDB. Jika Anda mengatur ini, Anda juga harus mendefinisikan rocket_chat_mongodb_password , jika tidak, tidak ada pengguna/pass yang digunakan untuk terhubung ke mongoDB |
rocket_chat_mongodb_password | tidak digunakan secara default | Kata sandi yang akan digunakan saat menghubungkan ke MongoDB. Jika Anda mengatur ini, Anda juga harus mendefinisikan rocket_chat_mongodb_user , jika tidak, tidak ada pengguna/pass yang digunakan untuk terhubung ke mongodb |
rocket_chat_mongodb_server | 127.0.0.1 | IP/fqdn dari host MongoDB |
rocket_chat_mongodb_port | 27017 | Port TCP untuk menghubungi host host MongoDB melalui |
rocket_chat_mongodb_database | rocketchat | Database MongoDB yang akan digunakan untuk Rocket.chat |
rocket_chat_mongodb_use_tls | PALSU | Apakah akan menggunakan TLS untuk terhubung ke db mongodb |
rocket_chat_mongodb_packages | mongodb | Nama paket MongoDB untuk diinstal (berbeda untuk distro yang berbeda - lihat vars/ ) |
rocket_chat_mongodb_config_template | mongod.conf.j2 | Template /etc/mongod.conf untuk digunakan |
rocket_chat_mongodb_org_pkgs | false | true (debian/ubuntu) | Gunakan paket edisi komunitas mongodb.org resmi atau tidak |
rocket_chat_mongodb_org_version | 3.4 | Versi string paket resmi untuk diinstal |
rocket_chat_mongodb_service_name | mongod | Nama unit layanan SystemD dan file konfigurasi mongoDB di /dll |
rocket_chat_include_nginx | BENAR | Nilai boolean yang menentukan apakah akan menggunakan nginx atau tidak |
rocket_chat_ssl_generate_certs | BENAR | Nilai boolean yang menentukan apakah akan menghasilkan sertifikat SSL nginx atau tidak |
rocket_chat_ssl_key_path | /etc/nginx/rocket_chat.key | Jalur tujuan untuk kunci pribadi Nginx SSL |
rocket_chat_ssl_cert_path | /etc/nginx/rocket_chat.crt | Jalur tujuan untuk sertifikat Nginx SSL |
rocket_chat_ssl_deploy_data | PALSU | Nilai boolean yang menentukan apakah akan menggunakan data SSL khusus atau tidak (file sertifikat/kunci) |
rocket_chat_ssl_key_file | ~ | Jika tidak menggunakan SSL Cert Generation, ini adalah jalur ke kunci pribadi Nginx SSL pada node kontrol yang dapat dijalankan, untuk penyebaran |
rocket_chat_ssl_cert_file | ~ | Jika tidak menggunakan SSL Cert Generation, ini adalah jalur ke sertifikat Nginx SSL pada Node Kontrol Ansible, untuk penyebaran |
rocket_chat_nginx_enable_pfs | BENAR | Nilai boolean yang menentukan apakah akan mengaktifkan PFS saat menggunakan Nginx |
rocket_chat_nginx_generate_pfs_key | BENAR | Nilai boolean yang menentukan apakah akan menghasilkan file kunci PFS atau tidak |
rocket_chat_nginx_pfs_key_numbits | 2048 | Mati rasa untuk dilewati ke openssl saat menghasilkan file kunci PFS |
rocket_chat_nginx_pfs_key_path | /etc/nginx/rocket_chat.pem | Jalur tujuan untuk file kunci Nginx PFS |
rocket_chat_nginx_pfs_file | ~ | Jika tidak menggunakan pembuatan kunci PFS, ini adalah jalur ke tombol Nginx PFS pada node kontrol yang dapat diatur, untuk penyebaran |
rocket_chat_nginx_listen_ssl_port | 443 | Port SSL tempat Ngnix mendengarkan |
rocket_chat_nginx_listen_port | 80 | Port tempat Ngnix mendengarkan |
Beberapa variabel berbeda antara sistem/distribusi operasi. Ini diatur dalam vars/ Direktori, biasanya dalam file yang dinamai setelah distribusi.
Diatur dalam vars/RedHat.yml
| Nama | Nilai default | Keterangan |
|---|---|---|
rocket_chat_dep_packages | - git | Daftar dependensi roket.chat untuk dipasang |
| - GraphicsMagick | ||
| - NodeJS | ||
| - NPM | ||
| - membuat | ||
rocket_chat_mongodb_packages | - MongoDB | Daftar paket server MongoDB untuk diinstal |
| - MongoDB-Server | ||
rocket_chat_mongodb_repl_lines | 'replSet=001-rs' | Nilai untuk set replika MongoDB |
rocket_chat_mongodb_fork | true | Nilai Boolean yang menetapkan apakah akan membayar proses server MongoDB atau tidak |
rocket_chat_mongodb_pidfile_path | /var/run/mongodb/mongodb.pid | Jalur ke pidfile untuk proses server mongoDB |
rocket_chat_mongodb_logpath | /var/log/mongodb/mongod.log | Jalur file log untuk server mongoDb |
rocket_chat_mongodb_unixsocketprefix | /var/run/mongodb | Jalur untuk awalan soket unix mongodb |
rocket_chat_mongodb_dbpath | /var/lib/mongodb | Jalan bagi MongoDB untuk menyimpan basis data |
rocket_chat_nginx_process_user | nginx | Pengguna untuk itu akan digunakan untuk menelurkan proses server Nginx |
Diatur dalam vars/RedHat_7.yml
| Nama | Nilai default | Keterangan |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | Perintah yang akan digunakan untuk menginformasikan sistem manajemen layanan ketika manifes layanan telah berubah |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | Template Sumber untuk Disarankan untuk Rocket.Chat Service Manifest |
dest | /usr/lib/systemd/system/rocketchat.service | Tujuan untuk menggunakan roket.chat Service manifest ke |
rocket_chat_tarball_validate_remote_cert | PALSU | Nilai boolean yang menentukan apakah akan memvalidasi sertifikat SSL untuk roket. |
Diatur dalam vars/Debian.yml
| Nama | Nilai default | Keterangan |
|---|---|---|
rocket_chat_dep_packages | - git | Daftar dependensi roket.chat untuk dipasang |
| - GraphicsMagick | ||
| - NodeJS | ||
| - NPM | ||
| - membuat | ||
rocket_chat_mongodb_packages | - MongoDB-Server | Daftar paket server MongoDB untuk diinstal |
| - Mongodb-shell | ||
rocket_chat_mongodb_repl_lines | replication: | Nilai untuk set replika MongoDB |
replSetName: "001-rs" | ||
rocket_chat_nginx_process_user | www-data | Pengguna untuk itu akan digunakan untuk menelurkan proses server Nginx |
Diatur dalam vars/Debian_8.yml
| Nama | Nilai default | Keterangan |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | Perintah yang akan digunakan untuk menginformasikan sistem manajemen layanan ketika manifes layanan telah berubah |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | Template Sumber untuk Disarankan untuk Rocket.Chat Service Manifest |
dest | /etc/systemd/system/rocketchat.service | Tujuan untuk menggunakan roket.chat Service manifest ke |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main | Repositori yang tepat untuk MongoDB |
Diatur dalam vars/Ubuntu.yml
| Nama | Nilai default | Keterangan |
|---|---|---|
rocket_chat_dep_packages | - git | Daftar dependensi roket.chat untuk dipasang |
| - GraphicsMagick | ||
| - NodeJS | ||
| - NPM | ||
| - membuat | ||
rocket_chat_mongodb_packages | - MongoDB-Server | Daftar paket server MongoDB untuk diinstal |
| - Mongodb-shell | ||
rocket_chat_mongodb_repl_lines | replication: | Nilai untuk set replika MongoDB |
replSetName: "001-rs" | ||
rocket_chat_nginx_process_user | www-data | Pengguna untuk itu akan digunakan untuk menelurkan proses server Nginx |
Diatur dalam vars/Ubuntu_15.yml
| Nama | Nilai default | Keterangan |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | Perintah yang akan digunakan untuk menginformasikan sistem manajemen layanan ketika manifes layanan telah berubah |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | Template Sumber untuk Disarankan untuk Rocket.Chat Service Manifest |
dest | /etc/systemd/system/rocketchat.service | Tujuan untuk menggunakan roket.chat Service manifest ke |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main | Repositori yang tepat untuk MongoDB |
Diatur dalam vars/Ubuntu_14.yml
| Nama | Nilai default | Keterangan |
|---|---|---|
rocket_chat_service_update_command | initctl reload-configuration ; service rocketchat restart | Perintah yang akan digunakan untuk menginformasikan sistem manajemen layanan ketika manifes layanan telah berubah |
rocket_chat_service_template | ||
src | rocketchat_upstart.j2 | Template Sumber untuk Disarankan untuk Rocket.Chat Service Manifest |
dest | /etc/init/rocketchat.conf | Tujuan untuk menggunakan roket.chat Service manifest ke |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse | Repositori yang tepat untuk MongoDB |
rocket_chat_tarball_validate_remote_cert | PALSU | Nilai boolean yang menentukan apakah akan memvalidasi sertifikat SSL untuk roket. |
Peran ini tersedia untuk diunduh dari Ansible Galaxy. Untuk menginstal peran ini, dan melacaknya di basis kode ansible Anda, gunakan sesuatu yang mirip dengan yang berikut dalam requirements.yml Anda.yml:
- src : RocketChat.Server
version : v1.9.0
path : roles/external/
Catatan: Anda harus menentukan version sebagai v1.9.0 jika Anda masih menggunakan ansible 1.9.4
Dengan rilis Ansible 2.0, peran ini secara resmi didukung dengan beberapa peningkatan kinerja dan fitur tambahan (peningkatan otomatis, misalnya). Untuk menggunakan versi Ansible 2.0 dari peran ini, Anda dapat menginstalnya menggunakan alat baris perintah ansible-galaxy menggunakan requirements.yml (keduanya disebutkan di atas) untuk menentukan versi yang ingin Anda gunakan.
Berikut adalah contoh requirements.yml File untuk diinstal melalui ansible-galaxy akan mengambil kode ansible 2.0:
- src : RocketChat.Server
path : roles/external master telah dibuka kembali pada v2.0 dan sekarang menjadi kode peran terbaru. Jika Anda ingin yang terbaru tidak termasuk versi apa pun dan ansible-galaxy akan menarik tag terbaru, atau Anda dapat menyertakan version: master untuk selalu terkini. Buku pedoman sederhana untuk menjalankan peran ini di semua sistem chat_servers :
- hosts : chat_servers
roles :
- RocketChat.Server Buku pedoman untuk menggunakan rocket.chat ke chat_servers tetapi mengecualikan penyebaran MongoDB dan menggunakan instance eksternal. Juga mengizinkan peningkatan otomatis rocket.chat (Ansible 2.0 diperlukan untuk rocket_chat_automatic_upgrades ! Lihat pemasangan dari 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."}
Saat ini, pemeliharaan variabel ini adalah proses manual. Sementara itu Anda cukup mengatur nilai variabel ini sendiri; Via host_vars , group_vars , vars di buku pedoman Anda, atau dengan -e saat menjalankan ansible-playbook , dll.
Untuk menjalankan satu set drama tertentu, dengan bendera --tags , tag yang tersedia adalah:
varsbuildmongodbreponginxupgradeservice Peran ini akan menggunakan layanan bernama rocketchat . Anda dapat menggunakan sistem manajemen layanan asli Anda untuk memulai/menghentikan/memuat ulang/restart layanan.
Untuk menguji peran ini, Anda akan menemukan Vagrantfile dan provision.yml Playbook di tests/ Direktori. Ini, seperti yang mungkin Anda duga, untuk menjalankan penyebaran tes melalui Vagrant.
Jika tests/ vagrant up cd beberapa perubahan, atau cukup melihat bagaimana perannya bekerja/ penyediaan sedikit roket.
Jika Anda melihat Vagrantfile , Anda akan melihat ada penyebaran untuk setiap platform yang saat ini didukung - cukup komentar yang tidak ingin Anda gunakan (jangan lupa konfigurasi ansible mereka di bagian bawah, baik!). Setelah penyebaran selesai, jika Anda ingin mencoba Rocket.chat Out, Anda dapat mengunjungi http://localhost:4000 di browser Anda (port 4000 bervariasi di sini, berdasarkan platform yang Anda gunakan, lihat nilai forwarded_port untuk platform Anda).
Mit
Jangan ragu untuk: Naikkan masalah berkontribusi