m
(What is BrandMeister)
(34 intermediate revisions by 9 users not shown)
Line 1: Line 1:
Before reading this document I ask you to accept our policy: we suggest to use not more than one server for each country. Of course, exceptions to this rule can be discussed.
+
{{Languages}}
  
BrandMeister solution contains 3 main parts:
+
==Policy==
- real-time front-end BrandMeister DMR Server
+
* We suggest using no more than one server for each country. Of course exceptions to this rule can be discussed.
- middle-ware MySQL, Memcached, Mosquitto
+
* Country should have more than 10 repeaters or country is far away from current Master
- back-end
+
* You have to be ready to have at least 2 TB of traffic every month (~ 5 Mbit/sec average on most cold server)
  
BrandMeister does all work of switching DMR calls, comunication with repeaters, other servers and running specific DMR applications like [[Motorola/ARS|ARS]], [[Hytera/RRS|RRS]], [[LRRP]], IP transport, [[Parrot]], etc. It uses MySQL database in read-only mode to read user profiles and routes, Memcached is used in read-write mode to manage routes and Mosquitto is used to send network events. Currently we use centralized work-around solution based on Python for back-end. It processes events received from Mosquitto and writes data to the database. All servers have slave databases that have replica from master database placed near current back-end. We planned to develop the target back-end system named [[CallDirector]] but now we have no free time for it. We are ready for collaboration to develop it. CallDirector should use mesh-network technilogies and active-active replication schema to syncronize profile data.
+
==What is BrandMeister==
 +
The BrandMeister solution consists of 3 main parts:
 +
* Realtime frontend: BrandMeister DMR Server
 +
* Supplementary and REST API frontend: Apache + PHP
 +
* Middleware and backend: Tarantool, Mosquitto, D-BUS IPC
  
At this moment you need to prepare the host. After that you need to install MySQL server, Memcaced and Apache2, PHP5, php5 memcached plug-in from debian distribution. Install mosquitto from the mosquitto repositories. Install dbus-beta plug-for PHP5 in using pecl utility. Configure [[Network_Ports|iptables]]. Next we should configure MySQL for the slave replica (and to use UTC as time-zone for RDBMS), confiugre Mosquitto to forward topics to current back-end server. Please provide me IP of the server to allow access.
+
BrandMeister does all the work of switching DMR calls and communication with repeaters or other servers as well as running specific DMR applications like [[ARS|ARS]], [[Hytera/RRS|RRS]], [[Motorola/LRRP|LRRP]], IP transport, [[Parrot]], etc. Currently we use a centralised solution based on Python to make data distribution. It processes events received from MQTT and writes data to the master database which have to be replicated to local databases of each master server.
  
After these steps you will be able to install BrandMeister package. You need to do configuration after installation. BrandMeister will do automatic activation on the first run. I am strongly recommend you to delegate the responsibility of deployment to our team. In this case please follow next steps:
+
==Hardware specifications==
 +
The recommended server specifications are:
 +
* 2 vCPU
 +
* 4GB ~ 8GB memory
 +
* 10GB ~ 20GB disk space
 +
* Static Public IPv4 address assigned to the machine directly (no nat)
 +
* Minimal 100mbit up and down
 +
** at least 2TB of traffic per month
  
# Prepare a server: the solution requires a publically available server based on Debian x64 version 8.x with public static IP. You can use VM based on vmWare or KVM. Please do not use OpenVZ.  
+
==Installation and Configuration==
# Give us access to deploy initial configuration of BrandMeister. It requires to install and configure several components such as MySQL, Memcached, Mosquitto.
+
# Prepare a server: this solution requires a publicly available server based on '''Debian x64 version 8.x with public static IP'''. You can use a VM based on vmWare or KVM. '''Please do not use OpenVZ or VirtualBox'''.
# You need some time to learn paradigm of the system, how to manage and program the configuration. We will support you.
+
# Configure the necessary [[Network_Ports|iptables]]. '''We deploy the initial configuration of BrandMeister for you'''. '''Please do not install any package listed in previous sections'''.
# The server will be under your full control, we should have access to update and make fixes the system.
+
# You will need some time to learn the paradigm of the system as well as how to manage and program the configuration. We will support you.
  
