24.04.2025
Timeweb offers a ready-made marketplace to deploy MinIO, but by default, it runs on HTTP and without domain binding. In this guide, I’ll show you how to properly connect MinIO to your domain and configure HTTPS to ensure a secure connection. We’ll go through SSL setup, configuration changes, and all the necessary steps for full integration.
In the Timeweb control panel, add an A record:
Changes may take up to 1 hour.
Connect to your server via SSH:
ssh root@your-server-ip
Check MinIO status:
systemctl status minio
If MinIO is running, you’ll see:
● minio.service - MinIO Storage Server
Loaded: loaded (/etc/systemd/system/minio.service; enabled; vendor preset: enabled)
Active: active (running) since ...
If Certbot is not installed, install it:
sudo apt update && sudo apt install certbot
sudo certbot certonly --standalone -d storage.yourdomain.com -d www.storage.yourdomain.com
After success, certificates will be located in:
/etc/letsencrypt/live/storage.yourdomain.com/
MinIO requires certificates in the /etc/minio/certs/ folder.
Create the required folder:
mkdir -p /etc/minio/certs
Copy Let’s Encrypt certificates:
cp /etc/letsencrypt/live/storage.yourdomain.com/fullchain.pem /etc/minio/certs/public.crt
cp /etc/letsencrypt/live/storage.yourdomain.com/privkey.pem /etc/minio/certs/private.key
Set correct permissions:
chown minio-user:minio-user /etc/minio/certs/*
chmod 600 /etc/minio/certs/private.key
chmod 644 /etc/minio/certs/public.crt
Open MinIO service configuration file:
nano /etc/systemd/system/minio.service
Find the ExecStart line and replace it with the following to specify certificate paths and enable web console on port 9001:
ExecStart=/usr/local/bin/minio server --certs-dir /etc/minio/certs --console-address :9001 /home/minio/share/
Open MinIO configuration:
nano /etc/default/minio
Find and update the MINIO_SERVER_URL and MINIO_OPTS lines
MINIO_SERVER_URL=https://storage.yourdomain.com:9000
MINIO_OPTS="--certs-dir /etc/minio/certs --console-address :9001"
Save and exit.
Restart MinIO:
sudo systemctl daemon-reload
sudo systemctl restart minio
Check status:
systemctl status minio
Now MinIO runs over HTTPS and is available at https://storage.yourdomain.com.
Let’s Encrypt certificates are valid for 90 days. Add automatic renewal in cron every week:
crontab -e
Add the following line:
3 3 * * 0 certbot renew --quiet && systemctl restart minio
This will run SSL renewal every Sunday at 03:03 AM and restart MinIO.
Now MinIO is bound to your domain and works over HTTPS. We have also configured automatic SSL renewal so that MinIO always uses up-to-date certificates. 🚀
Share:
Your reliable IT partner. Only halal solutions, trust, and full technical support for your business growth.
Navigation
Working Hours
© 2026 LABORATORIYAI TEKHNOLOGIYAHOI ITTILOOTI LLC · IT Lab™