Post

Minio , un serveur de stockage S3 opensource

Minio , un serveur de stockage S3 opensource

*Minio est une solution de stockage d’objets open source, compatible avec Amazon S3, qui permet de stocker des données non structurées telles que des photos, des vidéos, des fichiers de sauvegarde et bien plus encore. Minio est conçu pour être simple à utiliser et à déployer, tout en offrant des performances élevées et une grande fiabilité. Voici comment vous pouvez installer Minio sur un système Linux.

Minio

Binaire minio server

Deploy MinIO on Ubuntu Linux
Le site de téléchargement https://dl.min.io/server/minio/release/

Installation

1
2
3
4
5
6
# Télécharger le binaire
wget https://dl.min.io/server/minio/release/linux-amd64/minio
# Rendre le binaire exécutable
chmod +x minio
# Déplacer le binaire
sudo mv minio /usr/local/bin/

Version: minio --version

1
2
3
4
minio version RELEASE.2025-07-23T15-54-02Z (commit-id=7ced9663e6a791fef9dc6be798ff24cda9c730ac)
Runtime: go1.24.5 linux/amd64
License: GNU AGPLv3 - https://www.gnu.org/licenses/agpl-3.0.html
Copyright: 2015-2025 MinIO, Inc.

Utilisateur minio-user

En mode su

Créer un utilisateur et un groupe pour Minio

1
2
groupadd -r minio-user
useradd -M -r -g minio-user minio-user

Répertoire de stockage

Créer des répertoires pour stocker les données

Serveur cwwk, le stockage sur /mnt/usbnvme est utilisé

1
mkdir -p /mnt/usbnvme/minio

configurer les permissions

1
chown -R minio-user:minio-user /mnt/usbnvme/minio

Configuration Minio

Créer un fichier de configuration pour Minio

1
2
sudo mkdir -p /etc/minio
sudo chown minio-user:minio-user /etc/minio

Créer un fichier de configuration par défaut: sudo nano /etc/default/minio

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# Set the volume MinIO uses at startup
#
# The following specifies the drive or folder path

MINIO_VOLUMES="/mnt/drive1/minio"

# Set all MinIO server command-line options
#
# The following explicitly sets the MinIO Console listen address to
# port 9001 on all network interfaces.
# The default behavior is dynamic port selection.

MINIO_OPTS="--console-address :9001 --certs-dir /opt/minio/certs"

# Set the root username.
# This user has unrestricted permissions to perform S3 and
# administrative API operations on any resource in the deployment.
#
# Defer to your organizations requirements for superadmin user name.

MINIO_ROOT_USER=minioadmin

# Set the root password
#
# Use a long, random, unique string that meets your organizations
# requirements for passwords.

MINIO_ROOT_PASSWORD=minio-secret-key-CHANGE-ME

Service minio

Créer un service: sudo nano /etc/systemd/system/minio.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
[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=minio-user
Group=minio-user
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

# MinIO RELEASE.2023-05-04T21-44-30Z adds support for Type=notify (https://www.freedesktop.org/software/systemd/man/systemd.service.html#Type=)
# This may improve systemctl setups where other services use `After=minio.server`
# Uncomment the line to enable the functionality
# Type=notify

# 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})

Modifiez MINIO_ROOT_USER et MINIO_ROOT_PASSWORD avec vos propres identifiants.

Créer un fichier de service systemd pour Minio: sudo tee /etc/systemd/system/minio.service Ajoutez-y les lignes suivantes :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target

[Service]
User=minio-user
Group=minio-user
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server \$MINIO_OPTS \$MINIO_VOLUMES
Restart=always
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

Recharger et exécuter

1
2
sudo systemctl daemon-reload
sudo systemctl enable minio --now

Installation du client en ligne de commande

Cela peut servir en local pour administrer le s3 minio, on va installer le client Minio Admin Client :

En mode utilisateur

1
2
3
curl https://dl.min.io/client/mc/release/linux-amd64/mc --create-dirs -o $HOME/minio-binaries/mc
sudo mv minio-binaries/mc /usr/local/bin
sudo chmod +x /usr/local/bin/mc 

On crée un alias pour les commandes minio :

1
mc alias set minioyan http://localhost:9000 minioadmin  miniopass

Résultat commande

1
2
3
4
5
mc: Configuration written to `/home/yick/.mc/config.json`. Please update your access credentials.
mc: Successfully created `/home/yick/.mc/share`.
mc: Initialized share uploads `/home/yick/.mc/share/uploads.json` file.
mc: Initialized share downloads `/home/yick/.mc/share/downloads.json` file.
Added `minioyan` successfully.

Bucket

Création d’un bucket

1
mc mb minioyan/test1

Bucket created successfully minioyan/test1.

Lister les buckets :

1
mc ls minioyan

Résultat

1
[2025-08-04 14:34:36 CEST]     0B test1/

Accès à minio

Pour accéder à Minio, ouvrez votre navigateur et accédez à l’adresse http://<votre_ip>:9000 Utilisez les identifiants configurés (MINIO_ROOT_USER et MINIO_ROOT_PASSWORD) pour vous connecter.

Pour une utilisation en production, il est recommandé de sécuriser l’accès à Minio avec HTTPS.

Direct: http://192.168.0.205:9001

Plakar - MinIO integration package

Cet article est sous licence CC BY 4.0 par l'auteur.