Files
help365/platform/configure-minio.html
koziavin 00717a92fb
All checks were successful
Deploy Static Site / deploy (push) Successful in 6m6s
update
2025-05-29 16:42:45 +04:00

361 lines
45 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="en">
<head>
<title>MinIO S3</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 shows an example of how to deploy MinIO as an S3 object storage for BRIX. The article covers deploying MinIO in a single-node single-drive configuration (SNSD)...." />
<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; Prepare external databases / MinIO S3</p>
</div>
</div>
<div class="topic__title"><h1 class="p_Heading1"><span class="f_Heading1">MinIO S3</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 shows an example of how to deploy MinIO as an S3 object storage for BRIX. The article covers deploying MinIO in a single-node single-drive configuration (SNSD). SNSD deployments dont provide better reliability or availability apart from what the underlying storage volume (RAID, LVM, ZFS, etc.) implements. Learn more in the <a href="https://min.io/docs/minio/linux/operations/install-deploy-manage/deploy-minio-single-node-single-drive.html#minio-snsd" target="_blank" class="weblink">MinIO documentation</a>.</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-family: Inter;">In the example in this article, the bucket name is </span><code><b>s3elma365</b></code><span style="font-size: 13px; font-family: Inter;">, the user is</span><span style="font-size: 13px; font-family: 'Courier New',Courier,monospace; font-weight: bold;"> </span><code><b>elma365user</b></code><span style="font-size: 13px; font-family: Inter;">, and the password is </span><code><b>SecretPassword</b></code><span style="font-size: 13px; font-family: Inter;">. </span><span style="font-family: Inter;">When you set up MinIO for your company, follow your organizations security policies.</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-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-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif;"><a href="configure-minio.html#prepare-drive" class="topiclink">Prepare the drive</a>.</span></li><li value="2" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif;"><a href="configure-minio.html#install-minio" class="topiclink">Install MinIO</a></span><span style="font-size: 13px; font-family: Inter; color: #394149;">.</span></li><li value="3" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif;"><a href="configure-minio.html#install-minio-client" class="topiclink">Install MinIO Client</a></span><span style="font-size: 13px; font-family: Inter; color: #394149;">.</span></li><li value="4" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif;"><a href="configure-minio.html#create-user-and-group" class="topiclink">Create a user and a group named minio-user</a></span><span style="font-size: 13px; font-family: Inter; color: #394149;">.</span></li><li value="5" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif;"><a href="configure-minio.html#create-service-file" class="topiclink">Create the systemd service for MinIO</a></span><span style="font-size: 13px; font-family: Inter; color: #394149;">.</span></li><li value="6" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif;"><a href="configure-minio.html#create-environment-file" class="topiclink">Create an environment file for MinIO</a></span><span style="font-size: 13px; font-family: Inter; color: #394149;">.</span></li><li value="7" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif;"><a href="configure-minio.html#start-service" class="topiclink">Run the MinIO service</a></span><span style="font-size: 13px; font-family: Inter; color: #394149;">.</span></li><li value="8" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif;"><a href="configure-minio.html#set-up-connection" class="topiclink">Set up connection to MinIO</a></span><span style="font-size: 13px; font-family: Inter; color: #394149;">.</span></li><li value="9" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif;"><a href="configure-minio.html#create-bucket" class="topiclink">Create a bucket</a></span><span style="font-size: 13px; font-family: Inter; color: #394149;">.</span></li><li value="10" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; color: #394149;"><a href="configure-minio.html#cors" class="topiclink">Configure CORS</a>.</span></li><li value="11" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 15px; font-family: Calibri,Vectora,'Droid Sans','Open Sans',Frutiger,sans-serif;"><a href="configure-minio.html#connection-with-minio" class="topiclink">Connect BRIX to MinIO</a></span><span style="font-size: 13px; font-family: Inter; color: #394149;">.</span></li></ol>
<h2 class="p_Heading2"><a id="prepare-drive" class="hmanchor"></a><span class="f_Heading2">Step 1: Prepare the drive (optional)</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: 7px;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Create a directory to mount the drive:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo mkdir -p /</span><span class="f_CodeExample" style="font-weight: bold;">var</span><span class="f_CodeExample">/lib/minio/data1</span></p>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">For better performance, we recommend that you use the XFS file system. In the example, we are going to use the </span><code><b>/dev/sdb</b></code><span style="font-size: 13px; font-family: Inter; font-weight: bold; color: #394149;"> </span><span style="font-size: 13px; font-family: Inter; color: #394149;">drive.</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-size: 13px; font-family: Inter; color: #394149;">Prepare the XFS file system on the drive:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo mkfs.xfs /dev/sdb -L DISK1</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: 7px;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Add a drive mount point in the </span><code><b>/etc/fstab</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;">file:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">LABEL=DISK1 /var/lib/minio/data1 xfs defaults,noatime 0 2</span></p>
<ol style="list-style-type:upper-roman" start="4">
<li value="4" style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Make sure the prepared drive has 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 2: Install MinIO</span></h2>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Download the latest stable MinIO binary file and install it in 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 3: Install MinIO Client</span></h2>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Download 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 in 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 mс</span><br />
<span class="f_CodeExample">sudo mv mc /usr/local/bin/</span></p>
<h2 class="p_Heading2"><a id="create-user-and-group" class="hmanchor"></a><span class="f_Heading2">Step 4: Create a user and a group named minio-user</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: 7px;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Create a user and a group named </span><code><b>minio-user</b></code><span style="font-size: 13px; font-family: Inter; color: #394149;">:</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><br />
<span class="f_CodeExample">sudo chown minio-user:minio-user /</span><span class="f_CodeExample" style="font-weight: bold;">var</span><span class="f_CodeExample">/lib/minio/data1</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-size: 13px; font-family: Inter; color: #394149;">Create directories to store TLS certificates using the following command:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo mkdir -p /etc/minio/certs/CAs</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: 7px;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Set permissions for directories used in MinIO:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo chown -R minio-user:minio-user /etc/minio</span><br />
<span class="f_CodeExample">sudo chown -R minio-user:minio-user /</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-service-file" class="hmanchor"></a><span class="f_Heading2">Step 5: Create the systemd service for MinIO</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: 7px;"><span style="font-family: Inter;">Download the MinIO service official file:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;curl&nbsp;-O&nbsp;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: 7px;"><span style="font-family: Inter;">Check the content of the </span><code><b>minio.service</b></code><span style="font-family: Inter;"> file before you use it by opening it in a text editor and move it to the systemd configuration directory:</span></li></ol>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">sudo&nbsp;mv&nbsp;minio.service&nbsp;/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;">At this step, dont run </span><code><b>minio.service</b></code><span style="font-size: 13px;"> </span><span style="font-family: Inter;">yet.</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 6: Create an environment file for MinIO</span></h2>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Create an environment file in </span><code><b>/etc/default/minio</b></code><span style="font-size: 13px; font-family: Inter; color: #394149;">. The MinIO service uses this file as a source of all environment variables used by MinIO and the </span><code><b>minio.service</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;">file.</span></p>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Example of an environment file in </span><code><b>/etc/default/minio</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"># Set the hosts and volumes MinIO uses at startup</span><br />
<span class="f_CodeExample"># The command uses MinIO expansion notation {x...y} to denote a</span><br />
<span class="f_CodeExample"># sequential series.</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample"># The following example covers four MinIO hosts</span><br />
<span class="f_CodeExample"># with4 drives each at the specified hostname and drive locations.</span><br />
<span class="f_CodeExample"># The command includes the port that each MinIO server listens on</span><br />
<span class="f_CodeExample"># (default 9000)</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">MINIO_VOLUMES=&quot;/var/lib/minio/data1/minio&quot;</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample"># Set all MinIO server options</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample"># The following explicitly sets the MinIO Console listen address to</span><br />
<span class="f_CodeExample"># port 9001 on all network interfaces. The default behavior is dynamic</span><br />
<span class="f_CodeExample"># port selection.</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample">MINIO_OPTS=&quot;--certs-dir /etc/minio/certs --console-address :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"># Set the root username. This user has unrestricted permissions to</span><br />
<span class="f_CodeExample"># perform S3 and administrative API operations on any resource in the</span><br />
<span class="f_CodeExample"># deployment.</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample"># Defer to your organizations requirements for superadmin user 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"># Set the root password</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample"># Use a long, random, unique string that meets your organizations</span><br />
<span class="f_CodeExample"># requirements for 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"># Set to the URL of the load balancer for the MinIO deployment</span><br />
<span class="f_CodeExample"># This value *must* match across all MinIO servers. If you do</span><br />
<span class="f_CodeExample"># not have a load balancer, set this value to to any *one* of the</span><br />
<span class="f_CodeExample"># MinIO hosts in the deployment as a temporary measure.</span><br />
<span class="f_CodeExample">&nbsp;</span><br />
<span class="f_CodeExample"># MINIO_SERVER_URL=&quot;https://minio.example:9000&quot;</span></p>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Where:</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>MINIO_VOLUMES</b></code><span style="font-family: Inter;"> is the directory where files uploaded to S3 will be stored.</span></li></ul>
<ul style="list-style-type:disc">
<li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><code><b>MINIO_ROOT_USER</b></code><span style="font-size: 13px;"> </span><span style="font-family: Inter;">is the username of the MinIO administrator.</span></li><li style="line-height: 1.20; margin-top: 7px; margin-right: 0; margin-bottom: 7px;"><code><b>MINIO_ROOT_PASSWORD</b></code><span style="font-size: 13px;"> </span><span style="font-family: Inter;">is the password. We recommend using a password of at least 16 characters.</span></li></ul>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-family: Inter;"><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></span></p>
<div id="TOGGLE0186A1" class="dropdown-toggle-body" style="text-align: left; text-indent: 0; padding: 0 0 0 0; margin: 7px 0 16px 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:</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;">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></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;">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="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 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="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;">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-service" class="hmanchor"></a><span class="f_Heading2">Step 7: Run 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: 7px;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Run the following commands 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: 7px;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Make sure that the MinIO service is running 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 8: Set up connection to MinIO</span></h2>
<p style="line-height: 1.20; margin: 7px 0 16px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">Create an alias for MinIO:</span></p>
<p class="p_CodeExample" style="page-break-inside: avoid;"><span class="f_CodeExample">/usr/local/bin/mc alias set minio http://minio.your_domain:9000 elma365user SecretPassword</span></p>
<h2 class="p_Heading2"><a id="create-bucket" class="hmanchor"></a><span class="f_Heading2">Step 9: 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 16px 0;"><span style="font-size: 13px; font-family: Inter; color: #394149;">For BRIX to work, create a bucket named </span><code><b>s3elma365</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;">by running the following command:</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 10: 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="configure-minio.html#cors-file" class="topiclink">Using the CORS configuration file</a>.</li><li value="2" class="p_Normal"><a href="configure-minio.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="connection-with-minio" class="hmanchor"></a><span class="f_Heading2">Step 11: Connect BRIX to MinIO</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.your_domain:9000</b></code></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></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></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></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></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></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="rabbitmq.html">
<span class="bottom-nav__arrow bottom-nav__arrow--prev"></span> <span
class="bottom-nav__link">rabbitmq.html</span>
</a>
<a id="next-link" class="topic__navi_next" href="configure-system.html">
<span class="bottom-nav__link">configure-system.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>