This commit is contained in:
chendelin1982 2022-05-10 17:35:30 +08:00
parent 25bd1aeceb
commit fb80dcb8ec
39 changed files with 176 additions and 799 deletions

1
apps/README.md Normal file
View file

@ -0,0 +1 @@
# APPS

@ -1 +0,0 @@
Subproject commit fde455261c18a11779bfad89aaa05f17432cc09a

32
apps/application.yml Normal file
View file

@ -0,0 +1,32 @@
- name: Deployment Application
hosts: all
become: yes
become_method: sudo
vars_files:
- vars/main.yml
- roles/{{appname}}/vars/defaut.yml
pre-task:
1. 必须传递一个真实有效的 appname
2.git clone docker-project
3.run docker
4.目录统一性(与 app 无关)
5. role 有关的是初始化、Nginx 配置文件
include:- roles/{{appname}}/tests/test.yml
roles:
- {role: role_common, tags: "role_common"}
- {role: role_cloud, tags: "role_cloud"}
- {role: role_docker, tags: "role_docker"}
- {role: role_nginx, tags: "role_nginx"}
- {role: {{appname}}, tags: "{{appname}}"}
- {role: role_init, tags: "role_init"}
- {role: role_preend, tags: "preend"}
- {role: role_end, tags: "role_end"}

1
apps/docs/README.md Normal file
View file

@ -0,0 +1 @@
# Stackhub

62
apps/galaxy.yml Normal file
View file

@ -0,0 +1,62 @@
### REQUIRED
# The namespace of the collection. This can be a company/brand/organization or product namespace under which all
# content lives. May only contain alphanumeric lowercase characters and underscores. Namespaces cannot start with
# underscores or numbers and cannot contain consecutive underscores
namespace: wbs
# The name of the collection. Has the same character restrictions as 'namespace'
name: hh
# The version of the collection. Must be compatible with semantic versioning
version: 1.0.0
# The path to the Markdown (.md) readme file. This path is relative to the root of the collection
readme: README.md
# A list of the collection's content authors. Can be just the name or in the format 'Full Name <email> (url)
# @nicks:irc/im.site#channel'
authors:
- your name <example@domain.com>
### OPTIONAL but strongly recommended
# A short summary description of the collection
description: your collection description
# Either a single license or a list of licenses for content inside of a collection. Ansible Galaxy currently only
# accepts L(SPDX,https://spdx.org/licenses/) licenses. This key is mutually exclusive with 'license_file'
license:
- GPL-2.0-or-later
# The path to the license file for the collection. This path is relative to the root of the collection. This key is
# mutually exclusive with 'license'
license_file: ''
# A list of tags you want to associate with the collection for indexing/searching. A tag name has the same character
# requirements as 'namespace' and 'name'
tags: []
# Collections that this collection requires to be installed for it to be usable. The key of the dict is the
# collection label 'namespace.name'. The value is a version range
# L(specifiers,https://python-semanticversion.readthedocs.io/en/latest/#requirement-specification). Multiple version
# range specifiers can be set and are separated by ','
dependencies: {}
# The URL of the originating SCM repository
repository: http://example.com/repository
# The URL to any online docs
documentation: http://docs.example.com
# The URL to the homepage of the collection/project
homepage: http://example.com
# The URL to the collection issue tracker
issues: http://example.com/issue/tracker
# A list of file glob-like patterns used to filter any files or directories that should not be included in the build
# artifact. A pattern is matched from the relative path of the file or directory of the collection directory. This
# uses 'fnmatch' to match the files or directories. Some directories and files like 'galaxy.yml', '*.pyc', '*.retry',
# and '.git' are always filtered
build_ignore: []

2
apps/hosts Normal file
View file

@ -0,0 +1,2 @@
[local]
localhost

31
apps/plugins/README.md Normal file
View file

