Self-hosted S3-compatible object storage
Give your apps, backups and media an S3 API on storage you control. Since the MinIO community edition is no longer maintained, we recommend Garage for light and multi-location setups and SeaweedFS for very many files. Run either on a HyperDC VPS, VDS or dedicated server, preinstalled as an app option or with our guide.
- S3 API for backups, media and app uploads
- Garage and SeaweedFS: maintained and open source
- A clear path off MinIO community installs
- From a VPS to dedicated servers with large disks
- Install
- Official binaries or pinned Docker images
- Stack
- Rust (Garage) · Go (SeaweedFS)
- Default portsServe the S3 endpoint through a reverse proxy with HTTPS. Garage’s RPC port 3901 is only for its other nodes.
- 3900 Garage S3 · 8333 SeaweedFS S3
- MinimumGarage publishes 1 GB of RAM and at least 16 GB of disk per node. SeaweedFS publishes no minimum.
- Garage: 1 GB RAM and 16 GB disk
- MinIO community editionMinIO moved the community edition to source-only releases in October 2025 and maintenance mode in December 2025, and archived the repository in April 2026.
- No longer maintained
- Current release
- Garage v2.4 · SeaweedFS 4.48
Works with
- S3 API
- Garage
- SeaweedFS
- rclone
- restic
- AWS CLI
- Static websites
- Presigned URLs
- App uploads
- Backup targets
Facts from the project’s official website, documentation and repository, checked in October 2026.
S3 storage plans are being prepared
Tell us how much data you store and what writes to it, and our team will reply with the right server. Or start today on a Linux VPS and install S3 storage with our guide.
How big a server does object storage need?
Disk is the main resource. Memory grows with the number of objects, and redundancy needs more than one node.
| Feature |
Backups
A backup target for a few servers
|
Recommended App storage
Uploads and media for your apps
|
Large archive
Many terabytes or millions of files
|
|---|---|---|---|
| vCPUVirtual processor cores of the server. | 1 | 2 | 4+ |
| MemoryMemory for the app, its database and the operating system. | 1 GB | 2 GB | 8 GB+ |
| DiskNVMe or SSD storage for the app, its data and local backups. | Your data plus 20% | Your data plus 20% | Dedicated server disks |
| NodesOne node keeps one copy of each object. Garage recommends three nodes, ideally in different locations, for redundancy. | One, backed up elsewhere | One or three | Three or more |
-
Backups
A backup target for a few servers
- vCPUVirtual processor cores of the server.
- 1
- MemoryMemory for the app, its database and the operating system.
- 1 GB
- DiskNVMe or SSD storage for the app, its data and local backups.
- Your data plus 20%
- NodesOne node keeps one copy of each object. Garage recommends three nodes, ideally in different locations, for redundancy.
- One, backed up elsewhere
-
Recommended
App storage
Uploads and media for your apps
- vCPUVirtual processor cores of the server.
- 2
- MemoryMemory for the app, its database and the operating system.
- 2 GB
- DiskNVMe or SSD storage for the app, its data and local backups.
- Your data plus 20%
- NodesOne node keeps one copy of each object. Garage recommends three nodes, ideally in different locations, for redundancy.
- One or three
-
Large archive
Many terabytes or millions of files
- vCPUVirtual processor cores of the server.
- 4+
- MemoryMemory for the app, its database and the operating system.
- 8 GB+
- DiskNVMe or SSD storage for the app, its data and local backups.
- Dedicated server disks
- NodesOne node keeps one copy of each object. Garage recommends three nodes, ideally in different locations, for redundancy.
- Three or more
Garage asks for 1 GB of RAM and 16 GB of disk per node and recommends at least three nodes in production. SeaweedFS publishes no minimum; plan more memory for very many small files.
An S3 API on storage you control
Most backup tools and many apps speak S3. A bucket on your own server keeps the data, the location and the traffic in your hands.
Garage: light and multi-location
A small Rust server built to replicate objects across nodes in different places, with 1 GB of RAM per node.
SeaweedFS: built for many files
A Go system of master, volume and filer servers with an S3 gateway, made for millions of small files.
Move off MinIO
Create the buckets and keys on the new server, copy the data with rclone sync and point your apps at the new endpoint.
Nodes on three continents
Place Garage nodes in our locations in the United States, Europe and Asia, so a copy survives the loss of a whole site.
Root access, your rules
Every Linux VPS, VDS and dedicated server comes with full root access: you choose the versions, the add-ons and the security settings.
Room to grow
Start on a VPS and move to a bigger plan, a VDS with NVMe storage or a dedicated server when your data and users grow.
Preinstalled or with our guide
Choose the app as an option when you order and it is installed for you, or set it up yourself with our step-by-step guide.
Backups included
Free weekly and monthly backups come with every VPS and VDS plan. For data that changes every day, keep copies of your own as well.
Set up S3 storage in four steps
Order the app preinstalled on your server, or install it yourself with our guide.
-
Choose your server
Pick a VPS, VDS or dedicated server in the size from the table above and the location closest to your users.
-
Install Garage or SeaweedFS
Choose it as an app option, or run the official Docker image or binary with a pinned version as described in our guide.
-
Add your domain and HTTPS
Point a subdomain such as s3.example.com at the server and put a reverse proxy with a Let’s Encrypt certificate in front of the S3 port.
-
Create keys and buckets
Create an access key per app with access to its own bucket only, then test with rclone or the AWS CLI.
Step-by-step setup guides
Install, secure and update the app with our guides, written for current Ubuntu and Debian releases.
-
How to run self-hosted S3 object storage with Garage
Set up Garage, a lightweight open-source S3-compatible object store, on a Linux server with Docker Compose and Caddy, create buckets and keys, test with rclone, and plan backups or a three-node cluster.
45 min Intermediate -
How to install Docker Engine on Ubuntu 24.04 and 26.04
Install Docker Engine, Buildx and Compose from Docker's official apt repository on Ubuntu LTS, run it without sudo, rotate logs and keep published ports private.
15 min Beginner
Related solutions
Self-Hosted App Hosting
Nextcloud, Immich, Jellyfin, Vaultwarden and more on your server.
Learn moreFrequently asked questions
What happened to MinIO?
MinIO, Inc. replaced the community edition’s admin console with a basic object browser in May 2025, stopped publishing binaries and images in October 2025, put the project into maintenance mode in December 2025 and archived the GitHub repository in April 2026. Its commercial product is now AIStor.
Can I keep running MinIO?
An existing installation keeps working, but it gets no updates and no security fixes, and there are no maintained binaries or images. Plan a move to Garage or SeaweedFS, or to MinIO’s commercial AIStor if you need MinIO itself.
Garage or SeaweedFS: which should I choose?
Choose Garage for backups and app files on small servers, especially with nodes in several locations. Choose SeaweedFS for very many small files, for its filer with POSIX and WebDAV access, or when you need features Garage leaves out.
Which S3 features are missing?
Garage does not implement versioning, object lock, bucket policies and ACLs, replication or notifications, and supports lifecycle rules and website hosting in part. SeaweedFS leaves out replication, notifications, website hosting and Select. Check that your app does not depend on them.
How do I move my data from MinIO?
Set up the new storage and create the same buckets and access keys. Add both endpoints to rclone and run rclone sync per bucket, then switch your apps to the new endpoint and run a last sync before you turn MinIO off.
Is one server enough?
For a backup target or a small app, yes, as long as the data is also backed up elsewhere: one node keeps one copy. For storage that must survive a server failure, run three Garage nodes, ideally in three of our locations.
How do I secure the S3 endpoint?
Serve it only over HTTPS and give each app its own key with access to its own bucket. SeaweedFS’s S3 gateway allows every operation without authentication until you configure identities, so set them up before the port is reachable.
Ready for your own S3 storage?
Tell us what you want to run and for how many people, and we will help you pick the right server.