Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

iTechGuides is reader-supported. When you buy through links on our site, we may earn an affiliate commission. As an Amazon Associate I earn from qualifying purchases. Learn more

To self-host MinIO, rent a Linux VPS with persistent writable storage, install the official MinIO package or binary, run it as a dedicated system account, and expose its API and Console through TLS. A single-drive VPS is suitable for evaluation and low-reliability workloads; drive redundancy requires a single host with multiple drives (SNMD), while protection from host failure requires a distributed multi-node, multi-drive deployment.

This guide covers storage design, installation, systemd, firewalling, HTTPS, health checks with the MinIO Client (mc), access control, backups, and the failure modes that matter on a VPS.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

What you are building

MinIO is the object-storage server software. The VPS supplies the CPU, memory, network connection, operating system, and persistent disks. Applications upload and retrieve objects through an S3-compatible API; administrators can use the web Console or the mc command-line client.

A VPS deployment has two independent failure concerns: the storage device and the host running it. A larger disk does not make a single host highly available, and a second disk does not replace an off-site backup. Choose the topology before installing so the directory layout and storage attachments match the design.

#1 Best Overall
Sale
Compressed Air Duster,130000RPM Super Power Cordless Air Duster,Rechargeable Brushless Blower,3 Gear Adjustable Blower with LED Light,Dust Remover for Computer/House/Outdoor/Car
  • Powerful Turbo Fan:CAGIWIRU Electric Air Duster have reached speed up to 130000RPM,Can efficient remove dust and debris.With LED light and Three Adjustable Speed to meet with different cleaning tasks.
  • With Attached USB C Fasting Charging cable.Charing 3 hours,Enjoy up to 240 minutes of use on the lowest setting, For third speed can use for 25mins.with four charging options to meet with your needs.
  • Wide Application: attached 5 different nozzles,making it suitable for a variety of scenes, such as car,pet, pc, keyboards, and other electronic devices. It also serves for office and home clean duster.
  • Handy Design & Portable:Cordless air duster electric nozzle is Light weight and small size, design and comfortable to hold and space saving, convenient to carry around. You can put it in your room or inside the car without taking up space.
  • Economical &Reusable: Built durable materials with a long-lasting battery,our CAGIWIRU air duster it's a sustainable alternative to disposable air cans.

Choose a topology before provisioning

Topology Storage devices Drive-level tolerance Host-level protection Best fit
Single-Node Single-Drive (SNSD, also called “Standalone”) One drive on one host None None; the VPS is one failure domain Evaluation, development, caches, and data that can be restored elsewhere
Single-Node Multi-Drive (SNMD) Multiple drives on one host The documented topology summary allows loss of up to one half of the drives, subject to the supported layout None; loss of the VPS host or its attached storage service still stops the deployment A single-host workload that needs drive-level resilience
Distributed multi-node, multi-drive Multiple drives across multiple hosts Erasure coding and the selected layout provide drive and node resilience Designed for host failure, higher availability, and larger production installations Production systems where downtime or host loss is unacceptable

SNSD is the least complex option and has no drive redundancy. SNMD improves tolerance of individual drive failures but remains a single-host design. A VPS-based SNSD or SNMD installation should therefore be described as a single-host service, not as a complete high-availability cluster. If the application needs host-level redundancy, plan a distributed deployment rather than adding complexity to one VPS.

Plan the VPS and storage

Minimum planning checklist

  • Choose a supported Linux distribution and keep it patched.
  • Assign a DNS name such as storage.example.com; clients should use a stable name rather than an IP address.
  • Attach persistent writable block storage. Keep the MinIO data volume separate from the operating-system volume when the provider allows it, so an OS replacement does not erase objects.
  • Confirm how the provider handles snapshots, disk detachment, throughput limits, IOPS, encryption, and regional failure. Storage performance and backup behavior vary by provider and volume class.
  • Reserve enough space for objects, multipart uploads, temporary files, and filesystem overhead. Set an alert threshold before the volume is full.
  • Decide whether clients need only the S3 API, the administrative Console, or both. Expose the smallest surface possible.

Filesystem and mount considerations

Format and mount the data volume using a filesystem supported by your Linux distribution and MinIO version. Give the mount a persistent entry in /etc/fstab (prefer a UUID), then verify the mount after a reboot. A service that starts while the data disk is absent can write to the empty mount point on the OS disk, so make the mount a prerequisite for the service or add a systemd dependency that fails safely when the volume is unavailable.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use a dedicated mount such as /srv/minio-data. Do not place object data in a temporary directory, a container layer, or the root filesystem when the VPS provider can remove or replace that storage.