@ -0,0 +1,31 @@
# Collections Plugins Directory
This directory can be used to ship various plugins inside an Ansible collection. Each plugin is placed in a folder that
is named after the type of plugin it is in. It can also include the `module_utils` and `modules` directory that
would contain module utils and modules respectively.
Here is an example directory of the majority of plugins currently supported by Ansible:
```
└── plugins
├── action
├── become
├── cache
├── callback
├── cliconf
├── connection
├── filter
├── httpapi
├── inventory
├── lookup
├── module_utils
├── modules
├── netconf
├── shell
├── strategy
├── terminal
├── test
└── vars
```
A full list of plugin types can be found at [Working With Plugins](https://docs.ansible.com/ansible-core/2.12/plugins/plugins.html).

View file

@ -0,0 +1 @@
# Template for create application

View file

@ -1,45 +1,46 @@
# Global
region: "0"
common_os_support: ["CentOS", "Ubuntu", "Amazon", "OracleLinux"]
apache_certbot: True
nginx_certbot: True
nginx_reverse_proxy_port: "8065"
# role_mysql
mysql_version: "5.7"
mysql_root_password: "123456"
mysql_remote: True
# docker
docker_applications:
- phpmyadmin
# add databases and users
mysql_databases:
- name: rabbitmq
mysql_users:
- name: rabbitmq
host: localhost
priv: 'rabbitmq.*:ALL'
# init passsword of database
init_db:
mysql:
admin: root
user: ["ghost"]
password: "123456"
# init password of applications
init_application:
rabbitmq:
service: rabbitmq
database: rabbitmq
database_user: rabbitmq
database_host: localhost
database_password: "123456"
config_path:
- /opt/rabbitmq/config/config.json
# Global
region: "0"
common_os_support: ["CentOS", "Ubuntu", "Amazon", "OracleLinux"]
apache_certbot: True
nginx_certbot: True
nginx_reverse_proxy_port: "8065"
# role_mysql
mysql_version: "5.7"
mysql_root_password: "123456"
mysql_remote: True
# docker
docker_applications:
- phpmyadmin
# add databases and users
mysql_databases:
- name: rabbitmq
mysql_users:
- name: rabbitmq
host: localhost
priv: 'rabbitmq.*:ALL'
# init passsword of database
init_db:
mysql:
admin: root
user: ["ghost"]
password: "123456"
# init password of applications
init_application:
rabbitmq:
service: rabbitmq
database: rabbitmq
database_user: rabbitmq
database_host: localhost
database_password: "123456"
config_path:
- /opt/rabbitmq/config/config.json

View file

@ -1,5 +0,0 @@
*.retry
/.vscode
hosts
node_modules
test.yml

View file

@ -1,12 +0,0 @@
# CHANGELOG
## Release Gitlab-v13.8.1 2021-2-3
### Fixes
- AWS AmazonLinux2 update error #3
### Enhancements
- Upgrade from v13.2.1 to v13.8.2 #3

View file

@ -1,168 +0,0 @@
This program is released under LGPL-3.0 and with the additional Terms:
It is not allowed to publish free or paid image based on this program in any Cloud platform's Marketplace.
GNU LESSER GENERAL PUBLIC LICENSE
Version 3, 29 June 2007
Copyright (C) 2007 Free Software Foundation, Inc. <https://fsf.org/>
Everyone is permitted to copy and distribute verbatim copies
of this license document, but changing it is not allowed.
This version of the GNU Lesser General Public License incorporates
the terms and conditions of version 3 of the GNU General Public
License, supplemented by the additional permissions listed below.
0. Additional Definitions.
As used herein, "this License" refers to version 3 of the GNU Lesser
General Public License, and the "GNU GPL" refers to version 3 of the GNU
General Public License.
"The Library" refers to a covered work governed by this License,
other than an Application or a Combined Work as defined below.
An "Application" is any work that makes use of an interface provided
by the Library, but which is not otherwise based on the Library.
Defining a subclass of a class defined by the Library is deemed a mode
of using an interface provided by the Library.
A "Combined Work" is a work produced by combining or linking an
Application with the Library. The particular version of the Library
with which the Combined Work was made is also called the "Linked
Version".
The "Minimal Corresponding Source" for a Combined Work means the
Corresponding Source for the Combined Work, excluding any source code
for portions of the Combined Work that, considered in isolation, are
based on the Application, and not on the Linked Version.
The "Corresponding Application Code" for a Combined Work means the
object code and/or source code for the Application, including any data
and utility programs needed for reproducing the Combined Work from the
Application, but excluding the System Libraries of the Combined Work.
1. Exception to Section 3 of the GNU GPL.
You may convey a covered work under sections 3 and 4 of this License
without being bound by section 3 of the GNU GPL.
2. Conveying Modified Versions.
If you modify a copy of the Library, and, in your modifications, a
facility refers to a function or data to be supplied by an Application
that uses the facility (other than as an argument passed when the
facility is invoked), then you may convey a copy of the modified
version:
a) under this License, provided that you make a good faith effort to
ensure that, in the event an Application does not supply the
function or data, the facility still operates, and performs
whatever part of its purpose remains meaningful, or
b) under the GNU GPL, with none of the additional permissions of
this License applicable to that copy.
3. Object Code Incorporating Material from Library Header Files.
The object code form of an Application may incorporate material from
a header file that is part of the Library. You may convey such object
code under terms of your choice, provided that, if the incorporated
material is not limited to numerical parameters, data structure
layouts and accessors, or small macros, inline functions and templates
(ten or fewer lines in length), you do both of the following:
a) Give prominent notice with each copy of the object code that the
Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the object code with a copy of the GNU GPL and this license
document.
4. Combined Works.
You may convey a Combined Work under terms of your choice that,
taken together, effectively do not restrict modification of the
portions of the Library contained in the Combined Work and reverse
engineering for debugging such modifications, if you also do each of
the following:
a) Give prominent notice with each copy of the Combined Work that
the Library is used in it and that the Library and its use are
covered by this License.
b) Accompany the Combined Work with a copy of the GNU GPL and this license
document.
c) For a Combined Work that displays copyright notices during
execution, include the copyright notice for the Library among
these notices, as well as a reference directing the user to the
copies of the GNU GPL and this license document.
d) Do one of the following:
0) Convey the Minimal Corresponding Source under the terms of this
License, and the Corresponding Application Code in a form
suitable for, and under terms that permit, the user to
recombine or relink the Application with a modified version of
the Linked Version to produce a modified Combined Work, in the
manner specified by section 6 of the GNU GPL for conveying
Corresponding Source.
1) Use a suitable shared library mechanism for linking with the
Library. A suitable mechanism is one that (a) uses at run time
a copy of the Library already present on the user's computer
system, and (b) will operate properly with a modified version
of the Library that is interface-compatible with the Linked
Version.
e) Provide Installation Information, but only if you would otherwise
be required to provide such information under section 6 of the
GNU GPL, and only to the extent that such information is
necessary to install and execute a modified version of the
Combined Work produced by recombining or relinking the
Application with a modified version of the Linked Version. (If
you use option 4d0, the Installation Information must accompany
the Minimal Corresponding Source and Corresponding Application
Code. If you use option 4d1, you must provide the Installation
Information in the manner specified by section 6 of the GNU GPL
for conveying Corresponding Source.)
5. Combined Libraries.
You may place library facilities that are a work based on the
Library side by side in a single library together with other library
facilities that are not Applications and are not covered by this
License, and convey such a combined library under terms of your
choice, if you do both of the following:
a) Accompany the combined library with a copy of the same work based
on the Library, uncombined with any other library facilities,
conveyed under the terms of this License.
b) Give prominent notice with the combined library that part of it
is a work based on the Library, and explaining where to find the
accompanying uncombined form of the same work.
6. Revised Versions of the GNU Lesser General Public License.
The Free Software Foundation may publish revised and/or new versions
of the GNU Lesser General Public License from time to time. Such new
versions will be similar in spirit to the present version, but may
differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the
Library as you received it specifies that a certain numbered version
of the GNU Lesser General Public License "or any later version"
applies to it, you have the option of following the terms and
conditions either of that published version or of any later version
published by the Free Software Foundation. If the Library as you
received it does not specify a version number of the GNU Lesser
General Public License, you may choose any version of the GNU Lesser
General Public License ever published by the Free Software Foundation.
If the Library as you received it specifies that a proxy can decide
whether future versions of the GNU Lesser General Public License shall
apply, that proxy's public statement of acceptance of any version is
permanent authorization for you to choose that version for the
Library.

