MinIO
MinIO is an open source object storage server, compatible with Amazon S3 written in go.
Note
For this guide you should be familiar with the basic concepts of
License
MinIO is licensed under Apache-2.0
Prerequisites
Download the latest MinIO binary into your bin folder and make it executable:
[isabell@stardust ~]$ wget https://dl.min.io/server/minio/release/linux-amd64/minio -O ~/bin/minio
[isabell@stardust ~]$ chmod +x ~/bin/minio
[isabell@stardust ~]$
Create a folder for your data:
[isabell@stardust ~]$ mkdir minio
[isabell@stardust ~]$
To make the application accessible from the outside, configure a web backend:
[isabell@stardust ~]$ uberspace web backend set / --http --port <port>
Set backend for / to port <port>; please make sure something is listening!
You can always check the status of your backend using "uberspace web backend list".
[isabell@stardust ~]$
Note
MinIO default port is 9000
Setup config
Run Minio once to get the master AccessKey and SecretKey:
[isabell@stardust ~]$ minio server ~/minio
[...]
AccessKey: 2MN0QSZJS104ROKHYKNC
SecretKey: rozZqplprT+PZrYb4Mr5GNxeeh+CegYiMBvrvwfD
[...]
[isabell@stardust ~]$
Note
The AccessKey and the SecretKey are generated randomly. You can also find the keys in the MinIO config. The config file is located in the folder ~/minio/.minio.sys/config/config.json
You can set your own AccessKey and SecretKey via ENVIROMENT VARIABLES:
[isabell@stardust ~]$ export MINIO_ACCESS_KEY=minio
[isabell@stardust ~]$ export MINIO_SECRET_KEY=miniostorage
[isabell@stardust ~]$
Setup Supervisord
Create the configuration ~/etc/services.d/minio.ini
:
[program:minio]
command=minio server %(ENV_HOME)s/minio
autostart=yes
autorestart=yes
After creating the configuration, tell supervisord to refresh its configuration and start the service:
[isabell@stardust ~]$ supervisorctl reread
SERVICE: available
[isabell@stardust ~]$ supervisorctl update
SERVICE: added process group
[isabell@stardust ~]$ supervisorctl status
SERVICE RUNNING pid 26020, uptime 0:03:14
[isabell@stardust ~]$
MinIO Flags
[isabell@stardust ~]$ minio server
[...]
FLAGS:
--address value bind to a specific ADDRESS:PORT, ADDRESS can be an IP or hostname (default: ":9000")
--config-dir value, -C value [DEPRECATED] path to legacy configuration directory (default: "/home/isabell/.minio")
--certs-dir value, -S value path to certs directory (default: "/home/isabell/.minio/certs")
--quiet disable startup information
--anonymous hide sensitive information from logging
--json output server logs and startup information in json format
--compat trade off performance for S3 compatibility
--help, -h show help
[...]
[isabell@stardust ~]$
Test MinIO
Open the url you set for MinIO.
On the webpage you can login with the AccessKey and SecretKey.
You can disable the webpage with the ENVIROMENT VARIABLES MINIO_BROWSER=OFF
.
Clients
The devs of MinIO provide a minio client. But you can use every S3 compatible client or library.
Updates
Just stop MinIO and replace the old binary with the newer one:
[isabell@stardust ~]$ supervisorctl stop minio
[isabell@stardust ~]$ wget https://dl.min.io/server/minio/release/linux-amd64/minio -O ~/bin/minio
[isabell@stardust ~]$ chmod +x ~/bin/minio
[isabell@stardust ~]$ supervisorctl start minio
[isabell@stardust ~]$
MinIO docs
Official MinIO Docs: https://docs.min.io
Written by: Marius Bertram <marius@brtrm.de>