# 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`