Install MinIO on Linux

Use the official package when available

MinIO publishes DEB and RPM packages as well as a standalone binary. The official DEB and RPM packages install a systemd service file. After downloading the package that matches your architecture and distribution, install it with the native package tool:

sudo dpkg -i ./minio_amd64.deb
sudo rpm -Uvh ./minio.rpm

Package filenames change with releases and CPU architecture; use the file you downloaded from MinIO’s official distribution channel rather than copying an old filename into an automation script.

Binary installation

A binary installation gives you the same server process but requires you to create the systemd unit yourself. Place the executable at a root-owned path such as /usr/local/bin/minio, make it executable, and verify that the command runs:

What’s actually slowing this PC down?

Pick the symptom - the matching free tool is one click away.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
EVEO® Screen Cleaner Spray Kit (Streak-Free) TV Screen Cleaner for Smart TV, Lcd, LEd, Oled | Computer Screen Cleaner Spray and Wipe Microfiber Cloth - TV, Monitor, Laptop, iPad, Car - 6.7oz 1 Pack
  • Screen Cleaner is Your Screen’s New Bestfriend! - EVEO is proud to present a screen cleaner that’s perfectly suited for your TV. Meet your new screen cleaner, computer screen cleaner, laptop cleaner, iPad cleaner, Macbook,tv cleaner or any other electronic device. Our screen cleaner spray and wipe along with the included plush microfiber cloth, easily removes dust, fingerprints & other smudges on the screen’s surface. Clean effectively for a streak-free screen
  • Gentle on your Screens - Our screen cleaner spray and wipes is compatible to be used even for the most sensitive LCD, LED, CRT, and OLED screens in proper use. Be at ease knowing that this product is compatible with all the major brands: LG, SONY, Samsung, Sharp, iPad, iPhone, Android screens, Kindle, PC monitors - we’ve got you covered! Can be used as LCD screen cleaner, tv cleaner, smart tv screen cleaner, and more
  • Premium Super Soft Plush Microfiber Cloth - Included in this efficient screen cleaning kit. This screen cleaner spray and wipe has our signature plush microfiber cloth specially designed to comply with screens and monitors and leave them streak-free. Has been shown to effectively absorbs stubborn stains, zero streaks, and no fiber shedding. Always use this together with our screen cleaner for the best results
  • Easy-to-Use Screen Cleaner Kit + microfiber cleaning cloth - The EVEO Screen Cleaning Kit will easily be your new favorite tool when it comes to taking care of the things you love most, quick and easy solution for a streak-free screen. Simply screw on the sprayer gun on the screen cleaner bottle. Spray the cleaning liquid onto the microfiber cloth, then wipe the screen until desired cleanliness & shine is achieved.
  • Quality Screen Care Kit Worth Purchasing - Enjoy a convenient Screen Cleaner anytime, anywhere you need it. Your satisfaction is our top priority. We stand behind the quality of our products and that’s why, you shouldn’t be worrying at all. We manufacture the Best Screen Cleaner. and can be used for laptop cleaning kit, laptop screen cleaner, tv screen cleaner for smart tv. MacBook screen cleaner, monitor cleaner or screen cleaner spray for electronic devices with microfiber cleaning cloth
sudo install -o root -g root -m 0755 ./minio /usr/local/bin/minio
/usr/local/bin/minio --version

Do not run the server as root. Create the service account and data directory first:

sudo useradd --system --home-dir /var/lib/minio --create-home --shell /usr/sbin/nologin minio-user
sudo mkdir -p /srv/minio-data /etc/minio
sudo chown -R minio-user:minio-user /srv/minio-data /var/lib/minio

Define storage and credentials in the environment file

Package installs commonly read /etc/default/minio. A manually created unit can read the same file, which keeps configuration out of the unit itself. Restrict the file because it contains the root credentials used to bootstrap MinIO:

sudo sh -c 'cat > /etc/default/minio' <<'EOF'
MINIO_VOLUMES="/srv/minio-data"
MINIO_ROOT_USER="CHANGE_THIS_TO_A_UNIQUE_ADMIN_NAME"
MINIO_ROOT_PASSWORD="CHANGE_THIS_TO_A_LONG_RANDOM_SECRET"
MINIO_OPTS="--console-address :9001"
EOF
sudo chown root:root /etc/default/minio
sudo chmod 600 /etc/default/minio

MINIO_VOLUMES must point to the mounted persistent path (or paths, for a multi-drive layout). The root user and password are bootstrap credentials, not values to publish in a tutorial, shell history, ticket, or source repository. Generate a long random password with a password manager or a local cryptographic generator, then insert it into the protected file.

