update
All checks were successful
Deploy Static Site / deploy (push) Successful in 6m6s

This commit is contained in:
2025-05-29 16:42:45 +04:00
parent e217f89702
commit 00717a92fb
2681 changed files with 173810 additions and 0 deletions

386
platform/minio-cluster.html Normal file
View File

@ -0,0 +1,386 @@
<!DOCTYPE html>
<html lang="en">
<head>
<title>MinIO cluster</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="This article describes the deployment of a MinIO cluster as the S3 object storage for the&nbsp;BRIX software system." />
<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> &gt; <a href="infrastructure-preparation.html">Prepare infrastructure</a> &gt; Databases &gt; High availability infrastructure / MinIO cluster</p>
</div>
</div>
<div class="topic__title"><h1 class="p_Heading1"><span class="f_Heading1">MinIO cluster</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 style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;">This article describes the deployment of a MinIO cluster as the S3 object storage for the BRIX software system.</span></p>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;">The recommended MinIO topology for BRIX is the <a href="https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-multi-node-multi-drive.html" target="_blank" class="weblink">MultiNode MultiDrive (MNMD)</a> or Distributed configuration.</span></p>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;">MNMD MinIO deployments support <a href="https://min.io/docs/minio/linux/operations/concepts/erasure-coding.html#minio-ec-parity" target="_blank" class="weblink">erasure coding</a> configurations. They can serve read operations even when up to half the nodes or drives in the deployment are lost. We recommend you to use the MinIO <a href="https://min.io/product/erasure-code-calculator?ref=docs" target="_blank" class="weblink">Erasure Code Calculator</a> when you plan and design your MinIO deployment.</span></p>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;">The minimum MNMD configuration supporting <a href="https://min.io/docs/minio/linux/operations/concepts/erasure-coding.html#minio-ec-parity" target="_blank" class="weblink">erasure coding</a> consists of four nodes (servers) with four drives in each. The deployment has to consist of a single </span><span style="font-family: Inter; font-weight: bold;">server pool</span><span style="font-family: Inter;"> that comprises the four nodes. In MinIO, you need to:</span></p>
<ul style="list-style-type:disc">
<li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: Inter;">Use sequentially numbered hostnames.</span></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: Inter;">Use expansion notation </span><code><b>{x...y}</b></code><span style="font-family: Inter;"> to denote a sequential series of MinIO hosts when creating a server pool.</span></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: Inter;">Use expansion notation </span><code><b>{x...y}</b></code><span style="font-family: Inter;"> to denote a sequential series of drives.</span></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: Inter;">Make sure that the ordering of physical drives is constant across restarts, so that a mount point always points to the same formatted drive.</span></li></ul>
<p style="line-height: 1.20; margin: 7px 0 7px 0;"><span style="font-family: Inter;">The configuration consists of several steps:</span></p>
<ol style="list-style-type:decimal">
<li value="1" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: 'Times New Roman',Times,Georgia,serif;"><a href="minio-cluster.html#prepare-nodes" class="topiclink">Prepare the nodes (servers)</a>.</span></li><li value="2" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: 'Times New Roman',Times,Georgia,serif;"><a href="minio-cluster.html#prepare-drives" class="topiclink">Prepare the drives</a>.</span></li><li value="3" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: 'Times New Roman',Times,Georgia,serif;"><a href="minio-cluster.html#install-minio" class="topiclink">Install MinIO</a>.</span></li><li value="4" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: 'Times New Roman',Times,Georgia,serif;"><a href="minio-cluster.html#install-minio-client" class="topiclink">Install MinIO Client</a>.</span></li><li value="5" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: 'Times New Roman',Times,Georgia,serif;"><a href="minio-cluster.html#create-user-group" class="topiclink">Create a user and a group</a>.</span></li><li value="6" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: 'Times New Roman',Times,Georgia,serif;"><a href="minio-cluster.html#create-systemd-file" class="topiclink">Create the systemd service file</a>.</span></li><li value="7" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: 'Times New Roman',Times,Georgia,serif;"><a href="minio-cluster.html#create-environment-file" class="topiclink">Create the environment file for MinIO</a>.</span></li><li value="8" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: 'Times New Roman',Times,Georgia,serif;"><a href="minio-cluster.html#start-minio-service" class="topiclink">Start the MinIO service</a>.</span></li><li value="9" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: 'Times New Roman',Times,Georgia,serif;"><a href="minio-cluster.html#set-up-connection" class="topiclink">Configure connection to MinIO</a>.</span></li><li value="10" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: 'Times New Roman',Times,Georgia,serif;"><a href="minio-cluster.html#create-bucket" class="topiclink">Create a bucket</a>.</span></li><li value="11" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: 'Times New Roman',Times,Georgia,serif;"><a href="minio-cluster.html#cors" class="topiclink">Configure CORS</a>.</span></li><li value="12" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: 'Times New Roman',Times,Georgia,serif;"><a href="minio-cluster.html#configure-haproxy" class="topiclink">Configure HAProxy (in s3minio)</a>.</span></li><li value="13" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: 'Times New Roman',Times,Georgia,serif;"><a href="minio-cluster.html#connection-to-elma365" class="topiclink">Connect to BRIX</a>.</span></li></ol>
<h2 class="p_Heading2"><a id="prepare-nodes" class="hmanchor"></a><span class="f_Heading2">Step 1. Prepare the nodes (servers)</span></h2>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;">Create four nodes (servers) with sequentially numbered hostnames:</span></p>
<ul style="list-style-type:disc">
<li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; font-weight: bold;">minio1.example.com</span><span style="font-size: 13px; font-family: Inter;">.</span></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; font-weight: bold;">minio2.example.com</span><span style="font-size: 13px; font-family: Inter;">.</span></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; font-weight: bold;">minio3.example.com</span><span style="font-size: 13px; font-family: Inter;">.</span></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; font-weight: bold;">minio4.example.com</span><span style="font-size: 13px; font-family: Inter;">.</span></li></ul>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;">Create the necessary DNS hostname mappings. If this is impossible, enter the mappings in the </span><code><b>/etc/hosts</b></code><span style="font-family: Inter;"> file.</span></p>
<h2 class="p_Heading2"><a id="prepare-drives" class="hmanchor"></a><span class="f_Heading2">Step 2. Prepare the drives</span></h2>
<ol style="list-style-type:upper-roman">
<li value="1" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 16px;"><span style="font-family: Inter;">On each node, create four directories &nbsp;to mount four drives:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo mkdir</span><span class="f_CodeExample"> -p /var/lib/minio/data1</span><br />
<span class="f_CodeExample">sudo mkdir -p /var/lib/minio/data2</span><br />
<span class="f_CodeExample">sudo mkdir -p /var/lib/minio/data3</span><br />
<span class="f_CodeExample">sudo mkdir -p /var/lib/minio/</span><span class="f_CodeExample">data4</span></p>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;">For optimal performance, we recommend using the XFS file system. </span></p>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;">As MinIO does not distinguish drive types and doesnt benefit from mixed storage types, all nodes in the deployment must use the same type of drive (NVMe, SSD, or HDD) with identical capacity (for example, N TB).</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало&nbsp;внимание</span></p>
<p style="line-height: 1.20; margin: 7px 0 7px 0;"><span style="font-family: Inter;">MinIO enforces a size limit per drive that matches the smallest drive in the deployment. For example, if the deployment has 15 drives for 10 TB and one 1 TB drive, the per-drive capacity will be limited to 1 TB.</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец&nbsp;внимание</span></p>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-family: Inter;">On each node, prepare the XFS file system on the drives:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo mkfs.xfs /dev/sdb -L DISK1</span><br />
<span class="f_CodeExample">sudo mkfs.xfs /dev/sdc -L DISK2</span><br />
<span class="f_CodeExample">sudo mkfs.xfs /dev/sdd -L DISK3</span><br />
<span class="f_CodeExample">sudo mkfs.xfs /dev/sde -L DISK4</span></p>
<ol style="list-style-type:upper-roman" start="3">
<li value="3" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 16px;"><span style="font-family: Inter;">On each node, add mount points for the four drives in the </span><code><b>/etc/fstab</b></code><span style="font-size: 13px; font-family: Inter; font-weight: bold;"> </span><span style="font-size: 13px; font-family: Inter;">file:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">LABEL=DISK1 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/</span><span class="f_CodeExample" style="font-weight: bold;">var</span><span class="f_CodeExample">/lib/minio/data1 &nbsp;&nbsp;&nbsp;&nbsp;xfs &nbsp;&nbsp;&nbsp;&nbsp;defaults,noatime &nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2</span><br />
<span class="f_CodeExample">LABEL=DISK2 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/</span><span class="f_CodeExample" style="font-weight: bold;">var</span><span class="f_CodeExample">/lib/minio/data2 &nbsp;&nbsp;&nbsp;&nbsp;xfs &nbsp;&nbsp;&nbsp;&nbsp;defaults,noatime &nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2</span><br />
<span class="f_CodeExample">LABEL=DISK3 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/</span><span class="f_CodeExample" style="font-weight: bold;">var</span><span class="f_CodeExample">/lib/minio/data3 &nbsp;&nbsp;&nbsp;&nbsp;xfs &nbsp;&nbsp;&nbsp;&nbsp;defaults,noatime &nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2</span><br />
<span class="f_CodeExample">LABEL=DISK4 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;/</span><span class="f_CodeExample" style="font-weight: bold;">var</span><span class="f_CodeExample">/lib/minio/data4 &nbsp;&nbsp;&nbsp;&nbsp;xfs &nbsp;&nbsp;&nbsp;&nbsp;defaults,noatime &nbsp;0 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2</span></p>
<ol style="list-style-type:upper-roman" start="4">
<li value="4" style="line-height: 1.28; margin-top: 0; margin-right: 0; margin-bottom: 11px;"><span style="font-family: Inter;">Make sure the prepared drives have been mounted:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo mount -av</span></p>
<h2 class="p_Heading2"><a id="install-minio" class="hmanchor"></a><span class="f_Heading2">Step 3. Install MinIO</span></h2>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;">On each node, upload the latest stable MinIO binary file and install it to the system:</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">wget https://dl.min.io/server/minio/release/linux-amd64/minio</span><br />
<span class="f_CodeExample">chmod +x minio</span><br />
<span class="f_CodeExample">sudo mv minio /usr/local/bin/</span></p>
<h2 class="p_Heading2"><a id="install-minio-client" class="hmanchor"></a><span class="f_Heading2">Step 4. Install MinIO Client</span></h2>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;">On the </span><span style="font-family: Inter; font-weight: bold;">minio1.example.com</span><span style="font-family: Inter;"> node, upload the latest stable <a href="https://min.io/docs/minio/linux/reference/minio-mc.html" target="_blank" class="weblink">MinIO Client</a> binary file and install it to the system:</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">wget https://dl.min.io/client/mc/release/linux-amd64/mc</span><br />
<span class="f_CodeExample">chmod +x mc</span><br />
<span class="f_CodeExample">sudo mv mc /usr/local/bin</span><span class="f_CodeExample">/</span></p>
<h2 class="p_Heading2"><a id="create-user-group" class="hmanchor"></a><span class="f_Heading2">Step 5. Create a user and a group</span></h2>
<ol style="list-style-type:upper-roman">
<li value="1" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 16px;"><span style="font-family: Inter;">On each node, create a user and a group named </span><span style="font-weight: bold;">minio-user</span>:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo groupadd -r minio-user</span><br />
<span class="f_CodeExample">sudo useradd -M -r -g minio-user minio-user</span></p>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" class="p_Normal">On each node, create directories to store TLS certificates by running the following command:</li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;mkdir&nbsp;-p&nbsp;/etc/minio/certs/CAs</span></p>
<ol style="list-style-type:upper-roman" start="3">
<li value="3" class="p_Normal"><span style="font-family: 'Times New Roman',Times,Georgia,serif;">On each node, set permissions for directories used in MinIO:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;chown&nbsp;-R&nbsp;minio-user:minio-user&nbsp;/etc/minio</span><br />
<span class="f_CodeExample">sudo&nbsp;chown&nbsp;-R&nbsp;minio-user:minio-user&nbsp;/</span><span class="f_CodeExample" style="font-weight: bold;">var</span><span class="f_CodeExample">/lib/minio</span></p>
<h2 class="p_Heading2"><a id="create-systemd-file" class="hmanchor"></a><span class="f_Heading2">Step 6. Create the systemd service file</span></h2>
<ol style="list-style-type:upper-roman">
<li value="1" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 16px;"><span style="font-family: Inter;">On each node, upload the official MinIO service file:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo curl -O https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service</span></p>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 16px;"><span style="font-family: Inter;">Check the contents of the </span><code><b>minio.service</b></code><span style="font-family: Inter;"> file before using it. Move it to the </span><code><b>systemd</b></code><span style="font-size: 13px; font-family: Inter; font-weight: bold;"> </span><span style="font-family: Inter;">configuration directory:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo mv minio.service /etc/systemd/system</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало&nbsp;внимание</span></p>
<p style="line-height: 1.20; margin: 7px 0 7px 0;"><span style="font-family: Inter;">During this step, do not start </span><code><b>minio.service</b></code><span style="font-family: Inter;">.</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец&nbsp;внимание</span></p>
<h2 class="p_Heading2"><a id="create-environment-file" class="hmanchor"></a><span class="f_Heading2">Step 7. Create the environment file for MinIO</span></h2>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;">On each node, create an environment file at </span><code><b>/etc/default/minio</b></code><span style="font-size: 13px; font-family: Inter;">. This file will be the source of all environment variables used by MinIO and the </span><code><b>minio.service</b></code><span style="font-size: 13px; font-family: Inter; font-weight: bold;"> </span><span style="font-size: 13px; font-family: Inter;">file.</span></p>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;">Example of an environment file at </span><code><b>/etc/default/minio</b></code><span style="font-family: Inter;">:</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">#&nbsp;Set&nbsp;the&nbsp;hosts&nbsp;and&nbsp;volumes&nbsp;MinIO&nbsp;uses&nbsp;at&nbsp;startup</span><br />
<span class="f_CodeExample">#&nbsp;The&nbsp;command&nbsp;uses&nbsp;MinIO&nbsp;expansion&nbsp;notation&nbsp;{x...y}&nbsp;to&nbsp;denote&nbsp;a</span><br />
<span class="f_CodeExample">#&nbsp;sequential&nbsp;series.</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;The&nbsp;following&nbsp;example&nbsp;covers&nbsp;four&nbsp;MinIO&nbsp;hosts</span><br />
<span class="f_CodeExample">#&nbsp;with4&nbsp;drives&nbsp;each&nbsp;at&nbsp;the&nbsp;specified&nbsp;hostname&nbsp;and&nbsp;drive&nbsp;locations.</span><br />
<span class="f_CodeExample">#&nbsp;The&nbsp;command&nbsp;includes&nbsp;the&nbsp;port&nbsp;that&nbsp;each&nbsp;MinIO&nbsp;server&nbsp;listens&nbsp;on</span><br />
<span class="f_CodeExample">#&nbsp;(default&nbsp;9000)</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">MINIO_VOLUMES=&quot;http://minio-server{1...4}.your_domain:9000/var/lib/minio/data{1...4}/minio&quot;</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;Set&nbsp;all&nbsp;MinIO&nbsp;server&nbsp;options</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;The&nbsp;following&nbsp;explicitly&nbsp;sets&nbsp;the&nbsp;MinIO&nbsp;Console&nbsp;listen&nbsp;address&nbsp;to</span><br />
<span class="f_CodeExample">#&nbsp;port&nbsp;9001&nbsp;on&nbsp;all&nbsp;network&nbsp;interfaces.&nbsp;The&nbsp;default&nbsp;behavior&nbsp;is&nbsp;dynamic</span><br />
<span class="f_CodeExample">#&nbsp;port&nbsp;selection.</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">MINIO_OPTS=&quot;--certs-dir&nbsp;/etc/minio/certs&nbsp;--console-address&nbsp;:9001&quot;</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">MINIO_REGION=&quot;eu-central-1&quot;</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;Set&nbsp;the&nbsp;root&nbsp;username.&nbsp;This&nbsp;user&nbsp;has&nbsp;unrestricted&nbsp;permissions&nbsp;to</span><br />
<span class="f_CodeExample">#&nbsp;perform&nbsp;S3&nbsp;and&nbsp;administrative&nbsp;API&nbsp;operations&nbsp;on&nbsp;any&nbsp;resource&nbsp;in&nbsp;the</span><br />
<span class="f_CodeExample">#&nbsp;deployment.</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;Defer&nbsp;to&nbsp;your&nbsp;organizations&nbsp;requirements&nbsp;for&nbsp;superadmin&nbsp;user&nbsp;name.</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">MINIO_ROOT_USER=elma365user</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;Set&nbsp;the&nbsp;root&nbsp;password</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;Use&nbsp;a&nbsp;long,&nbsp;random,&nbsp;unique&nbsp;string&nbsp;that&nbsp;meets&nbsp;your&nbsp;organizations</span><br />
<span class="f_CodeExample">#&nbsp;requirements&nbsp;for&nbsp;passwords.</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">MINIO_ROOT_PASSWORD=SecretPassword</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;Set&nbsp;to&nbsp;the&nbsp;URL&nbsp;of&nbsp;the&nbsp;load&nbsp;balancer&nbsp;for&nbsp;the&nbsp;MinIO&nbsp;deployment</span><br />
<span class="f_CodeExample">#&nbsp;This&nbsp;value&nbsp;*must*&nbsp;match&nbsp;across&nbsp;all&nbsp;MinIO&nbsp;servers.&nbsp;If&nbsp;you&nbsp;do</span><br />
<span class="f_CodeExample">#&nbsp;not&nbsp;have&nbsp;a&nbsp;load&nbsp;balancer,&nbsp;set&nbsp;this&nbsp;value&nbsp;to&nbsp;to&nbsp;any&nbsp;*one*&nbsp;of&nbsp;the</span><br />
<span class="f_CodeExample">#&nbsp;MinIO&nbsp;hosts&nbsp;in&nbsp;the&nbsp;deployment&nbsp;as&nbsp;a&nbsp;temporary&nbsp;measure.</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">#&nbsp;MINIO_SERVER_URL=&quot;https://minio.example:9000&quot;</span></p>
<ul style="list-style-type:disc">
<li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 16px;"><code><b>MINIO_VOLUMES</b></code><span style="font-size: 13px; font-family: Inter; font-weight: bold;">:</span></li></ul>
<ul style="list-style-type:disc"><ul style="list-style-type:circle">
<li class="p_Normal"><code><b>minio-server{1...4}.your_domain</b></code>. Nodes united into a single pool with the<span style="font-size: 13px; font-family: 'Times New Roman',Times,Georgia,serif; color: #394149;"> </span><code><b>{x...y}</b></code> extension notation.</li><li class="p_Normal"><code><b>9000</b></code>. Connection port.</li><li class="p_Normal"><code><b>/var/lib/minio/data{1...4}/minio</b></code>. Sequential series of drives with the <code><b>{x...y}</b></code> extension notation.</li></ul></li></ul>
<ul style="list-style-type:disc">
<li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 16px;"><code><b>MINIO_ROOT_USER</b></code><span style="font-size: 13px;">.</span><span style="font-size: 13px; font-family: Inter; font-weight: bold;"> </span><span style="font-size: 13px; font-family: Inter;">The MinIO administrator username.</span></li></ul>
<ul style="list-style-type:disc">
<li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 16px;"><code><b>MINIO_ROOT_PASSWORD</b></code><span style="font-size: 13px;">.</span><span style="font-size: 13px; font-family: Inter; font-weight: bold;"> </span><span style="font-size: 13px; font-family: Inter;"> MinIO password. We recommend using at least 16 characters in it.</span></li></ul>
<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')">How to enable TSL/SSL in MinIO</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"><p style="line-height: 1.20; background: #f7f7f7; margin: 7px 0 7px 0;"><span style="font-size: 13px; color: #000000; background-color: #f7f7f7;">&nbsp;</span><br />
<span style="font-size: 13px; font-family: Inter; color: #394149;">To make TLS/SSL available in MinIO, do the following on each node:</span></p>
<ol style="list-style-type:decimal">
<li value="1" style="line-height: 1.20; background: #f7f7f7; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; color: #394149;">In the </span><code><b>/etc/default/minio</b></code><span style="font-size: 13px; font-family: Inter; color: #394149;"> environment file, change the protocol from HTTP to HTTPS in the </span><code><b>MINIO_VOLUMES</b></code><span style="font-size: 13px; font-family: Inter; color: #394149;"> parameter.</span></li><li value="2" style="line-height: 1.20; background: #f7f7f7; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Place the certificate file and the private key file into the </span><code><b>/etc/minio/certs</b></code><span style="font-size: 13px; font-family: 'Courier New',Courier,monospace; font-weight: bold; color: #394149;"> </span><span style="font-size: 13px; font-family: Inter; color: #394149;">directory.</span><br />
<span style="font-size: 13px; font-family: Inter; color: #394149;">All nodes have unique domain names. You need to issue a certificate for each node individually.</span></li><li value="3" style="line-height: 1.20; background: #f7f7f7; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Rename the server certificate file to </span><code><b>public.crt</b></code><span style="font-size: 13px; font-family: 'Courier New',Courier,monospace; color: #394149;">.</span></li><li value="4" style="line-height: 1.20; background: #f7f7f7; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Rename the private key file to </span><code><b>private.key</b></code><span style="font-size: 13px; font-family: 'Courier New',Courier,monospace; color: #394149;">.</span></li><li value="5" style="line-height: 1.20; background: #f7f7f7; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; color: #394149;">If youre using self-signed certificates, place the root CA file into </span><code><b>/etc/minio/certs/CAs</b></code><span style="font-size: 13px; font-family: 'Courier New',Courier,monospace; color: #394149;">.</span></li></ol>
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Read more about TLS/SSL in MinIO in the official <a href="https://min.io/docs/minio/linux/operations/network-encryption.html" target="_blank" class="weblink">MinIO documentation</a>.</span></p>
</td>
</tr>
</table>
</div>
<h2 class="p_Heading2"><a id="start-minio-service" class="hmanchor"></a><span class="f_Heading2">Step 8. Start the MinIO service</span></h2>
<ol style="list-style-type:upper-roman">
<li value="1" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 16px;"><span style="font-size: 13px; font-family: Inter;">Run the following commands on each node to start the MinIO service:</span></li></ol>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">sudo systemctl daemon-reload</span><br />
<span class="f_CodeExample">sudo systemctl enable minio.service</span><br />
<span class="f_CodeExample">sudo systemctl start minio.service</span></p>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 16px;"><span style="font-size: 13px; font-family: Inter;">Make sure that the MinIO service starts and works without errors:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo systemctl status minio.service</span><br />
<span class="f_CodeExample">journalctl -f -u minio.service</span></p>
<h2 class="p_Heading2"><a id="set-up-connection" class="hmanchor"></a><span class="f_Heading2">Step 9. Configure connection to MinIO</span></h2>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-size: 13px; font-family: Inter;">Create an </span><code><b>alias</b></code><span style="font-size: 13px; font-family: Inter;"> for minio on the </span><span style="font-size: 15px; font-weight: bold;">minio-server1.your_domain</span><span style="font-size: 13px; font-family: Inter; font-weight: bold;"> </span><span style="font-size: 13px; font-family: Inter;">node:</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">/usr/local/bin/mc alias set minio http://minio-server1.your_domain:9000 elma365user SecretPassword</span></p>
<h2 class="p_Heading2"><a id="create-bucket" class="hmanchor"></a><span class="f_Heading2">Step 10. Create a bucket</span></h2>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-size: 13px; font-family: Inter; font-weight: bold; color: #394149;">Important</span><span style="font-size: 13px; font-family: Inter; color: #394149;">: the bucket in S3 should have the following format: </span><code><b>s3elma365*</b></code><span style="font-size: 13px; font-family: 'Courier New',Courier,monospace; color: #394149;">.</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">начало&nbsp;примера</span></p>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Examples of bucket names</span></p>
<ul style="list-style-type:disc">
<li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><code><b>s3elma365</b></code></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><code><b>s3elma365-dev</b></code></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><code><b>s3elma365-prod</b></code></li></ul>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">конец&nbsp;примера</span></p>
<p style="line-height: 1.20; margin: 7px 0 7px 0;"><span style="font-size: 13px; font-family: Inter;">For BRIX to work, create a bucket named </span><code><b>s3elma365</b></code><span style="font-size: 13px; font-family: Inter;"> by running the following command on the </span><span style="font-size: 13px; font-family: Inter; font-weight: bold;">minio-server1.your_domain </span><span style="font-size: 13px; font-family: Inter;">node:</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">/usr/local/bin/mc mb -p minio/s3elma365 --region=eu-central-1</span></p>
<h2 class="p_Heading2"><a id="cors" class="hmanchor"></a><span class="f_Heading2">Step 11. Configure CORS </span></h2>
<p class="p_Normal"><span style="font-weight: bold;">Cross-Origin Resource Sharing (CORS)</span> is a tool to restrict access to web application resources from third-party domains. You can define a list of domains from which requests to the BRIX application are allowed, and specify the available HTTP headers and methods. </p>
<p class="p_Normal">Configure CORS in one of the following ways:</p>
<ol style="list-style-type:decimal">
<li value="1" class="p_Normal"><a href="minio-cluster.html#cors-file" class="topiclink">Using the CORS configuration file</a>.</li><li value="2" class="p_Normal"><a href="minio-cluster.html#cors-via-interface" class="topiclink">Via the web interface of a data management service</a>, e.g. Yandex Object Storage.</li></ol>
<h3 class="p_Heading3"><a id="cors-file" class="hmanchor"></a><span class="f_Heading3">Set the CORS settings in the configuration file</span></h3>
<ol style="list-style-type:upper-roman">
<li value="1" class="p_Normal">Create the <span style="font-weight: bold;">cors.xml</span> file with the CORS configuration, for example:</li></ol>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">&lt;?xml version=“1.0” encoding=“UTF-8” ?</span><br />
<span class="f_CodeExample">&lt;CORSConfiguration xmlns=“http://s3.amazonaws.com/doc/2006-03-01/”&gt;</span><br />
<span class="f_CodeExample">&lt;CORSRule&gt;</span><br />
<span class="f_CodeExample">&lt;AllowedHeader&gt;*&lt;/AllowedHeader&gt;</span><br />
<span class="f_CodeExample">&lt;AllowedMethod&gt;GET&lt;/AllowedMethod&gt;</span><br />
<span class="f_CodeExample">&lt;AllowedMethod&gt;PUT&lt;/AllowedMethod&gt;</span><br />
<span class="f_CodeExample">&lt;AllowedMethod&gt;HEAD&lt;/AllowedMethod&gt;</span><br />
<span class="f_CodeExample">&lt;AllowedMethod&gt;POST&lt;/AllowedMethod&gt;</span><br />
<span class="f_CodeExample">&lt;AllowedMethod&gt;DELETE&lt;/AllowedMethod&gt;</span><br />
<span class="f_CodeExample">&lt;AllowedOrigin&gt;https://*.brix.eu&lt;/AllowedOrigin&gt;</span><br />
<span class="f_CodeExample">&lt;MaxAgeSeconds&gt;3000&lt;/MaxAgeSeconds&gt;</span><br />
<span class="f_CodeExample">&lt;/CORSRule&gt;</span><br />
<span class="f_CodeExample">&lt;/CORSConfiguration&gt;</span></p>
<p class="p_Normal">Where: </p>
<ul style="list-style-type:disc">
<li class="p_Normal"><code><b>AllowedHeader</b></code>. The headers that are available in the requests. To allow all headers, use the <code><b>*</b></code> symbol.</li><li class="p_Normal"><code><b>AllowedMethod</b></code>. Allowed HTTP methods, e.g. <code><b>GET</b></code>, <code><b>POST</b></code>, <code><b>PUT</b></code>, <code><b>DELETE</b></code>, and <code><b>HEAD</b></code>.</li><li class="p_Normal"><code><b>AllowedOrigin</b></code>. The sources from which the web application resources can be accessed. To allow access from any domains, use the <code><b>*</b></code> symbol. To increase security, it is recommended to specify specific domains, for example <span style="font-weight: bold;">https://*.brix.eu</span>.</li><li class="p_Normal"><code><b>MaxAgeSeconds</b></code>. To reduce the number of requests and improve performance, you can store in the browser cache the permission for requests from a certain source. It is checked in the preliminary request, which is executed before the main one. Specify the time in seconds during which the permission is stored in the cache and no new preliminary requests are sent.</li></ul>
<p class="p_Normal">You can also specify the <code><b>ExposeHeader</b></code> parameter in the CORS configuration. This parameter defines the headers that are displayed in responses to requests. Do not specify this parameter in the <span style="font-weight: bold;">.xml</span> file if you do not want the headers to be displayed in the responses.</p>
<ol style="list-style-type:upper-roman" start="2">
<li value="2" class="p_Normal">Apply the CORS settings to the bucket using the command:</li></ol>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">/usr/local/bin/mc cors set minio/s3elma365 cors.xml</span></p>
<ol style="list-style-type:upper-roman" start="3">
<li value="3" class="p_Normal">Verify that the CORS settings are applied correctly by running the command:</li></ol>
<p class="p_CodeExample" style="white-space: normal; page-break-inside: avoid;"><span class="f_CodeExample">/usr/local/bin/mc cors get minio/s3elma365 --json</span></p>
<h3 class="p_Heading3"><a id="cors-via-interface" class="hmanchor"></a><span class="f_Heading3">Set the CORS configuration through a data management service</span></h3>
<p class="p_Normal">You can configure CORS through the web interface of a data management service.</p>
<p class="p_Normal">Example of configuring CORS parameters in Yandex Object Storage:</p>
<p class="p_Normal"><img alt="configure-minio-1" width="628" height="627" style="margin:0;width:628px;height:627px;border:none" src="configure-minio-1.png"/></p>
<p class="p_Normal">Read more about how to configure CORS in the <a href="https://yandex.cloud/en/docs/storage/operations/buckets/cors?utm_referrer=about%3Ablank" target="_blank" class="weblink">official Yandex Cloud documentation</a>.</p>
<h2 class="p_Heading2"><a id="configure-haproxy" class="hmanchor"></a><span class="f_Heading2">Step 12. Configure HAProxy (in s3minio)</span></h2>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-size: 13px; font-family: Inter;">In the example provided in this article, user traffic is transferred to HAProxy using </span><span style="font-size: 13px; font-weight: bold;">minio.your_domain:9000</span><span style="font-size: 13px; font-family: Inter;"> and balanced across the clusters nodes.</span></p>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-size: 13px; font-family: Inter;">Configure load balancing in the MinIO cluster using HAProxy as described in the <a href="haproxy-s3-minio.html" class="topiclink">Configure HAProxy for S3 MinIO</a> article.</span></p>
<h2 class="p_Heading2"><a id="connection-to-elma365" class="hmanchor"></a><span class="f_Heading2">Step 13. Connect to BRIX</span></h2>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;">Here are the parameters used to establish a connection with MinIO:</span></p>
<ul style="list-style-type:disc">
<li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; font-weight: bold;">address</span><span style="font-family: Inter;">: </span><code><b>minio-server.your_domain:9000</b></code><span style="font-size: 13px;">.</span></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; font-weight: bold;">bucket</span><span style="font-family: Inter;">: </span><code><b>s3elma365</b></code><span style="font-size: 13px;">.</span></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; font-weight: bold;">region</span><span style="font-family: Inter;">: </span><code><b>eu-central-1</b></code><span style="font-size: 13px;">.</span></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; font-weight: bold;">access key ID</span><span style="font-family: Inter;">: </span><code><b>elma365user</b></code><span style="font-size: 13px;">.</span></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; font-weight: bold;">secret access key</span><span style="font-family: Inter;">: </span><code><b>SecretPassword</b></code><span style="font-size: 13px;">.</span></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; font-weight: bold;">upload method</span><span style="font-family: Inter;">: </span><code><b>PUT</b></code><span style="font-size: 13px;">.</span></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; font-weight: bold;">enable SSL? </span><code><b>No</b></code>.</li></ul>
<p style="line-height: 1.28; margin: 0 0 11px 0;"><span style="font-size: 15px; font-family: Inter;">If TLS/SSL connection is used, set the </span><code><b>enable SSL?</b></code><span style="font-size: 15px; font-family: Inter;"> parameter to </span><code><b>Yes</b></code><span style="font-size: 15px; font-family: Inter;">.</span></p>
<div class="bottom-nav">
<a id="prev-link" class="topic__navi_prev" href="configure-rabbitmq.html">
<span class="bottom-nav__arrow bottom-nav__arrow--prev"></span> <span
class="bottom-nav__link">configure-rabbitmq.html</span>
</a>
<a id="next-link" class="topic__navi_next" href="discontinued-postgresql-support.html">
<span class="bottom-nav__link">discontinued-postgresql-support.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">&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');
</script>
</body>
</html>