Setup MinIO CDN storage Ubuntu 24.04 to create high-performance object storage for your content delivery needs. MinIO provides S3-compatible storage for images, videos, and static files that works seamlessly with CDN providers like Cloudflare, BunnyCDN, or KeyCDN.
This guide covers complete MinIO installation on Ubuntu 24.04, from server preparation to bucket creation and CDN integration. MinIO serves as your origin storage while CDN providers cache and distribute content globally, reducing latency and bandwidth costs. The setup works perfectly for websites, e-commerce platforms, streaming services, and any application requiring fast, reliable content delivery.
Your server needs Ubuntu 24.04 LTS with minimum 4GB RAM, 4 CPU cores, and 100GB storage. Choose VPS with NVMe SSD for best performance. Good network bandwidth is essential since MinIO will serve content to CDN providers and handle upload operations.
Table of Contents
TogglePreparing Your Server
Update system packages and create dedicated user for MinIO.
sudo apt update && sudo apt upgrade -y
sudo useradd -r -s /sbin/nologin miniocdn
Installing MinIO
Download and install MinIO server binary.
wget https://dl.min.io/server/minio/release/linux-amd64/minio
sudo mv minio /usr/local/bin/
sudo chmod +x /usr/local/bin/minio
minio --version
Configure Storage
Create storage directory and set permissions.
sudo mkdir -p /data/miniocdn
sudo chown -R miniocdn:miniocdn /data/miniocdn
Create configuration file.
sudo nano /etc/default/miniocdn
Add this configuration.
MINIO_ROOT_USER="cdnadmin"
MINIO_ROOT_PASSWORD="SecureCDNPass"
MINIO_VOLUMES="/data/miniocdn"
MINIO_OPTS="--console-address :9001 --address :9000"
Replace credentials with your own strong password.
Create SystemD Service
Create service file.
sudo nano /etc/systemd/system/miniocdn.service
Add service configuration.
[Unit]
Description=MinIO CDN Storage Server
Documentation=https://min.io/docs/minio/linux/index.html
Wants=network-online.target
After=network-online.target
AssertFileIsExecutable=/usr/local/bin/minio
[Service]
WorkingDirectory=/usr/local/
User=miniocdn
Group=miniocdn
EnvironmentFile=/etc/default/miniocdn
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
Start MinIO service.
sudo systemctl daemon-reload
sudo systemctl enable miniocdn
sudo systemctl start miniocdn
sudo systemctl status miniocdn
Configure Firewall
Allow MinIO ports through firewall.
sudo ufw allow 22/tcp comment 'SSH'
sudo ufw allow 9000/tcp comment 'MinIO API'
sudo ufw allow 9001/tcp comment 'MinIO Console'
sudo ufw enable
sudo ufw status numbered
Install MinIO Client
Download and install MinIO Client for bucket management.
wget https://dl.min.io/client/mc/release/linux-amd64/mc
sudo mv mc /usr/local/bin/
sudo chmod +x /usr/local/bin/mc
mc --version
Configure client connection.
mc alias set mycdn http://localhost:9000 cdnadmin SecureCDNPass2024!
mc admin info mycdn
Create Buckets
Create buckets for organizing your CDN content.
mc mb mycdn/images
mc mb mycdn/static
mc ls mycdn
Set Public Access
Enable public read access for CDN content.
mc policy set download mycdn/images
mc policy set download mycdn/static
mc policy get mycdn/images
Upload Content
Upload files to MinIO storage.
mc cp /path/to/image.jpg mycdn/images/
mc cp /path/to/photos/*.jpg mycdn/images/
mc cp --recursive /path/to/website/assets/ mycdn/static/
Access your content via URLs.
http://your-server-ip:9000/images/image.jpg
http://your-server-ip:9000/static/style.css
CDN Integration
Integrate MinIO with popular CDN providers for global content delivery.
Cloudflare CDN Add MinIO server IP as custom origin in Cloudflare dashboard and configure cache rules for static content.
BunnyCDN Create pull zone with MinIO server as origin URL for automatic content distribution across their global network.
KeyCDN Set up pull zone pointing to MinIO server for edge caching across global locations.
Amazon CloudFront Configure MinIO as custom origin with S3-compatible settings for enterprise-grade CDN delivery.
Configure long cache expiration times for static content to maximize CDN efficiency and reduce origin requests. Most CDN providers support cache purging for updating content without waiting for TTL expiration.
Powered by QUAPE
Quape VPS delivers enterprise-grade NVMe storage and high-bandwidth connectivity perfect for MinIO CDN operations. Deploy in our strategically located data centers with expert support available 24/7.
Visit Quape VPS Hosting to explore VPS plans optimized for CDN storage workloads.
Your MinIO CDN storage is ready to serve content globally. Start with direct URLs or integrate with your preferred CDN provider for edge caching. As traffic grows, MinIO scales seamlessly without architectural changes.
Build your content infrastructure on Quape VPS for reliable, high-performance storage hosting.
- How to Setup MinIO for CDN Storage on Ubuntu 24.04 - October 14, 2025
- WordPress Service Finder Vulnerability CVE-2025-5947 - October 11, 2025
- Website hacked what to do ? - September 29, 2025