372 lines
42 KiB
HTML
372 lines
42 KiB
HTML
<!DOCTYPE html>
|
||
<html lang="en">
|
||
|
||
<head>
|
||
<title>Install BRIX Enterprise</title>
|
||
<meta name="generator" content="Help+Manual" />
|
||
<meta name="keywords" content="" />
|
||
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||
<meta name="description" content="BRIX On-Premises is installed in a Kubernetes cluster. It uses PostgreSQL, MongoDB, Redis database management systems, RabbitMQ service bus, and an S3 compatible object storage..." />
|
||
<meta name="picture" content="" />
|
||
<meta property="og:type" content="website" />
|
||
<meta property="og:title" content="Full documentation for BRIX365 platform. Low-code developer guide. User guide. Admin guide. Developer guide." />
|
||
<meta property="og:url" content="https://brix365.com/en/help" />
|
||
<meta property="og:image" content="" />
|
||
<link rel="icon" href="favicon.png" type="image/png" />
|
||
|
||
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet" />
|
||
<link rel="stylesheet" href="./jquery-ui.min.css" />
|
||
<link rel="stylesheet" href="default.css" />
|
||
<link rel="stylesheet" href="./search-yandex.css" />
|
||
<link rel="stylesheet" href="./article.css" />
|
||
<link rel="stylesheet" href="./glossary.css" />
|
||
<link rel="stylesheet" href="./theme.css" />
|
||
<script type="text/javascript" src="jquery.js"></script>
|
||
<script type="text/javascript" src="helpman_settings.js"></script>
|
||
<script type="text/javascript" src="helpman_topicinit.js"></script>
|
||
|
||
<script type="text/javascript" src="highlight.js"></script>
|
||
<script type="text/javascript">
|
||
$(document).ready(function(){highlight();});
|
||
</script>
|
||
</head>
|
||
|
||
<body>
|
||
|
||
<script>!function(e,t,c,n,r,a,m){e.ym=e.ym||function(){(e.ym.a=e.ym.a||[]).push(arguments)},e.ym.l=1*new Date;for(var s=0;s<document.scripts.length;s++)if(document.scripts[s].src===n)return;a=t.createElement(c),m=t.getElementsByTagName(c)[0],a.async=1,a.src=n,m.parentNode.insertBefore(a,m)}(window,document,"script","https://mc.yandex.ru/metrika/tag.js"),ym(83179930,"init",{clickmap:!0,trackLinks:!0,accurateTrackBounce:!0,webvisor:!0})</script><noscript><div><img alt=""src=https://mc.yandex.ru/watch/83179930 style=position:absolute;left:-9999px></div></noscript>
|
||
|
||
<header class="header elma-365">
|
||
<div class="container">
|
||
<a class="header__logo" href="https://brix365.com/en/help">
|
||
<img src="./logo-en.svg" alt="header logo">
|
||
</a>
|
||
<!-- <div class="hero__search-form" id="search-panel">
|
||
<form class="search-form" onsubmit="ym(83180416,'reachGoal','poisk')">
|
||
<label class="search-form__label">
|
||
<span id="reset-search" class="search__icon"></span>
|
||
<input class="search-form__input" type="text">
|
||
</label>
|
||
<input class="search-form__submit" type="submit" value="Submit">
|
||
</form>
|
||
</div> -->
|
||
|
||
<div class="hero__search-form" id="search-panel"> <form class="search-form"> <label class="search-form__label"> <span id="reset-search" class="search__icon"></span> <input class="search-form__input" type="text"> </label> <input class="search-form__submit" type="submit" value="Submit"> </form> </div>
|
||
<div class="hero__search">
|
||
<a href="#" id="search-icon" class="hero__search-icon">
|
||
<img src="search-icon-white.svg" alt="search string">
|
||
</a>
|
||
<a href="#" id="side-menu-icon" class="hero__side-icon">
|
||
<img src="side_menu.svg" alt="side menu">
|
||
</a>
|
||
</div>
|
||
<div class="header__navi">
|
||
|
||
<ul class="header__list"><li><span class="solution-select"><span class="solution-select__selected"></span><svg width="7" height="4" viewBox="0 0 7 4" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 1L3.5 3.5L6 1" stroke="white" stroke-linecap="round" stroke-linejoin="round"/></svg><ul class="solution-select__list"><li><a class="project-link" href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a class="project-link" href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a class="project-link" href="https://brix365.com/en/help/crm/crm_overview.html">CRM</a></li><li><a class="project-link" href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a class="project-link" href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li><li><a class="project-link" href="https://brix365.com/en/help/business_solutions/-elma365-store.html">Business Solutions</a></li></ul></span></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li><li><a href="https://tssdk.brix365.com/" target="_blank">SDK</a></li></ul>
|
||
|
||
|
||
</div>
|
||
</div>
|
||
|
||
</header>
|
||
|
||
|
||
|
||
|
||
<main class="main container">
|
||
|
||
<aside class="sidebar" id="sidebar">
|
||
<div class="sidebar__header">
|
||
<a class="header__logo" href="https://brix365.com/en/help">
|
||
<img src="./logo-light-en.svg">
|
||
</a>
|
||
<span class="sidebar__close elma-365-close" id="close"></span>
|
||
</div>
|
||
<div class="sidebar__wrapper" id="side-menu">
|
||
|
||
</div>
|
||
</aside>
|
||
|
||
<article class="article" id="article">
|
||
<div class="article-inner">
|
||
<div class="content">
|
||
<header class="article__header">
|
||
<div class="article__bread" style="display:flex; gap:10px;">
|
||
<span id="subcategory" class="search-res__item-category search-res__item-category_subcategory subcategory article__badge"></span>
|
||
|
||
<div class="topic__breadcrumbs">
|
||
<p><a href="elma365-on-premises.html">BRIX On-Premises</a> > <a href="elma365-enterprise.html">BRIX On-Premises Enterprise</a> / Install BRIX Enterprise</p>
|
||
</div>
|
||
|
||
</div>
|
||
<div class="topic__title"><h1 class="p_Heading1"><span class="f_Heading1">Install BRIX Enterprise</span></h1>
|
||
</div>
|
||
|
||
</header>
|
||
<section class="article__content">
|
||
<div class="scroll-top-inner">
|
||
<a href="#h1-article" class="scroll-top"></a>
|
||
</div>
|
||
<!-- Placeholder for topic body. -->
|
||
<p class="p_Normal">BRIX On-Premises is installed in a Kubernetes cluster. It uses PostgreSQL, MongoDB, Redis database management systems, RabbitMQ service bus, and an S3 compatible object storage (MinIO). For more details, refer to the <a href="architecture.html" class="topiclink">Architecture</a> article.</p>
|
||
<p class="p_Normal">The installation consists of five steps:</p>
|
||
<ol style="list-style-type:decimal">
|
||
<li value="1" class="p_Normal"><a href="installing-elma365-enterprise.html#prepare" class="topiclink">Prepare infrastructure (optional)</a>.</li><li value="2" class="p_Normal"><a href="installing-elma365-enterprise.html#helm_chart" class="topiclink">Download the Helm chart and the configuration file</a>.</li><li value="3" class="p_Normal"><a href="installing-elma365-enterprise.html#config_file" class="topiclink">Fill out the configuration file</a>.</li><li value="4" class="p_Normal"><a href="installing-elma365-enterprise.html#install" class="topiclink">Install BRIX using helm in a Kubernetes cluster</a>.</li><li value="5" class="p_Normal"><a href="installing-elma365-enterprise.html#install_addons" class="topiclink">Install add-ons for BRIX (optional)</a>.</li></ol>
|
||
<p class="p_Normal">Before starting the installation, read the system requirements of BRIX On-Premises Enterprise.</p>
|
||
<h2 class="p_Heading2"><a id="prepare" class="hmanchor"></a><span class="f_Heading2">Step 1: Prepare infrastructure (optional)</span></h2>
|
||
<p class="p_Normal">By infrastructure we mean the necessary components for the operation of the BRIX On-Premises application.</p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало внимание</span></p>
|
||
<p class="p_Normal">The client deploys the dependent components independently. All work related to organizing a high-availability local architecture and setting up the high availability of dependent components is also done by the client.</p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец внимание</span></p>
|
||
<p class="p_Normal">Components necessary for BRIX On-Premises operation:</p>
|
||
<ul style="list-style-type:disc">
|
||
<li class="p_Normal">Kubernetes cluster.</li><li class="p_Normal">PostgreSQL.</li><li class="p_Normal">MongoDB.</li><li class="p_Normal">RabbitMQ.</li><li class="p_Normal">Redis.</li><li class="p_Normal">S3 (MinIO).</li></ul>
|
||
<p class="p_Normal">In this article, databases and the S3 storage are installed in the Kubernetes cluster as per the <a href="embedded-databases-settings.html" class="topiclink">Prepare embedded databases</a> article and use standard connection strings and passwords.</p>
|
||
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A1')">Requirements for component configuration</a></p>
|
||
<div id="TOGGLE0186A1" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.80; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
|
||
<tr>
|
||
<td style="vertical-align:top; padding:0; border:none"><h4 class="p_Heading4"><span class="f_Heading4">Kubernetes</span></h4>
|
||
<p class="p_Normal">The installed version of the Kubernetes cluster should support Kubernetes API v.2 (Kubernetes version 1.21 - 1.30) and contain the following components: ingress-nginx controller, coredns, rbac, storageclass.</p>
|
||
<p class="p_Normal">The installation is done using Helm v.3.</p>
|
||
<p class="p_Normal">Proxying from pods to the external network should be allowed.</p>
|
||
<p class="p_Normal">Read more about how to deploy a Kubernetes cluster in the <a href="kubernetes-air-gap.html" class="topiclink">Kubernetes</a> section.</p>
|
||
<h4 class="p_Heading4"><span class="f_Heading4">Data storage</span></h4>
|
||
<p class="p_Normal">You can use your existing databases and S3 storage as components for BRIX On-Premises. There is also an option to combine your components with those deployed using the <code><b>elma365-dbs</b></code> or <code><b>elma365-stack</b></code> charts. In the next installation steps, you will need to specify the connection strings to the databases and the S3 storage.</p>
|
||
<p class="p_Normal">If there's a need to deploy all or just the missing components, refer to the articles in the <a href="configure-postgresql.html" class="topiclink">Databases</a> section.</p>
|
||
<p class="p_Normal"> </p>
|
||
<h4 class="p_Heading4"><span class="f_Heading4">High availability</span></h4>
|
||
<p class="p_Normal">To ensure continuous operation of BRIX on Bare-metal servers, it is necessary to build a high-availability Kubernetes cluster and ensure the operation of the used databases and S3 storage. For more details on building a high-availability environment for BRIX, refer to <a href="infrastructure-preparation.html" class="topiclink">Prepare infrastructure</a>.</p>
|
||
<p class="p_Normal"> </p>
|
||
<h4 class="p_Heading4"><span class="f_Heading4">Offline installation (Air-gap)</span></h4>
|
||
<p class="p_Normal">You can install BRIX in a closed-loop environment without direct access to the external container image storage. For this, on a computer with internet access, you need to download the BRIX application images and import them into a local image repository. Read more in <a href="downloadin-images-elma365.html" class="topiclink">Download BRIX images</a>.</p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p class="p_Normal">You can skip this section if the component configuration requirements are met and there's no need to deploy components necessary for the operation of BRIX On-Premises.</p>
|
||
<p class="p_Normal"> </p>
|
||
<h2 class="p_Heading2"><a id="helm_chart" class="hmanchor"></a><span class="f_Heading2">Step 2: Download the Helm chart and configuration file</span></h2>
|
||
<p class="p_Normal">Obtain the configuration file <code><b>values-elma365.yaml</b></code> for installation via the internet by executing the following command:</p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm </span><span class="f_CodeExample">repo add elma365 https://charts.elma365.tech</span><br />
|
||
<span class="f_CodeExample">helm repo update</span><br />
|
||
<span class="f_CodeExample">helm show values elma365/elma365 > values-elma365.yaml</span></p>
|
||
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A2')">Obtaining the configuration file for installation in a closed loop without internet access</a></p>
|
||
<div id="TOGGLE0186A2" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.80; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
|
||
<tr>
|
||
<td style="vertical-align:top; padding:0; border:none"><ol style="list-style-type:decimal">
|
||
<li value="1" class="p_Normal">On a computer with internet access, download BRIX images and upload them to the local image registry. Read more in the <a href="downloadin-images-elma365.html" class="topiclink">Download BRIX images</a> article.</li><li value="2" class="p_Normal">Download the archive of the latest version of the BRIX On-Premises chart from the <code><b>elma365</b></code> repository by executing the following command:</li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm repo </span><span class="f_CodeExample">add elma365 https://charts.elma365.tech</span><br />
|
||
<span class="f_CodeExample">helm repo update</span><br />
|
||
<span class="f_CodeExample">helm pull elma365/elma365</span></p>
|
||
<ol style="list-style-type:decimal">
|
||
<li value="3" class="p_Normal">Copy the received chart archive <code><b>elma365-X.Y.Z.tgz</b></code> to the server where the installation will take place.</li><li value="4" class="p_Normal">Unpack the obtained chart on the server and copy the default configuration file <code><b>values.yaml</b></code> to <code><b>values-elma365.yaml</b></code>. To do this, run the following command:</li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">tar -xf elma365-X.Y.Z.tgz</span><br />
|
||
<span class="f_CodeExample">cp elma365/values.yaml values-elma365.yaml</span></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p class="p_Normal">You can also download a <span style="font-weight: bold;">.tar.gz</span> file with a specific BRIX version using the links provided in <a href="links-for-install-elma365.html#links-for-install-helm-offline" class="topiclink">Links for downloading BRIX distribution packages</a>.</p>
|
||
<h2 class="p_Heading2"><a id="config_file" class="hmanchor"></a><span class="f_Heading2">Step 3: Fill out the configuration file </span></h2>
|
||
<p class="p_Normal">For a quick start of the app, fill out the main parameters:</p>
|
||
<ul style="list-style-type:disc">
|
||
<li class="p_Normal"><code><b>global.host</b></code> — domain (FQDN) or IP address by which the system will be accessible.</li><li class="p_Normal"><code><b>bootstrapCompany.email</b></code> — administrator’s email.</li><li class="p_Normal"><code><b>bootstrapCompany.password</b></code> — administrator’s password.</li><li class="p_Normal"><code><b>db.psqlUrl</b></code> — connection string to the PostgreSQL DB.</li><li class="p_Normal"><code><b>db.mongoUrl</b></code> — connection string to the MongoDB for the app.</li><li class="p_Normal"><code><b>db.vahterMongoUrl</b></code> — connection string to the MongoDB for the authorization server.</li><li class="p_Normal"><code><b>db.redisUrl</b></code> — connection string to Redis.</li><li class="p_Normal"><code><b>db.amqpUrl</b></code> — connection string to RabbitMQ.</li><li class="p_Normal"><code><b>db.s3.method</b></code> — request method to S3.</li><li class="p_Normal"><code><b>db.s3.accesskeyid</b></code> — S3 username.</li><li class="p_Normal"><code><b>db.s3.secretaccesskey</b></code> — password for the S3 user.</li><li class="p_Normal"><code><b>db.s3.bucket</b></code> — S3 bucket.</li><li class="p_Normal"><code><b>db.s3.backend.address</b></code> — S3 address.</li><li class="p_Normal"><code><b>db.s3.backend.region</b></code> — S3 region.</li><li class="p_Normal"><code><b>db.s3.ssl.enabled</b></code> — enabling S3 SSL.</li></ul>
|
||
<p class="p_Normal">Fill in the variables in the <code><b>values-elma365.yaml</b></code> file by performing the following actions:</p>
|
||
<ol style="list-style-type:upper-roman">
|
||
<li value="1" class="p_Normal">Set the FQDN domain or IP address through which the system will be accessible in the <code><b>global.host</b></code> parameter.</li></ol>
|
||
<p class="p_Normal">In the article <a href="embedded-databases-settings.html" class="topiclink">Prepare embedded databases</a>, on step 1, you should have prepared an S3 MinIO storage, which is accessible via the FQDN domain <code><b>elma365_server.your_domain</b></code>. When using the built-in S3 storage accessible by the FQDN, BRIX should be accessible under the same domain name. To do this, in <code><b>global.host</b></code> specify <code><b>elma365_server.your_domain</b></code> and enable the <code><b>ingress</b></code> binding to the domain <code><b>elma365_server.your_domain</b></code>. To do this, set the value true for the <code><b>ingress.hostEnabled</b></code> parameter.</p>
|
||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">global:</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># domain (FQDN) or IP address where the system will be available</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">host:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">'elma365_server.your_domain'</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">ingress:</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">hostEnabled:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">true</span></p>
|
||
<ol style="list-style-type:upper-roman" start="2">
|
||
<li value="2" class="p_Normal">Complete the company creation parameters in the <code><b>bootstrapCompany</b></code> section. The company will be created during the BRIX installation.</li><li value="3" class="p_Normal">Set the administrator's email address in the <code><b>bootstrapCompany.email</b></code> parameter. This address will serve as the login for the main administrator.</li></ol>
|
||
<p class="p_Normal">The main administrator's login cannot be changed after the system installation.</p>
|
||
<ol style="list-style-type:upper-roman" start="2">
|
||
<li value="4" class="p_Normal">Indicate, according to your security policy, the password for the main administrator's login in the <code><b>bootstrapCompany.password</b></code> parameter.</li><li value="5" class="p_Normal">Set the company language in the <code><b>bootstrapCompany.locale</b></code> parameter, for example, en-US:</li></ol>
|
||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">bootstrapCompany:</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># Admin email</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">email:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">"admin@mail.com"</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># Admin password</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">password:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">"test"</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># Installed system language, possible options: "ru-RU", "en-US", "sk-SK"</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">locale:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">"en-US"</span></p>
|
||
<ol style="list-style-type:upper-roman" start="6">
|
||
<li value="6" class="p_Normal">Set the installed system language in the language.default parameter, for example, en-US:</li></ol>
|
||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">language:</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># Installed system language, possible options: "ru-RU", "en-US", "sk-SK"</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">default</span><span class="f_CodeExample">:</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">"en-US"</span></p>
|
||
<ol style="list-style-type:upper-roman" start="7">
|
||
<li value="7" class="p_Normal"> Fill in the connection strings for the PostgreSQL, MongoDB, RabbitMQ, Redis databases. To do this, you need to fill in the following parameters: <code><b> db.psqlUrl</b></code>, <code><b>db.mongoUrl</b></code>, <code><b>db.vahterMongoUrl</b></code>, <code><b>db.redisUrl</b></code>, <code><b>db.amqpUrl</b></code>.</li></ol>
|
||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">db:</span><br />
|
||
<span class="f_CodeExample"> # Connection string </span><span class="f_CodeExample" style="font-weight: bold;">for</span><span class="f_CodeExample"> Postgres DB, format:</span><br />
|
||
<span class="f_CodeExample">postgresql://user:password@hostname:5432/databaseName</span><br />
|
||
<span class="f_CodeExample"> psqlUrl: 'postgres://postgres:pgpassword@postgres.elma365-dbs.svc.cluster.local:5432/elma365?sslmode=disable'</span><br />
|
||
<span class="f_CodeExample"> # Connection string </span><span class="f_CodeExample" style="font-weight: bold;">for</span><span class="f_CodeExample"> read-only Postgres DB, format:</span><br />
|
||
<span class="f_CodeExample">postgresql://user:password@hostname:5432/databaseName</span><br />
|
||
<span class="f_CodeExample"> roPsqlUrl: ''</span><br />
|
||
<span class="f_CodeExample"> # Connection string </span><span class="f_CodeExample" style="font-weight: bold;">for</span><span class="f_CodeExample"> the MongoDB </span><span class="f_CodeExample" style="font-weight: bold;">for</span><span class="f_CodeExample"> the application, format:</span><br />
|
||
<span class="f_CodeExample">mongodb://user:password@hostname:27017/databaseName</span><br />
|
||
<span class="f_CodeExample"> mongoUrl: 'mongodb://elma365:mongopassword@mongo.elma365-dbs.svc.cluster.local:27017/elma365?ssl=false&replicaSet=rs0&readPreference=secondaryPreferred'</span><br />
|
||
<span class="f_CodeExample"> # Connection string </span><span class="f_CodeExample" style="font-weight: bold;">for</span><span class="f_CodeExample"> MongoDB </span><span class="f_CodeExample" style="font-weight: bold;">for</span><span class="f_CodeExample"> the authorization server, format:</span><br />
|
||
<span class="f_CodeExample">mongodb://user:password@hostname:27017/databaseName</span><br />
|
||
<span class="f_CodeExample"> vahterMongoUrl: 'mongodb://elma365:mongopassword@mongo.elma365-dbs.svc.cluster.local:27017/elma365?ssl=false&replicaSet=rs0&readPreference=secondaryPreferred'</span><br />
|
||
<span class="f_CodeExample"> # Connection string </span><span class="f_CodeExample" style="font-weight: bold;">for</span><span class="f_CodeExample"> Redis, format:</span><br />
|
||
<span class="f_CodeExample">redis://user:password@redis.local:6379/databaseName</span><br />
|
||
<span class="f_CodeExample"> redisUrl: 'redis://redis.elma365-dbs.svc.cluster.local:6379/0'</span><br />
|
||
<span class="f_CodeExample"> # Connection string </span><span class="f_CodeExample" style="font-weight: bold;">for</span><span class="f_CodeExample"> Rabbit, format:</span><br />
|
||
<span class="f_CodeExample">amqp://user:password@hostname:5672/vhost</span><br />
|
||
<span class="f_CodeExample"> amqpUrl: 'amqp://elma365:rmqpassword@rabbitmq.elma365-dbs.svc.cluster.local:5672/elma365'</span></p>
|
||
<ol style="list-style-type:upper-roman" start="8">
|
||
<li value="8" class="p_Normal">Fill in the parameters for connecting to the S3 file storage:</li></ol>
|
||
<ul style="list-style-type:disc">
|
||
<li class="p_Normal"><code><b>db.s3.method</b></code> — S3 request method.</li><li class="p_Normal"><code><b>db.s3.accesskeyid</b></code> — S3 username.</li><li class="p_Normal"><code><b>db.s3.secretaccesskey</b></code> — password for the S3 user.</li><li class="p_Normal"><code><b>db.s3.secretaccdb.s3.bucket</b></code> — S3 bucket.</li><li class="p_Normal"><code><b>db.s3.backend.address</b></code> — S3 address.</li><li class="p_Normal"><code><b>db.s3.backend.region</b></code> — S3 region.</li><li class="p_Normal"><code><b>db.s3.ssl.enabled</b></code> — enable S3 SSL.</li></ul>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">db:</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">s3:</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">method: PUT</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">accesskeyid: PZSF73JG72Ksd955JKU1HIA</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">secretaccesskey: aFDkj28Jbs2JKbnvJH678MNwiz88zKjsuNBHHs</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">bucket: s3elma365</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">backend:</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">address: elma365_server.your_domain</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">region: us-east-1</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">ssl:</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">enabled: "false"</span></p>
|
||
<p class="p_Normal"> </p>
|
||
<p class="p_Normal"><a class="dropdown-toggle" style="font-style: normal; font-weight: normal; color: #000000; background-color: transparent; text-decoration: none;" href="javascript:HMToggle('toggle','TOGGLE0186A3')">Filling in the connection parameters to a private registry for installation in a closed-loop without internet access</a></p>
|
||
<div id="TOGGLE0186A3" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; line-height: 1.80; padding: 0 0 0 0; margin: 0 0 0 0;"><table style="border:none; border-spacing:0;">
|
||
<tr>
|
||
<td style="vertical-align:top; padding:0; border:none"><ol style="list-style-type:decimal">
|
||
<li value="1" class="p_Normal">Set the address and path in the <code><b>global.image.repository</b></code> parameter.</li><li value="2" class="p_Normal">Indicate the name of the secret with access rights to the private registry in the <code><b>global.image.pullSecret</b></code> parameter. The private registry should be manually created and encrypted in Base64 global:</li></ol>
|
||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># Address and path for private registry</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">image:</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">repository: registry.example.com/images/elma365</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample"># Secret with access permissions for the private registry must be created manually, </span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">encoded </span><span class="f_CodeExample" style="font-weight: bold;">in </span><span class="f_CodeExample">Base64</span><span class="f_CodeExample" style="color: #ffffff;"> </span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">pullSecret:</span><br />
|
||
<span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample">- name: myRegistryKeySecretName</span></p>
|
||
<p class="p_Normal"> <br />
|
||
Where format of <code><b>repository</b></code> is:</p>
|
||
<ul style="list-style-type:disc">
|
||
<li class="p_Normal"><code><b>registry.example.com</b></code> — address.</li><li class="p_Normal"><code><b>/images/elma365</b></code> — path.</li></ul>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
</div>
|
||
<p class="p_Normal"> </p>
|
||
<p class="p_Normal">The configuration file <code><b>values-elma365.yaml</b></code> contains a large number of parameters for the BRIX On-Premises application.</p>
|
||
<h2 class="p_Heading2"><a id="install" class="hmanchor"></a><span class="f_Heading2">Step 4: Install BRIX using helm in the Kubernetes cluster</span></h2>
|
||
<ol style="list-style-type:upper-roman">
|
||
<li value="1" class="p_Normal">In the <code><b>namespace</b></code> for BRIX installation, change the value for the Deckhouse security policy to <code><b>privileged</b></code> to avoid errors when deploying services. To do this, run the command:</li></ol>
|
||
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">kubectl label namespace elma365 security.deckhouse.io/pod-policy=privileged --overwrite</span></p>
|
||
<ol style="list-style-type:upper-roman">
|
||
<li value="2" class="p_Normal">Install BRIX Enterprise using the configuration file <code><b>values-elma365.yaml</b></code>. If you need to install the application in a separate namespace, specify it in the installation command:</li></ol>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade --install elma365 elma365/elma365 \</span><br />
|
||
<span class="f_CodeExample">-f values-elma365.yaml \</span><br />
|
||
<span class="f_CodeExample">--timeout=30m --wait [-n</span><span class="f_CodeExample" style="color: #ffffff;"> </span><span class="f_CodeExample" style="font-weight: bold;">namespace</span><span class="f_CodeExample">]</span></p>
|
||
<p class="p_Normal">To install the BRIX Enterprise application in an isolated environment without internet access, run the following command:</p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">helm upgrade --install elma365 ./elma365 \</span><br />
|
||
<span class="f_CodeExample">-f values-elma365.yaml \</span><br />
|
||
<span class="f_CodeExample">--timeout=30m --wait [-n </span><span class="f_CodeExample" style="font-weight: bold;">namespace</span><span class="f_CodeExample">]</span></p>
|
||
<p class="p_Normal">The installation time for the BRIX Enterprise application takes 10-30 minutes. Wait for the update of the BRIX Enterprise application parameters.</p>
|
||
<ol style="list-style-type:upper-roman" start="3">
|
||
<li value="3" class="p_Normal">Open a browser and navigate to the BRIX Enterprise login page at <code><b> http://global.host</b></code>. The <code><b>global.host</b></code> parameter was specified in the <code><b>values-elma365.yaml</b></code> configuration file in the step of downloading the helm chart and configuration file.<br />
|
||
<br />
|
||
In the given example, the following login page address for the BRIX Enterprise application is used: <a href="http://example.com" target="_blank" class="weblink">http://example.com</a></li></ol>
|
||
<ol style="list-style-type:upper-roman" start="4">
|
||
<li value="4" class="p_Normal">Use the administrator's email address as the login and the password you used in the <code><b>values-elma365.yaml</b></code> configuration file for the parameters <code><b>bootstrapCompany.email</b></code> and <code><b>bootstrapCompany.password</b></code>.<br />
|
||
<br />
|
||
In the given example, the following are used:</li></ol>
|
||
<ul style="list-style-type:disc">
|
||
<li class="p_Normal"><span style="font-weight: bold;">Login — admin@mail.com;</span></li><li class="p_Normal"><span style="font-weight: bold;">Password — test.</span></li></ul>
|
||
<ol style="list-style-type:upper-roman" start="5">
|
||
<li value="5" class="p_Normal">Click the <span style="font-weight: bold;">Login to the system</span> button.<br />
|
||
<br />
|
||
The BRIX application window will open.</li></ol>
|
||
<ol style="list-style-type:upper-roman" start="6">
|
||
<li value="6" class="p_Normal">Activate the system. For more details, see <a href="activate_on_premise.html" class="topiclink">Activate On-Premises</a>.</li></ol>
|
||
<p class="p_Normal">The installation of the BRIX Enterprise edition application has been successfully completed.</p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало внимание</span></p>
|
||
<p class="p_Normal">Save the <code><b>values-elma365.yaml</b></code> configuration file for future updates.</p>
|
||
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец внимание</span></p>
|
||
<p class="p_Normal"> </p>
|
||
<h2 class="p_Heading2"><a id="install_addons" class="hmanchor"></a><span class="f_Heading2">Step 5: Install add-ons for the BRIX application (optional)</span></h2>
|
||
<p class="p_Normal">Under add-ons for the BRIX application, components are understood that extend the functional and infrastructure capabilities of the BRIX application, which include:</p>
|
||
<ul style="list-style-type:disc">
|
||
<li class="p_Normal">Linkerd routing system (Service Mesh).</li><li class="p_Normal">Prometheus + Grafana monitoring system.</li><li class="p_Normal">Descheduler.</li><li class="p_Normal">NodeLocal DNSCache.</li><li class="p_Normal">Kyverno.</li><li class="p_Normal">KEDA.</li><li class="p_Normal">The <span style="font-weight: bold;">Security Audit</span> module.</li></ul>
|
||
<p class="p_Normal">Add-ons are installed as needed, considering the existing infrastructure. Articles in the <a href="enable-portable-services.html" class="topiclink">Administering BRIX Enterprise</a> section will help decide whether you should to install an add-on component.</p>
|
||
|
||
<div class="bottom-nav">
|
||
|
||
<a id="prev-link" class="topic__navi_prev" href="elma365-enterprise.html">
|
||
<span class="bottom-nav__arrow bottom-nav__arrow--prev"></span> <span
|
||
class="bottom-nav__link">elma365-enterprise.html</span>
|
||
</a>
|
||
|
||
|
||
<a id="next-link" class="topic__navi_next" href="change-settings-enterprise.html">
|
||
<span class="bottom-nav__link">change-settings-enterprise.html</span> <span
|
||
class="bottom-nav__arrow bottom-nav__arrow--next"></span>
|
||
</a>
|
||
|
||
</div>
|
||
<!-- добавляет на страницу строку блок Была ли статья полезной? -->
|
||
<div class="feedback" id="feedback"><div class="feedback-help"><span><b>Was this helpful?</b></span><form action="" method="POST" class="feedback-form" id="feedback-form"><div class="feedback__popup feedback__popup-response" id="feedback__popup_thx" style="display: none;">Thanks for your feedback!</div><div class="feedback__popup" id="feedback__popup_why" style="display: none;"><div class="feedback__popup-header">Please specify why:</div><input type="radio" name="category" id="bad_recommendation" value="bad_recommendation"><label for="bad_recommendation">Recommendations did not help me</label><input type="radio" name="category" id="difficult_text" value="difficult_text"><label for="difficult_text">Article is hard to understand</label><input type="radio" name="category" id="no_answer" value="no_answer"><label for="no_answer">Didn`t answer my question</label><input type="radio" name="category" id="bad_header" value="bad_header"><label for="bad_header">Content does not match the topic</label><input type="radio" name="category" id="other_reason" value="other_reason"><label for="other_reason">Other</label></div><div class="feedback__popup" id="feedback__popup-other" style="display: none;"><div class="feedback__popup-header">How we can improve it?</div><textarea class="feedback__textarea" name="other" id=""></textarea><input type="submit" class="feedback__other-btn" value="Submit"></div><div class="feedback-form__btn-group"><input type="radio" name="useful" id="feedback__useful_yes" value="true"><label for="feedback__useful_yes"><img src="like.svg" class="small-img" alt="like"><spanclass="feedback-form__btn-group_yes-btn">Yes</spanclass="feedback-form__btn-group_yes-btn"></label><input type="radio" name="useful" id="feedback__useful_no" value="false"><label for="feedback__useful_no"><img src="dislike.svg" class="small-img" alt="dislike"><spanclass="feedback-form__btn-group_no-btn">No</spanclass="feedback-form__btn-group_no-btn"></label></div><select name="category"><option disabled="">Please specify why</option><option value="bad_recommendation" selected="">Recommendations did not help me</option><option value="difficult_text">Article is hard to understand</option><option value="no_answer">Didn`t answer my question</option><option value="bad_header">Content does not match the topic</option><option value="other_reason">Other</option></select><input type="submit"></form></div><div class="found_typo"><p style="margin: 0px; margin-top: 16px !important;"><span><b>Found a typo?</b></span> Select it and press <i>Ctrl+Enter</i> to send us feedback</p></div></div>
|
||
|
||
</section>
|
||
</div>
|
||
<aside class="article__sidebar" style="display:none">
|
||
<input type="checkbox" />
|
||
<div class="article__arrow"></div>
|
||
<div class="table-of-contents elma365-right" id="toc2Content">
|
||
<h3 class="h3-toc">In this topic</h3>
|
||
<nav id="toc2"></nav>
|
||
</div>
|
||
</aside>
|
||
</div>
|
||
</article>
|
||
</main>
|
||
<footer class="footer">
|
||
<div class="footer-container">
|
||
<div class="footer-mobile">
|
||
|
||
<ul class="footer-mobile__list"><li><a href="https://brix365.com/en/" target="_blank">BRIX</a></li><li><a href="https://tssdk.brix365.com/en/latest/" target="_blank">SDK</a></li><li><a href="https://api.brix365.com/en/" target="_blank">API</a></li></ul><ul class="footer-mobile__list"><li><a href="https://brix365.com/en/help/platform/get-trial.html">Platform</a></li><li><a href="https://brix365.com/en/help/ecm/ecm-functions.html">ECM</a></li><li><a href="https://brix365.com/en/help/service/service-functions.html">Service</a></li><li><a href="https://brix365.com/en/help/projects/projects-functions.html">Projects</a></li></ul>
|
||
|
||
|
||
</div>
|
||
<div class="footer-wrap">
|
||
|
||
<div><span class="mobile-question-popup">Send feedback</span><form method="POST" action class="question__popup question-xs" id="question__popup"><div class="question-wrap"><span class="close"></span><span class="title">Ask a question</span><label for="help_question" style="display: none;"></label><textarea name="help_question" id="help_question"></textarea><input type="submit" value="Send"></div></form><div class="hidden fade-in question-success-xs">Sent</div></div>
|
||
|
||
<div class="footer-flex-b">
|
||
<span class="footer-copy">© 2025 BRIX</span>
|
||
<ul class="footer-list">
|
||
|
||
<li class="footer-item">
|
||
<a href="#" class="arrow-top" style="display: block;"></a>
|
||
</li>
|
||
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
|
||
</footer>
|
||
<iframe name="hmnavigation" style="display:none!important"></iframe>
|
||
<script src="./jquery-ui.js"></script>
|
||
<!--script src="//cdn.jsdelivr.net/npm/featherlight@1.7.14/release/featherlight.min.js" type="text/javascript" charset="utf-8"></script-->
|
||
<script src="./jquery.tocify.min.js"></script>
|
||
<script src="./TypoReporter.min.js"></script>
|
||
<script src="./google-search.js"></script>
|
||
<script src="./main.js"></script>
|
||
<script type="text/javascript">
|
||
HMInitToggle('TOGGLE0186A1','hm.type','dropdown','hm.state','0');
|
||
HMInitToggle('TOGGLE0186A2','hm.type','dropdown','hm.state','0');
|
||
HMInitToggle('TOGGLE0186A3','hm.type','dropdown','hm.state','0');
|
||
</script>
|
||
</body>
|
||
|
||
</html>
|