DEV Community

Cover image for How to Install MinIO on Ubuntu (Without Docker)
CodeFalconX
CodeFalconX

Posted on

How to Install MinIO on Ubuntu (Without Docker)

If you want to run a lightweight, self-hosted object storage server on a low-resource system — such as a single-core CPU and 1 GB RAM — MinIO is a perfect choice. This guide walks you through installing MinIO natively on Ubuntu, without using Docker.


🧩 What Is MinIO?

MinIO is an open-source, high-performance object storage system compatible with the Amazon S3 API. It’s often used for managing unstructured data such as photos, videos, logs, and backups. While many tutorials use Docker for deployment, running MinIO directly on Ubuntu is more efficient for small servers.


⚙️ System Requirements

Resource Minimum
CPU 1 Core
Memory 1 GB RAM
Disk Space 1 GB+ free
OS Ubuntu 20.04 or newer
Access sudo privileges

🪜 Step-by-Step Installation

1. Update and Prepare the System

Run the following commands to update the package index and install required tools:

sudo apt update && sudo apt upgrade -y
sudo apt install wget -y
Enter fullscreen mode Exit fullscreen mode

2. Download and Install MinIO Binary

Download the latest MinIO server binary:

wget https://dl.min.io/server/minio/release/linux-amd64/minio
Enter fullscreen mode Exit fullscreen mode

Make it executable and move it to the system path:

chmod +x minio
sudo mv minio /usr/local/bin/
Enter fullscreen mode Exit fullscreen mode

3. Create Data and Config Directories

sudo mkdir -p /usr/local/share/minio
sudo mkdir -p /etc/minio
sudo useradd -r minio-user -s /sbin/nologin
sudo chown -R minio-user:minio-user /usr/local/share/minio /etc/minio
Enter fullscreen mode Exit fullscreen mode

This ensures MinIO runs under a dedicated non-root user for better security.


4. Create a Systemd Service File

Create the MinIO service configuration:

sudo nano /etc/systemd/system/minio.service
Enter fullscreen mode Exit fullscreen mode

Paste the following content:

[Unit]
Description=MinIO Object Storage
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target

[Service]
User=minio-user
Group=minio-user
ExecStart=/usr/local/bin/minio server /usr/local/share/minio --console-address ":9001"
EnvironmentFile=-/etc/default/minio
Restart=always
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target
Enter fullscreen mode Exit fullscreen mode

5. Set MinIO Access Credentials

Create a default environment file to store your root credentials:

sudo nano /etc/default/minio
Enter fullscreen mode Exit fullscreen mode

Add the following lines:

MINIO_ROOT_USER=minioadmin
MINIO_ROOT_PASSWORD=minioadmin123
Enter fullscreen mode Exit fullscreen mode

You can change these to more secure credentials.


6. Enable and Start MinIO

Reload the systemd daemon and start the service:

sudo systemctl daemon-reload
sudo systemctl enable minio
sudo systemctl start minio
Enter fullscreen mode Exit fullscreen mode

Check the service status:

sudo systemctl status minio
Enter fullscreen mode Exit fullscreen mode


7. Access the MinIO Console

Open your web browser and navigate to:

http://<your-server-ip>:9001
Enter fullscreen mode Exit fullscreen mode

Log in using:

  • Username: minioadmin
  • Password: minioadmin123

You’ll now have access to the MinIO management console.


🧠 Tips for Low-Resource Systems

Since you’re running on only 1 GB RAM, consider these optimizations:

  • Avoid uploading large files.
  • Disable the web console if not needed:
  ExecStart=/usr/local/bin/minio server /usr/local/share/minio --console-address ":0"
Enter fullscreen mode Exit fullscreen mode
  • Use a reverse proxy (like Nginx) to limit request load.
  • Regularly clean up unused data.

🧩 Useful Commands

Stop MinIO:

sudo systemctl stop minio
Enter fullscreen mode Exit fullscreen mode

Restart MinIO:

sudo systemctl restart minio
Enter fullscreen mode Exit fullscreen mode

View logs:

sudo journalctl -u minio -f
Enter fullscreen mode Exit fullscreen mode

✅ Conclusion

You now have a fully functional MinIO server running natively on Ubuntu — lightweight, efficient, and perfect for low-spec environments. With its S3 compatibility, you can integrate it easily into applications.

Reference: https://www.min.io/

Top comments (0)