Guide to Setting up Standalone Minio Node on Ubuntu 20.04 using Docker-Compose
17/01/2023
Server Requirements
Minio's offical requirements are .. a lot however I've managed to run it for the past several months in production on nodes with the following hardware.
vCPU: 1+
RAM: 512MB+ # 512MB+ Swap also needed)
HDD: 10GB+ # it's S3 storage, you'll want lots lets be real
Step 1 - Install docker & docker-compose
Firstly update your system, on Debian you can use the below command.
sudo apt-get update && sudo apt upgrade
curl -fsSL https://get.docker.com -o get-docker.sh
sh get-docker.sh
sudo apt install docker-compose
Step 2 - Setup your directories & docker-compose file.
Start by creating a directory & the required subdirectories
mkdir /minio
mkdir /minio/data
cd minio
nano docker-compose.yml
version: '3.3'
services:
minio:
image: docker.io/bitnami/minio:latest
ports:
- '9000:9000'
- '9001:9001'
volumes:
- /path/to/minio-persistence:/data
environment:
MINIO_ROOT_USER: your_username_here
MINIO_ROOT_PASSWORD: your_password_here
restart: unless-stopped
volumes:
minio_data:
driver: local
/path/to/minio-persistence
MINIO_ROOT_USER:
MINIO_ROOT_PASSWORD:
Step 3 - Setting permissions for the persistent data folder
As this is using the Bitnami docker image for Minio, it will run as UID 1001 so you'll need to make sure the mounted files and directories have the proper permissions for the UID 1001. There is a few ways to do this, the easiest I've found is the simple chown one-liner.
sudo chown 1001 /path/to/minio-persistence
Step 4 - Starting the container
You should now be able to start the container, the easiest way is to ensure you're working in the minio directory then running the following command.
docker-compose up -d
docker ps
[email protected]:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
74cb45fc4bd7 bitnami/minio:latest "/opt/bitnami/script…" 27 minutes ago Up 27 minutes 0.0.0.0:9000-9001->9000-9001/tcp, :::9000-9001->9000-9001/tcp minio_minio_1
Step 5 - Signing in
Using a web browser navigate over to the IP address of your VPS/Server using port 9001 to access the WebUI.
192.168.0.1:9001
Final Notes
Congratulations on successfully installing Minio in a docker container, for easy SSL connections, you can setup a cloudflare tunnel with the below configurations using your own domain name.