If you use several drives for SNMD, list each mounted path in the form required by the MinIO release and topology you selected. Keep all listed paths on the intended data devices; do not mix a data volume with an accidental empty directory on the OS disk.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Run MinIO with systemd

Package-provided service

When the DEB or RPM package supplied the unit, reload systemd and start the service:

  1. sudo systemctl daemon-reload
  2. sudo systemctl start minio.service
  3. sudo systemctl enable minio.service
  4. sudo systemctl status minio.service

Enabling the unit makes it start at boot; starting it activates it now. The status output should show an active process and the configured data path.

Rank #3
Sale
BladeHawks RGB Gaming Mouse Pad Extra Large Extended 31.5x12 Inch-Black | LED mouse pad with 14 lighting modes, covers keyboard & mouse, anti-slip rubber base, waterproof surface, USB powered
  • 【Large size】:Measuring 800 x 300 mm/ 31. 5×12 inches, which is wider and taller than others. Large mouse pad can perfectly fit your keyboard and mouse of any size, and there is also ample space for peripherals such as phones, tablets, etc.
  • 【LED backlight mouse pad】:Blade Hawks RGB mouse pad provides 7 static modes and 7 dynamic modes will give you the options you are looking for. Power-off memory function remembers the last lighting mode you selected. The super glow fiber Chroma will give you a colorful gaming setup that you want.
  • 【Anti-slip rubber base】:Made from Natural rubber, this gaming mousepad will firmly grip your desktop, allowing you to enjoy the ultimate precision in the games you are most passionate about. It also comes with a texture that enhances this ability even further.
  • 【Smooth and waterproof surface】: Micro-textured cloth surface, for extremely precise mouse control and a smooth movement. When liquid splashes on the gaming mouse pad, it forms water droplets and slides down. Will not delay your work or gameplay.
  • 【Plug and play】: This mouse and keyboard pad is powered by USB, plug and play, no driver required. One button control light modes. Press one time to change the lighting mode, press twice to change the brightness, press and hold about 3 seconds turn ON/OFF.

Unit for a manually installed binary

Create /etc/systemd/system/minio.service when you installed the binary yourself:

[Unit]
Description=MinIO object storage
Wants=network-online.target
After=network-online.target

[Service]
User=minio-user
Group=minio-user
EnvironmentFile=/etc/default/minio
ExecStart=/usr/local/bin/minio server $MINIO_OPTS $MINIO_VOLUMES
Restart=on-failure
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target

Then activate it:

sudo systemctl daemon-reload
sudo systemctl enable --now minio.service
sudo systemctl status minio.service

The exact unit supplied by a package may include additional hardening or release-specific settings. Keep those settings when possible instead of replacing a distribution-maintained unit with a minimal custom file.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Read the logs when startup fails

sudo journalctl -u minio.service -b --no-pager
sudo journalctl -u minio.service -f

Common startup errors are an unmounted data volume, a path owned by the wrong account, a malformed environment file, an occupied console or API port, and credentials that do not satisfy the release’s requirements. Fix the underlying error, then restart with sudo systemctl restart minio.service.

Expose only what clients need

Firewall policy

Keep MinIO’s listening ports private unless a reverse proxy or trusted network requires direct access. The API commonly listens on port 9000 and the Console on port 9001 when those defaults are used; verify the values in your service configuration.

For a host using UFW, a proxy-only policy might look like this:

sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow 22/tcp
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp
sudo ufw enable
sudo ufw status verbose

Restrict SSH to your administration network when practical. Port 80 is needed only when your certificate workflow uses HTTP validation; otherwise it can redirect or remain closed. Do not open 9000 or 9001 to the whole Internet merely because the process is listening there.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #4
Sale
Vaydeer Wrist Rest for Keyboard and Mouse, Computer Ergonomic Wrist Support Pad, Soft Memory Foam Arm Cushion for Desk, Palm Hand Office Laptop Typing
  • 【Softer and More Comfortable】Vaydeer wrist rest has unique diamond pattern, which is the combination of softness and aesthetics. The materials of wrist rest are improved into higher quality memory foam and covered with silky smooth lycra. The computer wrist rest makes you as comfortable and cushiony as like rest your wrists on clouds.
  • 【Ergonomic Wrist Saver】The wrist rests for keyboard and mouse comes with a 17.32×3.15×0.83 inch keyboard wrist pad and a 5.94×3.15×0.83 inch mouse wrist support. Based on ergonomic design, the unique concave shape is the perfect fit for your wrist joints. The wrist rest pad fits most computer keyboards and laptops, improve hand and wrist posture, release your wrist and arm stress.
  • 【Non-Slip Rubber Bottom】Featuring an anti-skid silicone base on the bottom, this wrist keyboard support stays firmly in place on your desk, preventing the padding from sliding around, ensuring stable and consistent wrist support during extended computer sessions.
  • 【Better Experience & Pain Relief】Our keyboard arm rest is beneficial to alleviate the soreness caused by direct contact and friction between your arm and a hard desk surface, reducing the risk of wrist fatigue or carpal tunnel. The soft texture of memory foam can evenly distribute the pressure around your wrists and provide good support with just enough give.
  • 【Helpful in Multiple Scenarios】Whether you're working, studying, writing, typing, gaming, this keyboard and mouse rest combo is an essential accessory to add comfort and support to your hands and wrists. It’s also a great gift for men, women, family, friend, coworker, gamer, teacher, etc.

