- 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.
106 lines
2.7 KiB
Markdown
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`
|