Please send your questions and requests to [http://groups.yahoo.com/groups/brandmeister/ our Yahoo group] or directly to me.
+
We strongly recommend that you delegate the responsibility of server deployment to our team. The server will always be under your full control, but we should have access to update and make fixes to the system.
 +
 
 +
Please send your questions and requests to our [http://groups.yahoo.com/groups/brandmeister/ Yahoo group], our [http://www.facebook.com/groups/BrandmeisterDMR/ Facebook Group] or directly to Rudy ([[PD0ZRY]]) or me.
  
 
73 de [[R3ABM]]
 
73 de [[R3ABM]]

Revision as of 13:43, 1 March 2019

Policy

  • We suggest using no more than one server for each country. Of course exceptions to this rule can be discussed.
  • Country should have more than 10 repeaters or country is far away from current Master
  • You have to be ready to have at least 2 TB of traffic every month (~ 5 Mbit/sec average on most cold server)

What is BrandMeister

The BrandMeister solution consists of 3 main parts:

  • Realtime frontend: BrandMeister DMR Server
  • Supplementary and REST API frontend: Apache + PHP
  • Middleware and backend: Tarantool, Mosquitto, D-BUS IPC

BrandMeister does all the work of switching DMR calls and communication with repeaters or other servers as well as running specific DMR applications like ARS, RRS, LRRP, IP transport, Parrot, etc. Currently we use a centralised solution based on Python to make data distribution. It processes events received from MQTT and writes data to the master database which have to be replicated to local databases of each master server.

Hardware specifications

The recommended server specifications are:

  • 2 vCPU
  • 4GB ~ 8GB memory
  • 10GB ~ 20GB disk space
  • Static Public IPv4 address assigned to the machine directly (no nat)
  • Minimal 100mbit up and down
    • at least 2TB of traffic per month

Installation and Configuration

  1. Prepare a server: this solution requires a publicly available server based on Debian x64 version 8.x with public static IP. You can use a VM based on vmWare or KVM. Please do not use OpenVZ or VirtualBox.
  2. Configure the necessary iptables. We deploy the initial configuration of BrandMeister for you. Please do not install any package listed in previous sections.
  3. You will need some time to learn the paradigm of the system as well as how to manage and program the configuration. We will support you.

We strongly recommend that you delegate the responsibility of server deployment to our team. The server will always be under your full control, but we should have access to update and make fixes to the system.

Please send your questions and requests to our Yahoo group, our Facebook Group or directly to Rudy (PD0ZRY) or me.

73 de R3ABM

Before reading this document I ask you to accept our policy: we suggest to use not more than one server for each country. Of course, exceptions to this rule can be discussed.

BrandMeister solution contains 3 main parts: - real-time front-end BrandMeister DMR Server - middle-ware MySQL, Memcached, Mosquitto - back-end

BrandMeister does all work of switching DMR calls, comunication with repeaters, other servers and running specific DMR applications like ARS, RRS, LRRP, IP transport, Parrot, etc. It uses MySQL database in read-only mode to read user profiles and routes, Memcached is used in read-write mode to manage routes and Mosquitto is used to send network events. Currently we use centralized work-around solution based on Python for back-end. It processes events received from Mosquitto and writes data to the database. All servers have slave databases that have replica from master database placed near current back-end. We planned to develop the target back-end system named CallDirector but now we have no free time for it. We are ready for collaboration to develop it. CallDirector should use mesh-network technilogies and active-active replication schema to syncronize profile data.

At this moment you need to prepare the host. After that you need to install MySQL server, Memcaced and Apache2, PHP5, php5 memcached plug-in from debian distribution. Install mosquitto from the mosquitto repositories. Install dbus-beta plug-for PHP5 in using pecl utility. Configure iptables. Next we should configure MySQL for the slave replica (and to use UTC as time-zone for RDBMS), confiugre Mosquitto to forward topics to current back-end server. Please provide me IP of the server to allow access.

After these steps you will be able to install BrandMeister package. You need to do configuration after installation. BrandMeister will do automatic activation on the first run. I am strongly recommend you to delegate the responsibility of deployment to our team. In this case please follow next steps:

  1. Prepare a server: the solution requires a publically available server based on Debian x64 version 8.x with public static IP. You can use VM based on vmWare or KVM. Please do not use OpenVZ.
  2. Give us access to deploy initial configuration of BrandMeister. It requires to install and configure several components such as MySQL, Memcached, Mosquitto.
  3. You need some time to learn paradigm of the system, how to manage and program the configuration. We will support you.
  4. The server will be under your full control, we should have access to update and make fixes the system.

Please send your questions and requests to our Yahoo group or directly to me.

73 de R3ABM