DNS and reverse proxy

Create a DNS record for the storage hostname and point it to the VPS address. A reverse proxy can terminate HTTPS on 443, forward the S3 API to MinIO’s API listener, and publish the Console separately. Preserve the Host header and support large request bodies and long-lived uploads; restrictive proxy body-size or timeout defaults can break multipart transfers.

If you publish the Console, protect it with the same TLS policy and network controls as the API. If administrative access is occasional, keep the Console private behind a VPN or an allow-list and expose only the API to application networks.

Configure TLS

MinIO strongly recommends against non-TLS deployments outside early development. Use a certificate whose name matches the DNS hostname that clients will use. You can terminate TLS at a correctly configured reverse proxy, or let MinIO manage TLS directly.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

MinIO-managed certificates

MinIO activates automatic TLS when a valid certificate and private key are present in the systemd service account’s .minio/certs directory. With the service account home set to /var/lib/minio, the directory is typically:

sudo install -d -o minio-user -g minio-user -m 700 /var/lib/minio/.minio/certs
sudo install -o minio-user -g minio-user -m 600 public.crt /var/lib/minio/.minio/certs/public.crt
sudo install -o minio-user -g minio-user -m 600 private.key /var/lib/minio/.minio/certs/private.key
sudo systemctl restart minio.service

Use the certificate and key filenames and directory recognized by your MinIO release. Never make the private key world-readable. After restarting, connect with https:// and confirm that the certificate chain is trusted by the client.

Reverse-proxy TLS

When the proxy terminates TLS, keep the MinIO listener reachable only from the proxy or a private network. Redirect HTTP to HTTPS, renew certificates before expiry, and test renewal without interrupting uploads. A proxy does not remove the need for MinIO authentication; it only encrypts and routes the connection.

Best Value
Sale
Under Desk Cable Management Tray No Drill, Metal Mesh Cable Management Under Desk with Clamp Mount, 2 Hole Cable Tray with Wire Management and Cord Organizer for Home Office Standing Desk
  • 【No Drill Mounted】Cable management tray can be assembled in as little as 3 minutes or less-simply. Side clips easily clampe the edge of desk, pass through the holes on the sides, and secure excess cables with baskets. Desk cable management supports inward or outward installation to meet your needs in different scenarios, and provides you with great convenience when collecting and organizing wires.
  • 【Rubber Pad Protects Desk】Wire organizer under desk built-in soft rubber pads on the clamp protect your desk from scratches, so you will not damage your furniture or office.
  • 【Sturdy and Beautiful】Cord management under desk is made of high-quality carbon steel and holds about 15 lbs. The wire basket has 2 holes on each side of the tray to enable your cables to pass freely. Cable baskets are suitable for desk thickness use from 0.4" to 2.4".
  • 【Space Saving & Keep Organized】Desk cable management tray holds all your power cords, outlet strips, USB hubs and computer transformers hidden from your feet, and the data cables will not enter the vacuum cleaner to keep your desk clean and tidy. Desk wire organizer is also suitable for use in the kitchen and outdoors.
  • 【Reduce Safety Risks】Cable tray under desk keeps all plugs away from your kids, no more worry about tripping. Using 2 holes wire tray saves extra space, helps you easily cabling and wire protection. The mesh design is not easy to accumulate dust, but avoids safety accidents caused by messy wires.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

Verify the server with mc

Install the MinIO Client on an administration machine, then create an alias using the HTTPS endpoint and credentials:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
mc alias set myminio https://storage.example.com ACCESS_KEY SECRET_KEY

Use the actual bootstrap credentials only for initial administration. Check authentication, connectivity, and server health with:

mc admin info myminio

