[{"data":1,"prerenderedAt":202},["ShallowReactive",2],{"seo-verification":3,"blog-hosting-minio-on-a-vps-ma-en":6,"promo-bar-likely":201},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-hosting-minio-on-a-vps-ma-en",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"noindex":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":28,"featuredImage":30,"bgImage":31,"posterImage":32,"relatedSolution":30,"intro":33,"sections":34,"ctaTitle":141,"ctaBody":142,"ctaButton":143,"ctaUrl":144,"relatedPosts":145},70,"hosting-minio-on-a-vps",{"fr":12,"en":10,"ar":13,"es":14},"heberger-minio-vps","استضافة-minio-على-خادم-vps","alojar-minio-en-un-vps","Hosting MinIO on a VPS","MinIO on a VPS: buckets, console, TLS, backups. The Community edition is archived, so here is how to decide between staying and migrating.",7,1,false,"2026-04-11T00:00:00+00:00","2026-10-23T23:43:01+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},6,"Databases","bases-de-donnees","bg-teal-500\u002F10 text-teal-400","database",[29],{"id":23,"name":24,"slug":25,"color":26,"icon":27},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fheberger-minio-vps-poster.svg","MinIO turns your VPS into high-performance object storage compatible with Amazon's S3 API. Ideal for hosting files, backups, assets and artifacts without depending on a public cloud. Here is how to deploy it cleanly with console, TLS and encryption. Note that the MinIO Community edition is archived, which changes how you should decide before installing or keeping an instance.",[35,39,43,53,56,88,91,100,103,125,127,130,138],{"type":36,"title":37,"body":38},"tip","MinIO Community Edition is archived","The `minio\u002Fminio` repository has been read-only since April 2026 and is no longer maintained. An existing instance no longer receives community security fixes: read \"Stay or migrate\" below. To move off it, the guide `migrer-minio-vers-garage-ou-rustfs-vps` describes the method, and `heberger-garage-s3-vps` and `self-host-rustfs-vps` describe the two destinations.",{"type":40,"title":41,"body":42},"h2","MinIO Community Edition is archived: the real state of the project","The `minio\u002Fminio` repository is archived: it is read-only, its last commit dates from April 2026 and its README states that the repository is no longer maintained. This is the end of a slide visible since autumn 2025: the vendor announced in October 2025 that it would stop publishing Docker images, then the project went into \"maintenance only\" in December 2025, with no new contributions accepted and, at best, case-by-case review of critical fixes only. The Community edition is now distributed as source code only, under the AGPLv3 licence, and the vendor points to AIStor Free (standalone edition, free licence) or AIStor Enterprise (distributed edition with commercial support). The code is still available and your data is still readable: what disappears is the upstream team that fixes vulnerabilities.",{"type":44,"title":45,"items":46},"ul","What this means for an instance already in service",[47,48,49,50,51,52],"**No more community security fixes** — the next flaw affecting the S3 server, the console or authentication will, by default, be fixed by nobody upstream; you stay exposed until you fix it yourself","**Bumping the image tag no longer helps** — `docker compose pull` no longer brings back a fixed version of `minio\u002Fminio`; automatic updates give a false sense of security","**Rebuilding from source means becoming the maintainer** — with source-only distribution, compiling, signing and tracking the CVEs of Go dependencies become your job","**The ecosystem moves on without you** — S3 SDKs, tools and applications will keep working for a while, but nobody will run interoperability tests against new MinIO versions any more","**Your data is not in immediate danger** — nothing breaks on the day of the archive and both `mc` and `rclone` still read your buckets; the risk is slow, it is security debt","**Exposure sets the urgency** — an instance reachable from the Internet has a different risk profile from one on a private network, behind a VPN or a firewall",{"type":40,"title":54,"body":55},"Stay or migrate: how to decide","Ask three questions in this order. Is the instance reachable from the Internet? Does the data justify security monitoring that nobody else will do for you? Can your team carry the maintenance of a home-built binary? A \"yes\" to the first question, or three \"no\" answers to the others, point to migrating; a private, little-exposed instance with tested backups gives you time to prepare. Either way, do not decide in a rush: an S3 migration has to be prepared (bucket inventory, policies, presigned URLs, versioning) and that is what the guide `migrer-minio-vers-garage-ou-rustfs-vps` details. The destinations are described in `heberger-garage-s3-vps` and `self-host-rustfs-vps`, two S3-compatible storages whose feature gaps with MinIO you should know before choosing.",{"type":57,"title":58,"headers":59,"rows":63},"comparison","Stay, compile, migrate: the decision table",[60,61,62],"Option","When it holds up","What it implies",[64,68,72,76,80,84],[65,66,67],"Stay on the last community version","Private instance, low-sensitivity data, planned exit","No upstream fixes, isolation and monitoring are on you",[69,70,71],"Compile from source","A team able to track Go CVEs and rebuild","You become the maintainer of your own binary",[73,74,75],"Move to the vendor's AIStor edition","You want to stay in the MinIO ecosystem","Vendor-specific licence and terms, to read before committing",[77,78,79],"Migrate to Garage","Modest volume, simple S3 needs, replication between sites","Versioning, ACLs and bucket policies are not supported",[81,82,83],"Migrate to RustFS","You need a console and usage close to MinIO","ACLs not supported, region and addressing style to set explicitly",[85,86,87],"Go back to public S3 storage","No in-house operations capacity","Egress fees and per-request billing return",{"type":40,"title":89,"body":90},"Why self-host MinIO on a VPS","MinIO exposes a 100% S3-compatible API: all your SDKs, tools (`aws s3`, `rclone`, `mc`) and frameworks that speak S3 work without modification. Instead of paying for storage, requests and especially the egress of a public cloud, you get local object storage at the fixed price of your VPS. It is perfect for serving application assets, storing user uploads, receiving database snapshots, or building a backup target for your other servers, all on infrastructure you control.",{"type":44,"title":92,"items":93},"The strengths of in-house object storage",[94,95,96,97,98,99],"A native S3 API: immediate compatibility with `aws-cli`, `rclone`, existing SDKs and frameworks","No egress fees or per-request GET\u002FPUT billing","A built-in web console to manage buckets, policies and users","Server-side encryption and object versioning enabled per bucket","An ideal backup target for your VPS, databases and containers","Granular access policies and presigned links to share files securely",{"type":40,"title":101,"body":102},"Realistic prerequisites","MinIO is light on CPU\u002FRAM: a 2 vCPU \u002F 2 GB RAM VPS is enough to get started. The determining factor is the disk: plan for an SSD volume sized according to your target capacity, with headroom for versioning. Docker + Compose installed, a subdomain for the API (`s3.yourdomain.com`) and another for the console (`console.yourdomain.com`). A TLS certificate is essential because MinIO carries credentials.",{"type":104,"title":105,"steps":106},"steps","Step-by-step deployment",[107,110,113,116,119,122],{"title":108,"body":109},"Prepare storage on the VPS","Create the data directory on your SSD: `mkdir -p \u002Fopt\u002Fminio\u002Fdata`. If you have several volumes, MinIO can aggregate them in erasure-coding mode for resilience.",{"title":111,"body":112},"Define the service with strong credentials","In `docker-compose.yml`, use the `minio\u002Fminio` image, the `server \u002Fdata --console-address \":9001\"` command, and set `MINIO_ROOT_USER` \u002F `MINIO_ROOT_PASSWORD` with randomly generated values. Mount `\u002Fopt\u002Fminio\u002Fdata:\u002Fdata`.",{"title":114,"body":115},"Start and bind the ports locally","Run `docker compose up -d`. Expose API port 9000 and console port 9001 only on `127.0.0.1`: they will be published exclusively via the reverse proxy.",{"title":117,"body":118},"Set up the TLS reverse proxy","Configure two HTTPS virtual hosts: `s3.yourdomain.com` to port 9000 and `console.yourdomain.com` to 9001. Remember to allow large uploads with `client_max_body_size 0;` (Nginx) on the API host.",{"title":120,"body":121},"Create a bucket and an application user","With the `mc` client: `mc alias set local https:\u002F\u002Fs3.yourdomain.com ...`, then `mc mb local\u002Fmon-bucket` and create a dedicated user with a `readwrite` policy limited to that bucket rather than using the root account.",{"title":123,"body":124},"Enable versioning and encryption","Enable versioning (`mc version enable`) to protect against accidental deletions and configure server-side encryption (SSE) on sensitive buckets.",{"type":36,"body":126},"Use the bucket replication feature (`mc replicate`) between your MinIO and a second remote VPS: you get a near real-time copy of your objects in another location, which constitutes a robust disaster-recovery strategy without depending on a third-party cloud. Combine it with lifecycle rules to automatically expire old versions and keep disk space in check.",{"type":40,"title":128,"body":129},"MinIO: when staying is defensible","Staying is not a mistake in itself. An archived MinIO still stores and serves objects, and a poorly prepared migration often does more damage than a theoretical flaw on a service that is not exposed. Staying is defensible when you choose this risk knowingly, with an exit date, rather than ignoring it.",{"type":44,"title":131,"items":132},"The conditions for a reasonable decision to stay",[133,134,135,136,137],"**No public exposure** — ports 9000 and 9001 bound to `127.0.0.1` or a private network, console never published, access through a VPN or SSH tunnel","**Bounded use** — internal backup target or artefact storage, no uploads from anonymous users or sensitive personal data","**Independent, tested backup** — a copy of the buckets on another medium with `mc mirror` or `rclone`, and a restore that has actually been tried","**Features with no equivalent elsewhere** — your application depends on versioning, bucket policies or replication that the destination does not support, and migrating would break it","**A written deadline** — a quarterly review and migration triggers: a published flaw with no fix, exposure that has become necessary, an application that requires a newer version",{"type":139,"body":140},"p","If one of these five points is missing, treat migration as a project to schedule, not a \"someday\" item: `migrer-minio-vers-garage-ou-rustfs-vps` for the method, `heberger-garage-s3-vps` and `self-host-rustfs-vps` to install the target.","Your S3 storage, on your VPS","With the ServOrbit Cloud VPS and its expandable SSD volumes, MinIO gives you S3-compatible object storage at a fixed cost. Docker template ready to deploy.","Start my Cloud VPS","\u002Fvps-cloud",[146,165,183],{"id":147,"slug":148,"slugs":149,"title":153,"excerpt":154,"readTime":155,"views":18,"isPinned":19,"noindex":19,"publishedAt":156,"updatedAt":157,"category":158,"categories":159,"featuredImage":30,"bgImage":31,"posterImage":161,"relatedSolution":162},56,"postgresql-on-a-vps-a-reliable-and-controlled-database",{"fr":150,"en":148,"ar":151,"es":152},"heberger-postgresql-vps","postgresql-على-خادم-vps-قاعدة-بيانات-موثوقة-ومتحكم-بها","alojar-postgresql-en-un-vps","PostgreSQL on a VPS: reliable, controlled database","Host PostgreSQL on a VPS: production config, pgBackRest backups, streaming HA, RDS\u002FSupabase\u002FNeon comparison and OOM troubleshooting.",9,"2026-04-25T00:00:00+00:00","2026-10-21T15:21:37+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[160],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-postgresql-vps-poster.svg",{"categorySlug":163,"appSlug":164},"databases","postgresql-stack",{"id":166,"slug":167,"slugs":168,"title":172,"excerpt":173,"readTime":155,"views":174,"isPinned":19,"noindex":19,"publishedAt":175,"updatedAt":176,"category":177,"categories":178,"featuredImage":30,"bgImage":31,"posterImage":180,"relatedSolution":181},57,"hosting-mysql-on-a-vps",{"fr":169,"en":167,"ar":170,"es":171},"heberger-mysql-vps","استضافة-mysql-على-خادم-vps","alojar-mysql-en-un-vps","Hosting MySQL on a VPS: complete guide","Install MySQL 8.4 LTS on a VPS: prerequisites, security hardening, InnoDB performance, secure remote access, automated backups, and troubleshooting.",0,"2026-04-24T00:00:00+00:00","2026-11-09T20:55:18+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[179],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-mysql-vps-poster.svg",{"categorySlug":163,"appSlug":182},"mysql-stack",{"id":184,"slug":185,"slugs":186,"title":190,"excerpt":191,"readTime":192,"views":174,"isPinned":19,"noindex":19,"publishedAt":193,"updatedAt":194,"category":195,"categories":196,"featuredImage":30,"bgImage":31,"posterImage":198,"relatedSolution":199},58,"hosting-redis-on-a-vps",{"fr":187,"en":185,"ar":188,"es":189},"heberger-redis-vps","استضافة-redis-على-خادم-vps","alojar-redis-en-un-vps","Hosting Redis on a VPS: the complete guide","Deploy Redis on your Cloud VPS: RAM\u002FCPU requirements, security (ACL, TLS), RDB\u002FAOF persistence, troubleshooting, and high availability.",10,"2026-04-23T00:00:00+00:00","2026-09-08T21:59:59+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":27},[197],{"id":23,"name":24,"slug":25,"color":26,"icon":27},"\u002Fblog\u002Fcovers\u002Fheberger-redis-vps-poster.svg",{"categorySlug":163,"appSlug":200},"redis-stack",true,1794270418446]