MinIO - Configurando um servidor S3

MinIO - Configurando um servidor S3

MinIO é um projeto open-source que chamou minha atenção quando precisei migrar meu Seafile para outro servidor e vi que havia suporte para S3 object-storage.

Pesquisando um pouco mais sobre o projeto, vi que MinIO foi um dos pioneiros no armazenamento de objetos de alto desempenho, possuindo versões para raspberryPI (arm32 e 64bit), mac, windows e linux.

Este tutorial é um guia para instalação do MinIO com docker, estarei utilizando um rockpi4b de 4GB de ram com um nvme de 500GB.

O que é MinIO?

MinIO é um servidor object-storage que você poderá utilizar para armazenar diversos tipos de arquivos. Seja como backend de suas aplicações, suas fotos e vídeos pessoais ou até mesmo como backup para seu blog. O site MinIO possui uma interface intuitiva como também uma página para teste no site http://play.minio.io:9000 .

Instalação com Docker

Para configurar seu próprio servidor S3 object-storage com docker utilize o comando abaixo:

docker run -d --name minio
-v /mnt/ssd:/data
-p 9000:9000
minio/minio server /data

Veja que o comando acima, monta o diretório /mnt/ssd  como volume para o diretório /data  que é iniciado com o container. Faça a alteração necessária conforme seu ambiente.

Quando o container é iniciado a key e a secret são geradas automaticamente, elas são usadas para autenticar na interface web. Os códigos podem ser encontrados no log do container com o comando: docker logs minio

Created minio configuration file at /root/.minio
Endpoint: http://172.17.0.2:9000 http://127.0.0.1:9000
AccessKey: accessCode
SecretKey: secretCode
Region: us-east-1
SQS ARNs: <none>
Browser Access:
http://172.17.0.2:9000 http://127.0.0.1:9000
Command-line Access: https://docs.minio.io/docs/minio-client-quickstart-guide
$ mc config host add myminio http://172.17.0.2:9000 accessCode secretCode
Object API (Amazon S3 compatible):
Go: https://docs.minio.io/docs/golang-client-quickstart-guide
Java: https://docs.minio.io/docs/java-client-quickstart-guide
Python: https://docs.minio.io/docs/python-client-quickstart-guide
JavaScript: https://docs.minio.io/docs/javascript-client-quickstart-guide
Drive Capacity: 55 GiB Free, 63 GiB Total

Client MinIO

Você pode utilizar o MinIO de diversas maneiras, seja com o cliente mc pela interface web ou com outras aplicações que tenham suporte a S3 como backend, como restic e duplicati para backups.

Neste tutorial vamos utilizar o client mc ara subir arquivos para nosso servidor S3.

Utilize o comando abaixo para instalação do client no linux:

wget https://dl.min.io/client/mc/release/linux-amd64/mc -O /usr/local/bin/mc
chmod +x /usr/local/bin/mc
mc --help

Com o cliente instalado, podemos configurar o minio client com o nosso servidor:

mc config host add minio http://127.0.0.1:9000 [Access_key] [Secret_key]

Agora que o servidor e cliente estão configurados segue alguns outros comandos para utilização:

  • Criar novo bucket
mc mb<server-Name>/<bucket-Name>
  • Listar arquivos
mc ls <server-name>
  • Copiar arquivo para bucket
mc cp myobject.txt <server-Name>/<bucket-Name>

Outros comandos podem ser encontrados em:

MinIO | MinIO Client Quickstart Guide
This document explains how to use the MinIO Client as a modern alternative to UNIX commands like ls, cat, cp, mirror, diff, find etc. For filesystems + Amazon S3 compatible services

Conclusão

Neste artigo, foi mostrado como instalar MinIO server utilizando docker. Além de como fazer upload de arquivos com o client mc utilizando comandos no terminal.

Espero que este artigo tenha sido útil, qualquer dúvida deixe nos comentários.

- Advertisement -
Você se inscreveu com sucesso em InfraOps
Ótimo! Em seguida, conclua a compra para obter acesso total a todo o conteúdo premium.
Bem vindo de volta! Você fez login com sucesso.
Não foi possível conectar você. Tente novamente.
Sucesso! Sua conta está totalmente ativada, agora você tem acesso a todo o conteúdo.
Sucesso! Suas informações de faturamento estão atualizadas.
Falha na atualização das informações de faturamento.