A successful response identifies the reachable server and its online status. If the command fails, test in this order: DNS resolution, TCP reachability to the published endpoint, certificate trust and hostname, reverse-proxy routing, then the access key and secret key. Do not disable certificate verification as a permanent fix.

Perform a harmless object test

  1. Create a test bucket from an administrative workstation with mc mb myminio/healthcheck.
  2. Upload a small file using mc cp ./test-object.txt myminio/healthcheck/.
  3. List and download it with mc ls myminio/healthcheck and mc cp myminio/healthcheck/test-object.txt ./roundtrip.txt.
  4. Compare the downloaded file with the original, then remove the test bucket if it is not part of your monitoring plan: mc rb --force myminio/healthcheck.

Run the test through the same DNS name and TLS path that applications use. A local test against port 9000 can pass while the public proxy, certificate, or firewall configuration is broken.

Replace root access with named administrators

Keep the root credentials out of application configuration. Create a separate administrative identity for routine work, assign the narrowest policy it needs, and use application-specific users or access keys for workloads. Rotate credentials when staff, automation, or providers change.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use mc admin commands from a protected workstation to add users, attach policies, disable compromised identities, and inspect server configuration. Test each policy with the operations it is intended to permit; a policy that can delete buckets is not appropriate for a service that only uploads objects.

Backups, replication, and recovery

Neither SNSD nor SNMD is a backup. A single VPS can be lost through a host failure, account suspension, filesystem corruption, accidental deletion, or an unavailable attached volume. SNMD protects against certain drive failures on that host, but it cannot restore an operator who deletes an object or a provider who loses the VM.

  • Define an independent backup or replication target in another failure domain.
  • Include object data, bucket configuration, lifecycle rules, encryption material, and access-control documentation in the recovery plan.
  • Keep backup credentials separate from the production root account.
  • Schedule restore drills to a clean environment and measure how long a usable service takes to return.
  • Document the DNS, certificate, firewall, mount, and systemd steps needed to rebuild the VPS.

Do not call the deployment protected until a restore has produced readable objects and the application has successfully reconnected.

Monitor the single-host service

  • Capacity: alert before the data volume reaches its operational threshold; investigate unexpected growth, incomplete uploads, and old test buckets.
  • Filesystem health: watch kernel logs, mount state, I/O errors, and provider volume events.
  • Service availability: alert on systemd restarts and failed units, not only on an HTTP probe.
  • Certificates: monitor expiry and renewal failures for both the proxy and any MinIO-managed certificate.
  • Object access: record authentication failures, elevated 4xx/5xx responses, latency, and failed multipart operations.
  • Backups: alert on replication or backup jobs and periodically verify that the destination contains recent, readable objects.

Troubleshoot common failures

Symptom Likely cause Action
Service exits immediately Missing mount, invalid path, bad environment syntax, or incorrect ownership Check systemctl status and journalctl -u minio.service; verify the mount and sudo -u minio-user test -w /srv/minio-data.
API works locally but not remotely Firewall, DNS, proxy routing, or an unallowed listener Confirm the DNS address, VPS firewall, provider firewall, proxy upstream, and the externally published port.
TLS warning or hostname error Certificate name or chain does not match the hostname Renew or replace the certificate, install the correct chain, and connect with the exact DNS name on the certificate.
mc admin info reports authentication failure Wrong alias credentials, rotated key, or a proxy sending the request to another endpoint Reset the alias with the current key, check the endpoint, and review MinIO and proxy logs.
Uploads fail only for large objects Reverse-proxy body-size or timeout limits, full disk, or interrupted multipart sessions Increase appropriate proxy limits, check capacity and I/O health, and retry through the production hostname.
Objects disappear after reboot Data was written to an unmounted directory on the OS disk Fix the persistent mount and make MinIO start after it; recover from backup if the original volume was not used.

Pre-production checklist

  1. The data volume is persistent, mounted at boot, and separate from the OS disk.
  2. The service runs as minio-user, not root, and the environment file is mode 600.
  3. systemctl enable minio.service is set and logs are retained long enough for diagnosis.
  4. Only required network ports are reachable; administrative access is restricted.
  5. Clients use HTTPS with a valid, renewable certificate.
  6. mc alias set and mc admin info succeed through the real client endpoint.
  7. Named users and least-privilege policies replace routine use of root credentials.
  8. An independent backup or replication process exists, and a restore test has succeeded.
  9. The chosen topology matches the failure you need to survive: SNSD for simplicity, SNMD for drive-level tolerance on one host, or distributed multi-node storage for host-level resilience.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Free tools Windows power users keep installed

One-click scans. No signup required.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.