View file

@ -1,84 +0,0 @@
# {{ trademark }} 自动化安装与部署
[English](/README.md) | [简体中文](/README-zh.md)
本项目是由 [Websoft9](https://www.websoft9.com) 研发的 [{{ trademark }}]({{ official_url}}) 自动化安装程序,开发语言是 Ansible。使用本项目只需要用户在 Linux 上运行一条命令,即可自动化安装 {{ trademark }},并预配置必要项,让原本复杂的安装和与配置过程变得没有任何技术门槛。
{% if introduction_extra is defined -%}
{{introduction_extra.zh}}
{% endif -%}
## 配置要求
安装本项目,确保符合如下的条件:
| 条件 | 详情 | 备注 |
| ------------ | ------------ | ----- |
| 操作系统 | {{support_os }}| 可选 |
| 公有云| AWS, Azure, 阿里云, 华为云, 腾讯云 | 可选 |
| 私有云| KVM, VMware, VirtualBox, OpenStack | 可选 |
| 服务器配置 | 最低{{requirements_cpu}}核{{requirements_memory}}G存储{{requirements_disk}}GB以上Swap分区{{requirements_swap}}GB以上 | 建议采用按量{{requirements_Bandwidth}}M带宽 |
更多请见: [官方 System requirement]({{requirements_configure_url}})。
## 组件
包含的核心组件为:{{ components }}
{% if components_extra is defined -%}
{{components_extra.zh}}
{% endif -%}
更多请见: [参数表](/docs/zh/stack-components.md)。
## 安装指南
以 root 用户登录 Linux运行下面的**一键自动化安装命令**即可启动自动化部署。若没有 root 用户,请以其他用户登录 Linux 后运行 `sudo su -` 命令提升为 root 权限,然后再运行下面的脚本。
```
wget -N https://ghproxy.com/https://raw.githubusercontent.com/Websoft9/ansible-linux/main/scripts/install.sh; bash install.sh -r {{ name }}
```
脚本后启动,就开始了自动化安装,必要时需要用户做出交互式选择,然后耐心等待直至安装成功。
**安装中的注意事项:**
1. 操作不慎或网络发生变化可能会导致SSH连接被中断安装就会失败此时请重新安装
2. 安装缓慢、停滞不前或无故中断,主要是网络不通(或网速太慢)导致的下载问题,此时请重新安装
多种原因导致无法顺利安装,请使用我们在公有云上发布的 [{{ trademark }} 镜像](https://apps.websoft9.com/{{name}}) 的部署方式。
## 文档
文档链接https://support.websoft9.com/docs/{{name}}/zh
## License
本项目是开源项目,采用 LGPL3.0 开源协议。补充条款:不允许在公有云的云市场上售卖通过本项目安装后直接或间接制作的镜像。
## FAQ
#### 本项目安装的是 {{ trademark }} 最新版吗?
本项目通过{{ install_way.zh }},请通过[官方URL]({{ install_url }})页面查看版本号。
我们会定期检查[Release版本](https://github.com/Websoft9/ansible-{{name}}/releases),更新并测试此项目,以保证用户可以顺利安装所需的{{ trademark }}版本。
{% if release_extra is defined -%}
{{release_extra.zh}}
{% endif -%}
#### 命令脚本部署与镜像部署有什么区别?
请参考:[镜像部署-vs-脚本部署](https://support.websoft9.com/docs/faq/zh/bz-product.html#镜像部署-vs-脚本部署)
#### 本项目支持在 Ansible Tower 上运行吗
支持
{% if faqs is defined -%}
{% for faq in faqs.zh -%}
#### {{faq.question}}
{{faq.answer}}
{% endfor -%}
{% endif -%}

View file

@ -1,73 +0,0 @@
# RabbitMQ 自动化安装与部署
[English](/README.md) | [简体中文](/README-zh.md)
本项目是由 [Websoft9](https://www.websoft9.com) 研发的 [RabbitMQ](https://rabbitmq.io/) 自动化安装程序,开发语言是 Ansible。使用本项目只需要用户在 Linux 上运行一条命令,即可自动化安装 RabbitMQ并预配置必要项让原本复杂的安装和与配置过程变得没有任何技术门槛。
本项目支持的一系列开源PHP应用包括</br> </br>[chanzhi,cmseasy,codiad,dolibarr,dreamfactory,dzzoffice,empirecms,espocrm,kodcloud,laravel,mantisbt,matomo,onethink,pydio,ranzhi,resourcespace,suitecrm,symfony,testlink,thinkcmf,thinkphp,vanilla,vtigercrm,zurmo,zdoo](/roles/phpapps/tasks)等</br> </br>对于更热门的PHP应用程序我们为之开发了单独的项目</br> </br>* [WordPress](https://github.com/Websoft9/ansible-wordpress)</br>* [Joomla](https://github.com/Websoft9/ansible-joomla)</br>* [Drupal](https://github.com/Websoft9/ansible-drupal)</br>* [ownCloud](https://github.com/Websoft9/ansible-owncloud)
## 配置要求
安装本项目,确保符合如下的条件:
| 条件 | 详情 | 备注 |
| ------------ | ------------ | ----- |
| 操作系统 | CentOS7.x, Ubuntu20.04, Amazon Linux2| 可选 |
| 公有云| AWS, Azure, 阿里云, 华为云, 腾讯云 | 可选 |
| 私有云| KVM, VMware, VirtualBox, OpenStack | 可选 |
| 服务器配置 | 最低2核4G存储20GB以上Swap分区2GB以上 | 建议采用按量100M带宽 |
更多请见: [官方 System requirement](https://www.rabbitmq.com/download.html)。
## 组件
包含的核心组件为RabbitMQ, MySQL8.0, MongoDB, adminMongo on Docker, phpMyAdmin on Docker, Nginx or Apache(optional)
额外的相关应用组件为chanzhicmseasycodiaddolibarr, dreamfactory。
更多请见: [参数表](/docs/zh/stack-components.md)。
## 安装指南
以 root 用户登录 Linux运行下面的**一键自动化安装命令**即可启动自动化部署。若没有 root 用户,请以其他用户登录 Linux 后运行 `sudo su -` 命令提升为 root 权限,然后再运行下面的脚本。
```
wget -N https://ghproxy.com/https://raw.githubusercontent.com/Websoft9/ansible-linux/main/scripts/install.sh; bash install.sh -r rabbitmq
```
脚本后启动,就开始了自动化安装,必要时需要用户做出交互式选择,然后耐心等待直至安装成功。
**安装中的注意事项:**
1. 操作不慎或网络发生变化可能会导致SSH连接被中断安装就会失败此时请重新安装
2. 安装缓慢、停滞不前或无故中断,主要是网络不通(或网速太慢)导致的下载问题,此时请重新安装
多种原因导致无法顺利安装,请使用我们在公有云上发布的 [RabbitMQ 镜像](https://apps.websoft9.com/rabbitmq) 的部署方式。
## 文档
文档链接https://support.websoft9.com/docs/rabbitmq/zh
## License
本项目是开源项目,采用 LGPL3.0 开源协议。补充条款:不允许在公有云的云市场上售卖通过本项目安装后直接或间接制作的镜像。
## FAQ
#### 本项目安装的是 RabbitMQ 最新版吗?
本项目通过包安装 | 下载源码编译安装 | 下载可执行二进制包解压安装,请通过[官方URL](https://www.rabbitmq.com/download.html)页面查看版本号。
我们会定期检查[Release版本](https://github.com/Websoft9/ansible-rabbitmq/releases)更新并测试此项目以保证用户可以顺利安装所需的RabbitMQ版本。
阅读应用的[版本号管理](version.md)文档,了解更多详情。
#### 命令脚本部署与镜像部署有什么区别?
请参考:[镜像部署-vs-脚本部署](https://support.websoft9.com/docs/faq/zh/bz-product.html#镜像部署-vs-脚本部署)
#### 本项目支持在 Ansible Tower 上运行吗
支持
#### 为什么要追加问题1
这是指一个范例,没什么特别的。
#### 为什么要追加问题2
十万个为什么。

View file

@ -1,93 +0,0 @@
# {{ trademark }} Cloud Installer
![](https://libs.websoft9.com/common/websott9-cloud-installer.png)
## Introduction
[English](/README.md) | [简体中文](/README-zh.md)
**{{ trademark }} Cloud Installer**, developed by [Websoft9](https://www.websoft9.com), is an automatic installation program of [{{ trademark }}]({{ official_url}}) based on Ansible and shell. It helps user install {{ trademark }} and pre-configure required items automatically and users only need to run a command on Linux. It simplifies the complicated installation and initialization process.
{% if introduction_extra is defined -%}
{{introduction_extra.en}}
{% endif -%}
## System Requirement
System Requirement to install this repository are as following
| Conditions | Details | Notes |
| ------------------- | --------------------------------| -------------------- |
| Operating System | {{support_os }} | Optional |
| Public Cloud | AWS, Azure, Alibaba Cloud, HUAWEI ClOUD, Tencent Cloud | Optional |
| Private Cloud | KVM, VMware, VirtualBox, OpenStack | Optional |
| Server Configuration | vCPU no less than {{requirements_cpu}} core, Memory no less than {{requirements_memory}} GIB, Storage no less than {{requirements_disk}} GB, Swap no less than {{requirements_swap}}GB |Bandwidth no less than {{requirements_Bandwidth}}M|
To learn more information, please view [Installation & Configuration]({{requirements_configure_url}}).
## Ecosystem
Core components of this repository: {{ components }}
{% if components_extra is defined -%}
{{components_extra.en}}
{% endif -%}
Learn more about [Parameters](/docs/stack-components.md).
## Installation
You can install it by thi Cloud Installer solution all in one. In addition, you can deploy image published on major Cloud Platform by Websoft9.
#### All-in-one Installer
Run the automatic installation script with **root** authority to start the installation. If necessary, users need to make interactive choices, and then wait patiently until the installation is successful.
```
$ sudo su -
$ wget -N https://raw.githubusercontent.com/Websoft9/ansible-linux/main/scripts/install.sh; bash install.sh -r {{ name }}
```
If the network is broken or blocked, SSH will be interrupted and the installation will fail. Please reinstall.
#### Image on Cloud
Follow our [{{ trademark }} image](https://apps.websoft9.com/{{ name }}) for installation on major Cloud Platform.
## Documentation
**[Administrator Guide](https://support.websoft9.com/docs/{{ name }})**
## License
[LGPL-3.0](/License.md), Additional Terms: It is not allowed to publish free or paid image based on this repository in any Cloud platform's Marketplace.
Copyright (c) 2016-present, Websoft9
This program provided by Websoft9 contains a series of software with separate copyright notices and license terms. Your use of the source code for the software included is subject to the terms and conditions of its own license.
## FAQ
#### How to install and view the latest release?
This repository install way is {{install_way.en}}, you can view the version from [Official URL]({{install_url}}).
We will check [Release version](https://github.com/Websoft9/ansible-{{name}}/releases) regularly. Update and test this project to ensure that users can successfully install the required version of {{trademark}}.
{% if release_extra is defined -%}
{{release_extra.en}}
{% endif -%}
#### Can I run this repository on Ansible Tower?
Yes.
#### Although the results of the deploy by image are consistent with the results of deploy by script, what is the difference between the two deployment methods?
Suggest you read the document [Deploy by Image vs Deploy by Script](https://support.websoft9.com/docs/faq/bz-product.html#deployment-comparison).
{% if faqs is defined -%}
{% for faq in faqs.en -%}
#### {{faq.question}}
{{faq.answer}}
{% endfor -%}
{% endif -%}

View file

@ -1,82 +0,0 @@
# RabbitMQ Cloud Installer
![](https://libs.websoft9.com/common/websott9-cloud-installer.png)
## Introduction
[English](/README.md) | [简体中文](/README-zh.md)
**RabbitMQ Cloud Installer**, developed by [Websoft9](https://www.websoft9.com), is an automatic installation program of [RabbitMQ](https://rabbitmq.io/) based on Ansible and shell. It helps user install RabbitMQ and pre-configure required items automatically and users only need to run a command on Linux. It simplifies the complicated installation and initialization process.
CentOS7.x, Ubuntu20.04, Amazon Linux2
## System Requirement
System Requirement to install this repository are as following
| Conditions | Details | Notes |
| ------------------- | --------------------------------| -------------------- |
| Operating System | CentOS7.x, Ubuntu20.04, Amazon Linux2 | Optional |
| Public Cloud | AWS, Azure, Alibaba Cloud, HUAWEI ClOUD, Tencent Cloud | Optional |
| Private Cloud | KVM, VMware, VirtualBox, OpenStack | Optional |
| Server Configuration | vCPU no less than 2 core, Memory no less than 4 GIB, Storage no less than 20 GB, Swap no less than 2GB |Bandwidth no less than 100M|
To learn more information, please view [Installation & Configuration](https://www.rabbitmq.com/download.html).
## Ecosystem
Core components of this repository: RabbitMQ, MySQL8.0, MongoDB, adminMongo on Docker, phpMyAdmin on Docker, Nginx or Apache(optional)
the extral compentents: chanzhi, cmseasy, codiad, dolibarr, dreamfactory.
Learn more about [Parameters](/docs/stack-components.md).
## Installation
You can install it by thi Cloud Installer solution all in one. In addition, you can deploy image published on major Cloud Platform by Websoft9.
#### All-in-one Installer
Run the automatic installation script with **root** authority to start the installation. If necessary, users need to make interactive choices, and then wait patiently until the installation is successful.
```
$ sudo su -
$ wget -N https://raw.githubusercontent.com/Websoft9/ansible-linux/main/scripts/install.sh; bash install.sh -r rabbitmq
```
If the network is broken or blocked, SSH will be interrupted and the installation will fail. Please reinstall.
#### Image on Cloud
Follow our [RabbitMQ image](https://apps.websoft9.com/rabbitmq) for installation on major Cloud Platform.
## Documentation
**[Administrator Guide](https://support.websoft9.com/docs/rabbitmq)**
## License
[LGPL-3.0](/License.md), Additional Terms: It is not allowed to publish free or paid image based on this repository in any Cloud platform's Marketplace.
Copyright (c) 2016-present, Websoft9
This program provided by Websoft9 contains a series of software with separate copyright notices and license terms. Your use of the source code for the software included is subject to the terms and conditions of its own license.
## FAQ
#### How to install and view the latest release?
This repository install way is Package isntallation | Compile isntallation for source | Isntallation for download binaries files , you can view the version from [Official URL](https://www.rabbitmq.com/download.html).
We will check [Release version](https://github.com/Websoft9/ansible-rabbitmq/releases) regularly. Update and test this project to ensure that users can successfully install the required version of RabbitMQ.
Learn more about [Version](version.md).
#### Can I run this repository on Ansible Tower?
Yes.
#### Although the results of the deploy by image are consistent with the results of deploy by script, what is the difference between the two deployment methods?
Suggest you read the document [Deploy by Image vs Deploy by Script](https://support.websoft9.com/docs/faq/bz-product.html#deployment-comparison).
#### Why add this question
This is a good question, it can make humans feedoom!
#### Why change template
World is changed!

View file

@ -1,37 +0,0 @@
# 模板说明
## 快速使用
以此模板创建项目之后,依次参考如下步骤完成后续设置
1. 依次替换文件(夹)和关键词 **RabbitMQ** 和 **rabbitmq**
2. 依次完成如下文件的改写
```
/rabbitmq.yml
/requirements.yml
/vars/main.yml
```
3. 完成对应的role的编写
4. 改写文档
5. 日志填写
## 模板说明
### 架构
Playbook 主体结构
- vars主变量
- roles用于存放role目录
- rabbitmq.yml : 项目主入口文件
- docs用于存放文档
- .github用于存放 GitHub Actions 配置
- ansible.cfg
### 注意事项
1. 尽量少用应用模块例如Docker模块MySQL模块
2. 文件删除请直接使用 Shell 命令
3. 每一行代码必须考虑非root用户运行的权限问题
4. 使用公共模块完成依赖安装
5. 软件的安装与配置逻辑上做出分离

View file

@ -1,19 +0,0 @@
# CheckList
除了公共测试之外,本产品需根据文档进行如下的个性测试。
个性测试需遵循文档,如果没有对应的文档,需补充产品文档。
| 组 | 项 | 文档情况 |
| ------------ | ------------- | -------- |
| 核心功能 | 使用向导中提供一个场景化的应用流程 | 无 |
| 系统管理功能 | 多语言切换 | 无 |
| | 用户权限 | 有 |
| | 重置密码 | 有 |
| | 导出数据 | 有 |
| | CLI | 有 |
| 扩展功能 | 安装主题 | 有 |
| | 安装插件/扩展 | 有 |
| 文件管理 | 上传大文件 | 不需要 |
| | 预览文件 | 不需要 |
| 维护管理 | 备份恢复 | 有 |
| | 升级 | 有 |

View file

@ -1 +0,0 @@

View file

@ -1,38 +0,0 @@
# This is Cloud-Installer template of Websoft9
# Task priority: pre_tasks > role > tasks > post_task
# Variable priority: vars_files > vars
- name: RabbitMQ
hosts: all
become: yes
become_method: sudo
vars_files:
- vars/main.yml
vars_prompt:
- name: 'rabbitmq_selection'
prompt: "Choose the RabbitMQ distribution \n
1: RabbitMQ 5 Classic\n
2: RabbitMQ Artemis\n"
private: no
default: 1
vars:
rabbitmq_select:
'1': "classic"
'2': "artemis"
rabbitmq_distribution: "{{rabbitmq_select[rabbitmq_selection]}}"
pre_tasks:
- debug:
msg: Will install {{rabbitmq_distribution}}
roles:
- {role: role_common, tags: "role_common"}
- {role: role_cloud, tags: "role_cloud"}
- {role: role_jdk, tags: "role_jdk"}
- {role: rabbitmq, tags: "rabbitmq"}
- {role: role_preend, tags: "preend"}
- {role: role_end, tags: "role_end"}

View file

@ -1,88 +0,0 @@
Ansible Role: Template
=========
This role is for you to install **Docker**, **Docker-Compose** and **some popular docker applications**.
The applications includes:
* adminMongo - GUI tool for MongoDB
* Adminer - GUI tools for major DB
* Mongo-Express - GUI tool for MongoDB
* OnlyOffice Document Server - Office view and edit online middleware
* phpMyAdmin - GUI tool for MySQL
* phpPgAdmin - GUI tool for PostgreSQL
* Portainer - GUI tool for Docker
If you want this role to support more applications, you can [**submit Issues**](https://github.com/websoft9dev/role_docker/issues/new/choose) for us.
## Requirements
Make sure these requirements need before the installation:
| **Items** | **Details** |
| ------------------| ------------------|
| Operating system | CentOS7.x Ubuntu18.04 |
| Python version | Python2 |
| Python components | requests, docker-compose |
| Runtime | No |
Note:
1. python's requests need a suitable verion, otherwise Docker API may not available (ansible docker is based on Docker API).
2. Ansible Docker need to install docker-compose, but docker-compose have compatibility problem on Python2 or Python3, so this repository is not use ansible docker.
## Related roles
This Role does not depend on other role variables in syntax, but it depend on other role before:
```
roles:
- { role: role_common }
- { rolerole_docker }
```
## Variables
The main variables of this Role and how to use them are as follows:
| **Items** | **Details** | **Format** | **Need to assignment** |
| ------------------| ------------------|-----|-----|
| docker_applications |install docker applications, e.g - adminmongo - onlyofficedocumentserver... | List | No |
| docker_addnetwork | add new network for docker, e.g "apps" | String| No |
| docker_apps_dir: | set the applications's directory, e.g "/data/apps" | String | No |
Note:
1. docker_applications is used to install more than two applications
## Example
```
docker_applications
- phpmyadmin
- adminmongo
- onlyofficedocumentserver
docker_applications
- phpmyadmin
docker_apps_dir: "/data/apps"
```
## License
[LGPL-3.0](/License.md), Additional Terms: It is not allowed to publish free or paid image based on this repository in any Cloud platform's Marketplace.
Copyright (c) 2016-present, Websoft9
## FAQ
#### Why did this project not use ansible's docker module?
The Ansible Docker module uses API to communicate with Docker, which is prone to errors. Therefore, enabling this module and directly using Docker commands are more stable and reliable, and you can be familiar with Docker commands. You dont need to master the use of Ansible.
#### How to add new application of Docker?
You just need to add a docker compose file to the templates folder refer to /framework/apps-template-compose.yml

View file

@ -1,53 +0,0 @@
{
"name": "rabbitmq",
"trademark": "RabbitMQ",
"official_url": "https://rabbitmq.io/",
"support_os": "CentOS7.x, Ubuntu20.04, Amazon Linux2",
"introduction_extra": {
"en": "CentOS7.x, Ubuntu20.04, Amazon Linux2",
"zh": "本项目支持的一系列开源PHP应用包括</br> </br>[chanzhi,cmseasy,codiad,dolibarr,dreamfactory,dzzoffice,empirecms,espocrm,kodcloud,laravel,mantisbt,matomo,onethink,pydio,ranzhi,resourcespace,suitecrm,symfony,testlink,thinkcmf,thinkphp,vanilla,vtigercrm,zurmo,zdoo](/roles/phpapps/tasks)等</br> </br>对于更热门的PHP应用程序我们为之开发了单独的项目</br> </br>* [WordPress](https://github.com/Websoft9/ansible-wordpress)</br>* [Joomla](https://github.com/Websoft9/ansible-joomla)</br>* [Drupal](https://github.com/Websoft9/ansible-drupal)</br>* [ownCloud](https://github.com/Websoft9/ansible-owncloud)"
},
"requirements_cpu": "2",
"requirements_memory": "4",
"requirements_Bandwidth": "100",
"requirements_disk": "20",
"requirements_swap": "2",
"requirements_configure_url": "https://www.rabbitmq.com/download.html",
"components": "RabbitMQ, MySQL8.0, MongoDB, adminMongo on Docker, phpMyAdmin on Docker, Nginx or Apache(optional)",
"components_extra": {
"en": "the extral compentents: chanzhi, cmseasy, codiad, dolibarr, dreamfactory. ",
"zh": "额外的相关应用组件为chanzhicmseasycodiaddolibarr, dreamfactory。"
},
"install_way": {
"en": "Package isntallation | Compile isntallation for source | Isntallation for download binaries files ",
"zh": "包安装 | 下载源码编译安装 | 下载可执行二进制包解压安装"
},
"install_url": "https://www.rabbitmq.com/download.html",
"release_extra": {
"en": "Learn more about [Version](version.md).",
"zh": "阅读应用的[版本号管理](version.md)文档,了解更多详情。"
},
"faqs": {
"en": [
{
"question": "Why add this question",
"answer": "This is a good question, it can make humans feedoom!"
},
{
"question": "Why change template",
"answer": "World is changed!"
}
],
"zh": [
{
"question": "为什么要追加问题1",
"answer": "这是指一个范例,没什么特别的。"
},
{
"question": "为什么要追加问题2",
"answer": "十万个为什么。"
}
]
}
}

0
apps/vars/main.yml Normal file
View file