Пређи на главни садржај

MinIO S3 Object Storage

For file persistence, media uploads, and static vector map tile archives, I run MinIO, a high-performance, S3-compatible object storage server.


Why MinIO for Storage & Persistence?​

  1. Stateless Application Server: Storing user uploaded photos or map tiles directly on container local disk limits horizontal scaling and breaks pod mobility. Decoupling storage to MinIO keeps application pods stateless.
  2. S3 API Standard: MinIO provides a standard S3 API interface. If needed in the future, switching from self-hosted MinIO to AWS S3, Cloudflare R2, or Backblaze B2 requires zero code changes.
  3. HTTP Byte-Range Requests for Vector Maps: MinIO supports native HTTP Range: bytes=X-Y requests, enabling MapLibre GL JS to fetch vector map tiles directly from single .pmtiles archives with zero backend compute.
Built-in Portability

By writing the application against the standard S3 API rather than a bespoke file storage driver, I can migrate my data to AWS S3, Cloudflare R2, or any other compliant provider tomorrow by simply updating a connection string. Zero code changes required.