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 , un serveur de stockage S3 opensource !
- Hébergez votre propre S3 avec MinIO
- Créer son premier stockage S3 avec Minio en mode Single-Node Single-Drive
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