HOW TO INSTALL MINIO ON ROCKY LINUX 8
Prerequisites
- An Rocky Linux system.
- A user with root or sudo privileges. This user will be used for installing new packages and make changes system-wide.
Downloading MinIO on Rocky Linux
Use the following command to download a standalone MinIO server on Linux hosts running 64-bit Intel/AMD architectures. Replace /data
with the path to the drive or directory in which you want MinIO to store data.
dnf -y install wget
wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
mkdir /data
mv minio /usr/local/bin
Create default configuration
- This file serves as input to MinIO systemd service. Use this file to add
MINIO_VOLUMES
with the correct paths,MINIO_OPTS
to add MinIO server options likecerts-dir
,address
. MinIO credentials can beMINIO_ROOT_USER
andMINIO_ROOT_PASSWORD
in this file as well. - Run the command bellow to create the file with minio parameters.
cat <<EOT >> /etc/default/minio
# Volume to be used for MinIO server.
MINIO_VOLUMES="/data"
# Use if you want to run MinIO on a custom port.
MINIO_OPTS="--address :9199"
# Root user for the server.
MINIO_ROOT_USER=spf-user
# Root secret for the server.
MINIO_ROOT_PASSWORD=spf-Password
# setting access key to access the interface web
MINIO_ACCESS_KEY="minio"
# setting secret key. Avoid using the value default from this tutorial.
MINIO_SECRET_KEY="miniostorage"
EOT
Creating minio user to run the systemd
- creating the user with no shell login and change binary and data directory ownership
useradd -r minio-user -s /sbin/nologin
chown minio-user:minio-user /usr/local/bin/minio
chown minio-user:minio-user /data
Systemd service MinIO on Rocky Linux
- Systemd script is configured to run the binary from /usr/local/bin
- Create minio.service in /etc/systemd/system/
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local/
User=minio-user
Group=minio-user
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
# 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})
Enable startup on boot
systemctl daemon-reload
systemctl enable minio
Starting minio
systemctl start minio
Reference link
https://github.com/minio/minio