نشر Rocket.Chat ، منصة دردشة الويب مفتوحة المصدر النهائي ، مع Ansible!
master على v2.0 وهو الآن أكبر رمز للدور (بدلاً من كونه الإصدار 1.9 متوافقًا.) إذا كنت تريد أحدث رمز ، فلا تضمن أي إصدار على الإطلاق ، وسوف يسحب ansible-galaxy أحدث علامة ، أو يمكنك تضمين version: master لتكون دائمًا حاليًا مع التطوير.v1.9 الاستمرار في استخدام العلامات v1.9 و v1.9.0 ، ويبقى فرع ansible_1.9 ، على الرغم من أنه لن يتم عمل أي شيء آخر إذا لم يتم إجراء أي مواد عكسية. نشر مكدس كامل الاختياري: نشر الصاروخ بالكامل ، بما في ذلك MongoDB & Nginx عكسي SSL وكيل SSL. أو ، نشر Rocket.Chat والاندماج مع طرق MongoDB و/أو NGINX الحالية/أساليب النشر.
توليد CERT التلقائي التلقائي: قم بإنشاء CERTS SSL تلقائيًا لاتصال HTTPS عبر الوكيل العكسي NGINX. أو ، نشر شهادات SSL الخاصة بك!
ترقيات أوتوماتيكية اختيارية [تتطلب Ansible 2.0]: إذا تم إصدار إصدار جديد من Rocket.Chat ، أو إذا كنت ترغب في اتباع التطوير لأغراض الاختبار ، فما true سوى تحديث rocket_chat_version إلى أي إصدار ترغب في نشره (انظر إلى rocket_chat_automatic_upgrades . (بسبب التغيير عن بُعد إلى rocket_chat_version ، تتبعه "آخر" أو "تطوير" ، أو نظرًا لأنك تقوم بتعيين Rocket_Chat_Version rocket_chat_version
إذا كنت ترغب في رؤية نظام التوزيع/التشغيل المدعوم ، فيرجى إثارة مشكلة!
يرجى التأكد من أنك قرأت الأسئلة الشائعة وجميع الوثائق قبل إثارة مشكلة.
جميع المتغيرات لها افتراضات عاقلة في defaults/main.yml
| اسم | القيمة الافتراضية | وصف |
|---|---|---|
rocket_chat_automatic_upgrades | خطأ شنيع | قيمة منطقية تحدد ما إذا كان سيتم ترقية الصاروخ. |
rocket_chat_upgrade_backup | حقيقي | قيمة منطقية تحدد ما إذا كان سيتم نسخ نسخة Rocket.Chat الحالية عند الترقية أم لا |
rocket_chat_upgrade_backup_path | "{{ rocket_chat_application_path }}" | true لتخزين النسخ الاحتياطية من rocket_chat_upgrade_backup |
rocket_chat_application_path | /var/lib/rocket.chat | الوجهة على نظام الملفات لنشر Rocket.Chat |
rocket_chat_version | latest | نسخة من Rocket.Chat للنشر ؛ شاهد صفحة Rocket.Chat لإصدارات الخيارات المتاحة |
rocket_chat_tarball_remote | انظر defaults/main.yml | rocket_chat_version URL البعيد لجلب الصاروخ. |
rocket_chat_tarball_sha256sum | انظر defaults/main.yml | تجميع SHA256 من الصاروخ. |
rocket_chat_tarball_fetch_timeout | 100 | الوقت (بالثواني) قبل محاولة جلب الصاروخ. |
rocket_chat_tarball_validate_remote_cert | حقيقي | قيمة منطقية تحدد أو لا تتحقق من صحة CERTS SSL لـ Rocket.Chat Tarball Remote |
rocket_chat_service_user | rocketchat | اسم المستخدم الذي سيقوم بتشغيل Rocket.Chat Server |
rocket_chat_service_group | rocketchat | اسم المجموعة الأساسية لمستخدم rocket_chat_service_user |
rocket_chat_service_host | "{{ ansible_fqdn }}" | نظام FQDN من Rocket.Chat |
rocket_chat_service_port | 3000 | يستمع Rocket.Chat من منفذ TCP |
rocket_chat_service_extra_instances | [] | قائمة أرقام منافذ TCP لحالات خدمة Rocketchat إضافية للتعامل مع المزيد من المستخدمين على جهاز واحد |
rocket_chat_node_version | 4.5.0 | إصدار Nodejs لتثبيت n يفهم |
rocket_chat_node_prefix | /usr/local/n/versions/node/{{ rocket_chat_node_version }} | المسار إلى الدليل الثنائي node الذي يثبت n |
rocket_chat_npm_dist | /usr/bin/npm | المسار إلى ثنائي npm الأصلي ، قبل أن يقوم N بتثبيت أي إصدارات عقدة |
rocket_chat_include_mongodb | حقيقي | قيمة منطقية تحدد ما إذا كان سيتم نشر MongoDB أم لا |
rocket_chat_mongodb_keyserver | Keyserver.ubuntu.com | خادم مفتاح GPG لاستخدامه عند استيراد مفتاح MongoDB Repo |
rocket_chat_mongodb_gpg_key | 7F0CEB10 | بصمة مفتاح GPG للاستيراد ل repo mongodb |
rocket_chat_mongodb_user | لا تستخدم بشكل افتراضي | اسم المستخدم لاستخدامه عند الاتصال بـ MongoDB. إذا قمت بتعيين هذا ، فيجب عليك أيضًا تحديد rocket_chat_mongodb_password ، وإلا لا يتم استخدام أي مستخدم/تمريرة للاتصال بـ MongoDB |
rocket_chat_mongodb_password | لا تستخدم بشكل افتراضي | كلمة المرور لاستخدامها عند الاتصال بـ MongoDB. إذا قمت بتعيين هذا ، فيجب عليك أيضًا تحديد rocket_chat_mongodb_user ، وإلا لا يتم استخدام أي مستخدم/تمريرة للاتصال بـ MongoDB |
rocket_chat_mongodb_server | 127.0.0.1 | IP/FQDN لمضيف MongoDB |
rocket_chat_mongodb_port | 27017 | منفذ TCP للاتصال بمضيف MongoDB عبر |
rocket_chat_mongodb_database | روكتشات | قاعدة بيانات MongoDB لاستخدامها في Rocket.Chat |
rocket_chat_mongodb_use_tls | خطأ شنيع | ما إذا كان لاستخدام TLS أم لا للاتصال بـ MongoDB DB |
rocket_chat_mongodb_packages | mongodb | اسم حزمة (حزمة) MongoDB للتثبيت (يختلف عن توزيعات مختلفة - انظر vars/ ) |
rocket_chat_mongodb_config_template | mongod.conf.j2 | قالب /etc/mongod.conf للنشر |
rocket_chat_mongodb_org_pkgs | خطأ | صحيح (دبيان/أوبونتو) | استخدم حزم طبعة المجتمع mongodb.org الرسمية أم لا |
rocket_chat_mongodb_org_version | 3.4 | سلسلة إصدار من الحزم الرسمية للتثبيت |
rocket_chat_mongodb_service_name | mongod | اسم وحدة خدمة SystemD وملف تكوين mongodb في /etc |
rocket_chat_include_nginx | حقيقي | قيمة منطقية تحدد ما إذا كان سيتم نشر Nginx أم لا |
rocket_chat_ssl_generate_certs | حقيقي | القيمة المنطقية التي تحدد ما إذا كان سيتم إنشاء Nginx SSL Certs أم لا |
rocket_chat_ssl_key_path | /etc/nginx/rocket_chat.key | مسار الوجهة لمفتاح Nginx SSL الخاص |
rocket_chat_ssl_cert_path | /etc/nginx/rocket_chat.crt | مسار الوجهة لشهادة NGINX SSL |
rocket_chat_ssl_deploy_data | خطأ شنيع | قيمة منطقية تحدد ما إذا كنت ستنشر بيانات SSL مخصصة (ملفات CERT/KEY) |
rocket_chat_ssl_key_file | ~ | إذا لم تستخدم جيل سيرت SSL ، فهذا هو الطريق إلى مفتاح Nginx SSL الخاص على عقدة التحكم ANSIBLE ، للنشر |
rocket_chat_ssl_cert_file | ~ | إذا لم تستخدم جيل CERT SSL ، فهذا هو الطريق إلى NGINX SSL CERT على عقدة التحكم ANSIBLE ، للنشر |
rocket_chat_nginx_enable_pfs | حقيقي | قيمة منطقية تحدد ما إذا كان سيتم تمكين PFS عند نشر NGINX أم لا |
rocket_chat_nginx_generate_pfs_key | حقيقي | قيمة منطقية تحدد ما إذا كان يجب إنشاء ملف مفتاح PFS أم لا |
rocket_chat_nginx_pfs_key_numbits | 2048 | NEDBITS للمرور إلى OPENSSL عند إنشاء ملف مفتاح PFS |
rocket_chat_nginx_pfs_key_path | /etc/nginx/rocket_chat.pem | مسار الوجهة لملف مفتاح Nginx PFS |
rocket_chat_nginx_pfs_file | ~ | إذا لم تستخدم توليد مفاتيح PFS ، فهذا هو الطريق إلى مفتاح Nginx PFS على عقدة التحكم ANSIBLE ، للنشر |
rocket_chat_nginx_listen_ssl_port | 443 | منفذ SSL الذي يستمع إليه NGNIX |
rocket_chat_nginx_listen_port | 80 | المنفذ الذي يستمع إليه NGNIX |
تختلف بعض المتغيرات بين أنظمة التشغيل/التوزيعات. يتم تعيين هذه في vars/ DIRECTORY ، عادة في ملف يسمى بعد التوزيع.
تعيين في vars/RedHat.yml
| اسم | القيمة الافتراضية | وصف |
|---|---|---|
rocket_chat_dep_packages | - جيت | قائمة من Rocket.Chat التبعيات للتثبيت |
| - GraphicsMagick | ||
| - Nodejs | ||
| - NPM | ||
| - يصنع | ||
rocket_chat_mongodb_packages | - Mongodb | قائمة بحزم خادم MongoDB للتثبيت |
| - Mongodb-server | ||
rocket_chat_mongodb_repl_lines | 'replSet=001-rs' | قيمة مجموعة النسخة المتماثلة MongoDB |
rocket_chat_mongodb_fork | true | قيمة منطقية تحدد ما إذا كان يجب أن تتخلى عن عملية خادم MongoDB أم لا |
rocket_chat_mongodb_pidfile_path | /var/run/mongodb/mongodb.pid | المسار إلى pidfile لعملية خادم MongoDB |
rocket_chat_mongodb_logpath | /var/log/mongodb/mongod.log | مسار ملف السجل لخادم MongoDB |
rocket_chat_mongodb_unixsocketprefix | /var/run/mongodb | مسار بادئة مقبس MongoDB UNIX |
rocket_chat_mongodb_dbpath | /var/lib/mongodb | مسار MongoDB لتخزين قواعد البيانات الخاصة به |
rocket_chat_nginx_process_user | nginx | سيتم استخدام المستخدم لذلك لتفرخ عملية خادم Nginx |
تعيين في vars/RedHat_7.yml
| اسم | القيمة الافتراضية | وصف |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | الأمر الذي يجب استخدامه لإبلاغ نظام إدارة الخدمة عندما يتغير بيان الخدمة |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | قالب المصدر للنشر في بيان خدمة الصاروخ |
dest | /usr/lib/systemd/system/rocketchat.service | الوجهة لنشر الصاروخ. |
rocket_chat_tarball_validate_remote_cert | خطأ شنيع | قيمة منطقية تحدد أو لا تتحقق من صحة CERTS SSL لـ Rocket.Chat Tarball Remote |
تعيين في vars/Debian.yml
| اسم | القيمة الافتراضية | وصف |
|---|---|---|
rocket_chat_dep_packages | - جيت | قائمة من Rocket.Chat التبعيات للتثبيت |
| - GraphicsMagick | ||
| - Nodejs | ||
| - NPM | ||
| - يصنع | ||
rocket_chat_mongodb_packages | - Mongodb-server | قائمة بحزم خادم MongoDB للتثبيت |
| - Mongodb-Shell | ||
rocket_chat_mongodb_repl_lines | replication: | قيمة مجموعة النسخة المتماثلة MongoDB |
replSetName: "001-rs" | ||
rocket_chat_nginx_process_user | www-data | سيتم استخدام المستخدم لذلك لتفرخ عملية خادم Nginx |
تعيين في vars/Debian_8.yml
| اسم | القيمة الافتراضية | وصف |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | الأمر الذي يجب استخدامه لإبلاغ نظام إدارة الخدمة عندما يتغير بيان الخدمة |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | قالب المصدر للنشر في بيان خدمة الصاروخ |
dest | /etc/systemd/system/rocketchat.service | الوجهة لنشر الصاروخ. |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main | مستودع مناسب لـ Mongodb |
تعيين في vars/Ubuntu.yml
| اسم | القيمة الافتراضية | وصف |
|---|---|---|
rocket_chat_dep_packages | - جيت | قائمة من Rocket.Chat التبعيات للتثبيت |
| - GraphicsMagick | ||
| - Nodejs | ||
| - NPM | ||
| - يصنع | ||
rocket_chat_mongodb_packages | - Mongodb-server | قائمة بحزم خادم MongoDB للتثبيت |
| - Mongodb-Shell | ||
rocket_chat_mongodb_repl_lines | replication: | قيمة مجموعة النسخة المتماثلة MongoDB |
replSetName: "001-rs" | ||
rocket_chat_nginx_process_user | www-data | سيتم استخدام المستخدم لذلك لتفرخ عملية خادم Nginx |
تعيين في vars/Ubuntu_15.yml
| اسم | القيمة الافتراضية | وصف |
|---|---|---|
rocket_chat_service_update_command | systemctl daemon-reload ; systemctl restart rocketchat | الأمر الذي يجب استخدامه لإبلاغ نظام إدارة الخدمة عندما يتغير بيان الخدمة |
rocket_chat_service_template | ||
src | rocketchat.service.j2 | قالب المصدر للنشر في بيان خدمة الصاروخ |
dest | /etc/systemd/system/rocketchat.service | الوجهة لنشر الصاروخ. |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/debian wheezy/mongodb-org/3.0 main | مستودع مناسب لـ Mongodb |
تعيين في vars/Ubuntu_14.yml
| اسم | القيمة الافتراضية | وصف |
|---|---|---|
rocket_chat_service_update_command | initctl reload-configuration ; service rocketchat restart | الأمر الذي يجب استخدامه لإبلاغ نظام إدارة الخدمة عندما يتغير بيان الخدمة |
rocket_chat_service_template | ||
src | rocketchat_upstart.j2 | قالب المصدر للنشر في بيان خدمة الصاروخ |
dest | /etc/init/rocketchat.conf | الوجهة لنشر الصاروخ. |
rocket_chat_mongodb_apt_repo | deb http://repo.mongodb.org/apt/ubuntu trusty/mongodb-org/3.0 multiverse | مستودع مناسب لـ Mongodb |
rocket_chat_tarball_validate_remote_cert | خطأ شنيع | قيمة منطقية تحدد أو لا تتحقق من صحة CERTS SSL لـ Rocket.Chat Tarball Remote |
هذا الدور متاح للتنزيل من Ansible Galaxy. لتثبيت هذا الدور ، وتتبعه في قاعدة الشفرة ANSIBLE ، استخدم شيئًا مشابهًا لما يلي في requirements.yml .
- src : RocketChat.Server
version : v1.9.0
path : roles/external/
ملاحظة: يجب عليك تحديد version باسم v1.9.0 إذا كنت لا تزال تستخدم ANSIBLE 1.9.4
مع إصدار Ansible 2.0 ، يتم دعم هذا الدور رسميًا مع بعض تحسينات الأداء والميزات الإضافية (الترقيات التلقائية ، على سبيل المثال). لاستخدام إصدار ANSIBLE 2.0 من هذا الدور ، يمكنك تثبيته باستخدام أداة سطر أوامر ansible-galaxy باستخدام requirements.yml .
إليك مثال requirements.yml ansible-galaxy
- src : RocketChat.Server
path : roles/external master على v2.0 وهو الآن أكبر رمز للدور. إذا كنت تريد أحدث فقط ، فلا تضمن أي إصدار على الإطلاق ، وسوف يسحب ansible-galaxy أحدث علامة ، أو يمكنك تضمين version: master ليكون دائمًا حاليًا. كتاب لعب بسيط لتشغيل هذا الدور على جميع أنظمة chat_servers :
- hosts : chat_servers
roles :
- RocketChat.Server كتاب playbook لنشر Rocket.Chat إلى chat_servers ولكن استبعاد نشر mongoDB واستخدام مثيل خارجي. تسمح أيضًا بالترقيات التلقائية rocket_chat_automatic_upgrades .
- 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."}
الآن ، صيانة هذا المتغير هي عملية يدوية. في غضون ذلك ، يمكنك ببساطة تعيين قيمة هذا المتغير بنفسك ؛ عبر host_vars ، group_vars ، vars في كتاب اللعب الخاص بك ، أو مع -e عند تشغيل ansible-playbook ، إلخ.
لتشغيل مجموعة محددة من المسرحيات ، مع علامة --tags ، فإن العلامات المتاحة هي:
varsbuildmongodbreponginxupgradeservice سيؤدي هذا الدور إلى نشر خدمة تدعى rocketchat . يمكنك استخدام نظام إدارة الخدمة الأصلي لبدء/إيقاف/إعادة تحميل/إعادة تشغيل الخدمة.
لاختبار هذا tests/ ، ستجد Vagrantfile provision.yml . هذا ، كما قد تكون قد خمنت ، لتشغيل عمليات نشر الاختبار عبر Vagrant.
إذا كنت ترغب في اختبار بعض التغييرات ، أو ببساطة ترى كيف يعمل الدور/ توفير Rocket Rocket.Chat محليًا ، فيمكنك cd في tests/ وتشغيل vagrant up (شريطة أن يكون لديك Vagrant & VirtualBox مثبتة).
إذا ألقيت نظرة على Vagrantfile ، فسترى أن هناك نشرًا لكل منصة مدعومة حاليًا - ما عليك سوى التعليق على أي لا تريد نشره (لا تنسى تكوينه الجليدي في الأسفل ، إما!). بمجرد الانتهاء من النشر ، إذا كنت ترغب في تجربة Rocket.Chat ، فيمكنك زيارة http://localhost:4000 في متصفحك (يختلف المنفذ 4000 هنا ، استنادًا إلى النظام الأساسي الذي تنشره ، راجع قيمة forwarded_port لمنصتك).
معهد ماساتشوستس للتكنولوجيا
لا تتردد في: إثارة مساهمة مساهمة