Skip to content

Object Storage (MinIO)

MyPanel runs an S3-compatible object store on your server by wrapping MinIO in a standard container — the same way the Mail Server wraps docker-mailserver. Use it to store images, uploads and media and serve them over URLs.

  • A Linux VPS with Docker (the panel pulls the MinIO + mc images when you click Install).

Open the Storage menu. The status card shows where the engine is:

  1. Not installed — click Install MinIO (the panel pulls the image and starts the container; may take a few minutes).
  2. Stopped — click Start.
  3. Running — the bucket management section appears right below.

Uninstall removes the container; confirm again if you also want to wipe the data.

While the engine is running:

  • Create a bucket — give it a name (lowercase, digits, -, .), optionally attach a website and enable Public read (so images load over a URL).
  • Each bucket gets an access key (access key + secret) scoped to that bucket only — one bucket’s key cannot touch another bucket.
  • The secret is shown only once at creation. Save it immediately; afterwards your only option is Rotate key to issue a new one.
  • Public / Private — toggle anonymous read at any time.
  • Delete bucket — if it still contains objects, the panel offers to empty then delete (or delete only if empty).

For safety, MinIO only listens locally (127.0.0.1): the API/images on port 9000, the Console (admin UI) on 9001. Right on the Storage page, use the “Expose on domain” button — the panel creates a Reverse Proxy website to MinIO and issues Let’s Encrypt automatically once DNS resolves. Two separate entries:

PurposeButton in the panelPoints to
Serve images / use the S3 APIExpose on domain127.0.0.1:9000
Open the admin ConsoleExpose Console on domain127.0.0.1:9001

After exposing, point the domain’s A record to the server IP (SSL is issued automatically). Each domain counts as one website toward your plan limit. MyPanel’s Reverse Proxy supports WebSocket, so the Console works fully.

Buckets are standard S3, so any S3-capable plugin/SDK works:

  • Endpointhttps://<domain> exposed above (or http://127.0.0.1:9000 if running on the same machine).
  • Access key / Secret key — the bucket’s key (needed to upload).
  • Bucket — the bucket name. Be sure to enable path-style in the SDK config.

For WordPress: an offload-media plugin (such as WP Offload Media) takes these values to push your media library to MinIO.

Public image link (bucket with public-read on): https://<domain>/<bucket>/<file> — use it directly as an <img src>.

FreePro
Install & run engine
Number of buckets1Unlimited
Bucket-scoped keys
Public-read / key rotation

MinIO’s actual data lives at /var/lib/mypanel/minio/data on the server.

  • Mirror to another storemc mirror (or MinIO replication) pushes buckets to another S3/MinIO on a schedule.
  • rsync / snapshot — back up the /var/lib/mypanel/minio/data folder at the system level on a schedule.