Specfile for MinIO Object Storage Service
MinIO is a open source, S3 compatible, enterprise hardened and high performance distributed object storage system.
This repository contains the specfiles that you can use to build MinIO server and client from the sources.
sudo dnf install -y rpm-build golang git
Note that git 2.x is required (tested with version 2.25.1 on Fedora 31 and with git provided by the WANDisco’s CentOS repository on CentOS7, see stackoverflow).
mkdir -p ~/rpmbuild/{SPECS,SOURCES}
for f in minio.conf minio.service; do
curl -# https://raw.githubusercontent.com/madrisan/specfile-minio/master/$f \
-o ~/rpmbuild/SOURCES/$f
done
curl -# https://raw.githubusercontent.com/madrisan/specfile-minio/master/minio.spec \
-o ~/rpmbuild/SPECS/minio.spec
curl -# -L https://github.com/minio/minio/archive/RELEASE.2020-03-14T02-21-58Z.tar.gz \
-o ~/rpmbuild/SOURCES/RELEASE.2020-03-14T02-21-58Z.tar.gz
rpmbuild -ba ~/rpmbuild/SPECS/minio.spec
mkdir -p ~/rpmbuild/{SPECS,SOURCES}
curl -# https://raw.githubusercontent.com/madrisan/specfile-minio/master/mc.spec \
-o ~/rpmbuild/SPECS/minio-mc.spec
curl -# -L https://github.com/minio/minio/archive/RELEASE.2020-03-14T01-23-37Z.tar.gz \
-o ~/rpmbuild/SOURCES/RELEASE.2020-03-14T01-23-37Z.tar.gz
rpmbuild -ba ~/rpmbuild/SPECS/minio-mc.spec
Note that the binary has been renamed from mc
to minio-mc
to avoid a conflict name with the Midnight Commander binary.
The resulting .rpm packages can be installed with rpm
of dnf
.
Before starting the systemd service minio.service
you need to customize the configuration file /etc/sysconfig/minio
.
The volumes managed by MinIO must be configured in the variable MINIO_VOLUMES
.
You can optionally pass some extra options at service startup by modifying the variable MINIO_OPTIONS
.
To improve the security you should also create the file /etc/systemd/system/minio.service.d/environment.conf
owned by root, with a file mode 0640
, declaring the following two secrets:
[Service]
Environment=MINIO_ACCESS_KEY=ADD_A_KEY_HERE
Environment=MINIO_SECRET_KEY=ADD_A_SECRET_HERE
Here’s a simple way to generate a random character sequence:
cat /dev/urandom | tr -dc '0-9a-zA-Z-._' | head -c 24; echo
See the official documentation pages: