Skip to content

Установка и настройка MinIO

MinIO - объектное хранилище для хранения файлов, совместимый с Amazon S3.

Внимание

MinIO распространяется по принципу rolling-release и не имеет LTS версии.
На момент написания статьи последняя версия MinIO 20230112020616.0.0.
Для скачивания актуального файла зайдите на сайт по ссылке ниже.

Установка

Linux

  1. Скачать нужную версию с официального сайта.

  2. Выполнить установку пакета

Для RHEL систем:

shell
dnf install minio-version.x86_64.rpm

Для Debian систем:

shell
dpkg -i minio_version_amd64.deb
  1. Создать юнит для systemd (в директории /etc/systemd/system/ необходимо создать файл minio.service) пример:
ini
[Unit]
Description=MinIO
Documentation=https://min.io/docs/minio/linux/index.html
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio

[Service]
WorkingDirectory=/usr/local

User=root
Group=root
ProtectProc=invisible

EnvironmentFile=-/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES

# Let systemd restart this service always
Restart=always

# Specifies the maximum file descriptor number that can be opened by this process
LimitNOFILE=65536

# Specifies the maximum number of threads this process can create
TasksMax=infinity

# Disable timeout logic and wait until process is stopped
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

# Built for ${project.name}-${project.version} (${project.name})
  1. Создать файл minio с переменными для юнита в директории /etc/default/ :
ini
# Директория для корзин MinIO
MINIO_VOLUMES="/mnt/data"
# Логин администратора MinIO
MINIO_ROOT_USER=minio_admin
# Пароль администратора MinIO  
MINIO_ROOT_PASSWORD=admin_password
# Порт для доступа к консоли
MINIO_OPTS="--console-address :9001"
  1. Перечитать файлы systemd:
shell
sudo systemctl daemon-reload
  1. Установить автозапуск и запустим сервис
shell
sudo systemctl enable minio
sudo systemctl start minio

Внимание

При стандартных настройках для работы MinIO необходимо открыть порт 9001

Windows

Настройка MinIO

После запуска сервиса консоль управления MinIO будет доступна по адресу http://ip_adress_server:9001.

Для аутентификации используется логин и пароль, который был прописан ранее в /etc/default/minio, после создать пользователя для ЦРМа:

img.png

ВНИМАНИЕ

Обязательно проставляем права readwrite

После создания пользователя необходимо зайти под его логином и создать корневую корзину: img.png

Для использования MinIO в ЦРМе необходимо в application.properties установить ваши параметры, например:

ini
#MinIO
#Адрес и порт сервера MinIO
technometer.sds.s3.url=http://URL_MINIO_SERVER:PORT_MINIO //[!code --]
technometer.sds.s3.url=http://192.168.1.10:9000 //[!code ++]
#Пользователь MinIO для ЦРМа
technometer.sds.s3.key.access=USER_MINIO //[!code --]
technometer.sds.s3.key.access=crm_user //[!code ++]
#Пароль пользователя MinIO для ЦРМа
technometer.sds.s3.key.secret=PASSWORD_MINIO_USER //[!code --]
technometer.sds.s3.key.secret=pasword //[!code ++]
#Корневая корзина MinIO для ЦРМа
technometer.sds.s3.mainBucketName=MAIN_BUCKET_NAME //[!code --]
technometer.sds.s3.mainBucketName=crm //[!code ++]