Setup MinIO on Ubuntu 20.04 LTS with Let's Encrypt SSL
https://golang.org/dl/
wget -c https://golang.org/dl/go1.17.2.linux-amd64.tar.gz
tar xvf go1.17.2.linux-amd64.tar.gz
sudo chown -R root:root ./go
sudo mv go /usr/local
sudo echo 'export PATH=$PATH:/usr/local/go/bin' >> /etc/profile
source /etc/profile
go version
rm go1.17.2.linux-amd64.tar.gz
Install MinIO on Ubuntu 20.04 LTS
cd ~
wget https://dl.min.io/server/minio/release/linux-amd64/minio
sudo useradd --system minio --shell /sbin/nologin
sudo usermod -L minio
sudo chage -E0 minio
sudo mv minio /usr/local/bin
sudo chmod +x /usr/local/bin/minio
sudo chown minio:minio /usr/local/bin/minio
sudo touch /etc/default/minio
sudo echo 'MINIO_ROOT_USER="minio"' >> /etc/default/minio
sudo echo 'MINIO_VOLUMES="/home/minio/"' >> /etc/default/minio
sudo echo 'MINIO_OPTS="-C /etc/minio --address 127.0.0.1:9000 --console-address 127.0.0.1:8000"' >> /etc/default/minio
sudo echo 'MINIO_ROOT_PASSWORD="miniostorage"' >> /etc/default/minio
sudo mkdir /home/minio
sudo mkdir /etc/minio
sudo chown minio:minio /home/minio
sudo chown minio:minio /etc/minio
cd ~
wget https://raw.githubusercontent.com/minio/minio-service/master/linux-systemd/minio.service
sed -i 's/User=minio-user/User=minio/g' minio.service
sed -i 's/Group=minio-user/Group=minio/g' minio.service
sudo mv minio.service /etc/systemd/system
sudo systemctl daemon-reload
sudo systemctl enable minio
sudo systemctl start minio
sudo systemctl status minio
cd ~
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw enable
sudo ufw allow ssh
sudo ufw allow 'Nginx Full'
sudo ufw status verbose
Nginx Proxy Setup - Console
server {
listen 80;
listen [::]:80;
server_name minio.example.com;
location / {
proxy_pass http://127.0.0.1:8000;
}
}
Nginx Proxy Setup - Server
server {
listen 80;
listen [::]:80;
server_name api.minio.example.com;
ignore_invalid_headers off;
client_max_body_size 0;
proxy_buffering off;
location / {
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header Host $http_host;
proxy_connect_timeout 300;
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
proxy_pass http://127.0.0.1:9000;
}
}
sudo apt install software-properties-common
sudo add-apt-repository universe
sudo apt update
sudo apt install certbot
sudo certbot certonly --standalone -d minio.your_domain -d api.minio.your_domain
wget https://dl.min.io/server/minio/release/linux-amd64/minio
sudo mv minio /usr/local/bin
sudo chmod +x /usr/local/bin/minio
sudo chown minio:minio /usr/local/bin/minio
If you are not running as a root, might consider these alternatives
From
Into