Inventory file¶
Ansible is the technology used to deploy OMniLeads in a bare metal (physical machine or virtual machine). Ansible works with a file called “inventory” where these things are configured:
- Installation type (self-hosted, host-node, cluster, devenv, etc.)
- Passwords of different components (PostgreSQL, asterisk-AMI, web admin access, etc.)
- Timezone
- NAT support
Let’s divide the file in two parts:
Installation type configuration¶
In first part of the file you specify which type of installation you want to do, for that you must choice:
- Production environment AIO (All In One).
As you can see, this section has two lines that are commented, this lines refers to the installation type of a production environment AIO. Both are not mutually exclusive, first makes refer to the Ansible Self-Hosted Install installation and second refers to Installation from remote ansible
##########################################################################################
# If you are installing a prodenv (PE) AIO y bare-metal, change the IP and hostname here #
##########################################################################################
[prodenv-aio]
#localhost ansible_connection=local ansible_user=root #(this line is for self-hosted installation)
#X.X.X.X ansible_ssh_port=22 ansible_user=root #(this line is for node-host installation)
- Development Environment based on Docker.
If you want to deploy a devenv (Development Environment) you must see this section. Here, uncomment the line “#localhost ansible_connection=local”.
##############################################################################
# Docker host is localhost because the application is deployed in localhost. #
# Uncomment the line if you want to deploy DE or PE #
##############################################################################
# If you are installing a devenv (PE) uncomment
[prodenv-container]
#localhost ansible_connection=local
# If you are installing a devenv (DE) uncomment
[devenv-container]
#localhost ansible_connection=local
Passwords and parameters¶
The third section of the file refers to passwords of some components and the setting to configure timezone:
- PostgreSQL
- MySQL
- OMniLeads “admin” user
- TZ
[everyone:vars]
###############
# Credentials #
###############
#####################################################################
# Database #
# SET POSTGRESQL PASSWORD #
#####################################################################
postgres_database=omnileads
postgres_user=omnileads
#postgres_password=my_very_strong_pass
#####################################################################
# Web Admin #
# SET WEB ADMIN PASSWORD #
#####################################################################
#admin_pass=my_very_strong_pass
#######################################
# AMI for wombat dialer and OMniLeads #
#######################################
ami_user=omnileadsami
ami_password=5_MeO_DMT
#####################################################
# Wombat dialer credentials and MYSQL root password #
#####################################################
dialer_user=demoadmin
dialer_password=demo
#mysql_root_password=my_very_strong_pass
#################################################################################################
# Set the timezone where the nodes are. UNCOMMENT and set this if you are doing a fresh install #
#################################################################################################
#TZ=America/Argentina/Cordoba
OMniLeads Cloud:¶
The settings “external_hostname”, “external_port” and “public_ip”, must be configured if you want to install OMniLeads in a cloud server, where the agents will connect to an URL composed by https://external_hostname:external_port, without having a LAN direct connection or through VPN to the OMniLeads server.
#######################################################################################
# OMniLeads cloud: #
# If you are wishing to install OML in a cloud provider you must set these variables: #
# - external_port: the outside port where OML web server will listen requests #
# - external_hostname: the dns external users will connect to #
# - public_ip: where OML is installed #
#######################################################################################
#external_port=
#external_hostname=
#public_ip=
Important
You must set two firewall rules in cloud provider GUI, which serves as a NAT border router (if you don’t know how to do it, make contact with your provider)
- Permit outbound traffic in this port range: 10000-30000 UDP
- Permit inbound traffic in this port range: 10000-30000 UDP
Settings to add trusted key/certificate pair¶
By default, OMniLeads uses it own selfsigned key/certifate pair for HTTPS connections. This invokes the well known errors in browsers: ERR_CERT_AUTORITHY INVALID (Google Chrome) and SEC_ERROR_UNKNOWN_ISSUER (Firefox). If you own your own certificates signed by a valid CA you can add them to your OMniLeads installation, with this steps:
- Place the files in the folder deploy/certs/ inside the repository
- Edit and uncomment the variables trusted_key and trusted_cert with the name of the key and cert files in the folder
#####################################################################
# Trusted Certificates: #
# If you want to use your own certificate/key pair, copy them in #
# ominicontacto/deploy/certs/ and type here the name of the files #
#####################################################################
#trusted_cert=
#trusted_key=
- Proceed with the installation
Important
The trusted certificate for HTTPS connection is mandatory to use the WebPhone Client addon.