Files
pos-system/infra/servers/minio.md
Ho Ngoc Hai 5c8764f63a docs(architecture): Update documentation for direct upload architecture and API endpoints
- Enhanced the architecture documentation to recommend direct upload over legacy proxy upload for improved performance and scalability.
- Added detailed comparisons of upload patterns, including throughput, memory usage, and latency.
- Updated API endpoint documentation to reflect new direct upload methods and their benefits.
- Included examples for direct upload flow and bucket directory structure to aid developers in implementation.
2026-01-13 21:17:55 +07:00

2.7 KiB

MinIO Server Installation Guide

System Information

  • OS: Ubuntu 24.04.3 LTS (Noble Numbat)
  • Architecture: x86_64
  • Public IP: 167.114.174.113

Installation Steps

1. Download Binary

Download the latest MinIO binary and install it to /usr/local/bin.

wget https://dl.min.io/server/minio/release/linux-amd64/minio
chmod +x minio
sudo mv minio /usr/local/bin/

2. User & Group

Create a dedicated system user for MinIO.

sudo useradd -r minio-user -s /sbin/nologin

3. Data Directory

Create the local storage directory and assign ownership.

sudo mkdir /data
sudo chown minio-user:minio-user /data

4. License File

Create the license file at /opt/minio/minio.license.

sudo mkdir -p /opt/minio
echo "eyJhbGciOiJFUzM4NCIsInR5cCI6IkpXVCJ9.eyJhaWQiOjAsImNhcCI6MCwiaWF0IjoxLjc2ODI0NDQ2MjMwMzI4ODQ3ZTksImlzcyI6InN1Ym5ldEBtaW4uaW8iLCJsaWQiOiJkYjQ5ZjU4Ny0yZmRkLTQ2NzEtYjI2Yy1kOTVlOTJkNDRhYTYiLCJvcmciOiIiLCJwbGFuIjoiRlJFRSIsInN1YiI6ImhvbmdvY2hhaTEwQGljbG91ZC5jb20iLCJ0cmlhbCI6ZmFsc2V9.zPT5238rxKwdQvMBuztjjtCkC1TKG0tkbNmTBwOVWRp7rIyJfmtZsIN3uu-se4WMl5Zk0A6t9C0LDgu3gXHjBVsBG9aZuonQdKCknWYlM7czyWQx3GSIr0rDq0zMkZOM" | sudo tee /opt/minio/minio.license
sudo chown -R minio-user:minio-user /opt/minio

Configuration

Environment File: /etc/default/minio

# Volume to be used for MinIO Server.
MINIO_VOLUMES="/data"

# MinIO Server options.
MINIO_OPTS="--console-address :9001"

# Root user for the server.
MINIO_ROOT_USER=minioadmin

# Root secret for the server.
MINIO_ROOT_PASSWORD=Velik@2026

# MinIO License
# MinIO License
MINIO_LICENSE="/opt/minio/minio.license"

Systemd Service: /etc/systemd/system/minio.service

[Unit]
Description=MinIO
Documentation=https://docs.min.io
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio

[Service]
WorkingDirectory=/usr/local
User=minio-user
Group=minio-user
ProtectProc=invisible
EnvironmentFile=/etc/default/minio
ExecStartPre=/bin/bash -c "if [ -z \"${MINIO_VOLUMES}\" ]; then echo \"Variable MINIO_VOLUMES not set in /etc/default/minio\"; exit 1; fi"
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=always
LimitNOFILE=65536
TasksMax=infinity
TimeoutStopSec=infinity
SendSIGKILL=no

[Install]
WantedBy=multi-user.target

Management Commands

  • Start Service: sudo systemctl start minio
  • Stop Service: sudo systemctl stop minio
  • Restart Service: sudo systemctl restart minio
  • Check Status: sudo systemctl status minio
  • View Logs: journalctl -u minio

Access Details

  • API URL: http://167.114.174.113:9000
  • Console URL: http://167.114.174.113:9001
  • Username: minioadmin
  • Password: Velik@2026