Guide to Setting up Standalone Minio Node on Ubuntu 20.04 using Docker-Compose
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
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
[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.
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.