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

106 lines
2.7 KiB
Markdown

# 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`.
```bash
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.
```bash
sudo useradd -r minio-user -s /sbin/nologin
```
### 3. Data Directory
Create the local storage directory and assign ownership.
```bash
sudo mkdir /data
sudo chown minio-user:minio-user /data
```
### 4. License File
Create the license file at `/opt/minio/minio.license`.
```bash
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`
```bash
# 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`
```ini
[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`