Skip to content

MinIO

MinIO is an open-source, S3-compatible, object storage system that you can run in Diploi. Use this add-on when your components need to store uploads, backups, or other binary data without relying on an external cloud bucket.

Paste this entry into the addons list in diploi.yaml to add MinIO to your project.

addons:
- name: MinIO
identifier: minio
package: https://github.com/diploi/addon-minio#v2026-10-18

What MinIO defines in a deployment.

MinIO sets these values in every deployment. Components can import them with env.include as minio.*. Defaults marked generated are unique to each deployment.

Parameters are set on the deployment’s Setup tab.

Connection

Root user & connection configuration.

Variable Type Default Description
MINIO_HOST string generated Host
MINIO_ROOT_USER string minioadmin Root User
MINIO_ROOT_PASSWORD secret generated Root Password

Other variables

Set by the package. Override them on the deployment’s Environment tab or in diploi.yaml.

Variable Default
MINIO_ENDPOINT generated

S3-compatible object storage for your components.

Runs SILO, the community fork of MinIO maintained by Pigsty, from the pgsty/silo Docker image. MinIO, Inc. no longer publishes a community image, and the minio/minio image this addon used to run has been removed from Docker Hub. SILO keeps MinIO’s S3 API, MINIO_* variables and data format, so the addon keeps the MinIO name and existing data carries over as it is.

Import the variables in your project’s diploi.yaml. This example renames them for the AWS SDKs:

components:
- name: Next.js
identifier: app
package: https://github.com/diploi/component-nextjs#main
env:
include:
- minio.MINIO_ENDPOINT:AWS_ENDPOINT_URL
- minio.MINIO_ROOT_USER:AWS_ACCESS_KEY_ID
- minio.MINIO_ROOT_PASSWORD:AWS_SECRET_ACCESS_KEY

Set the region to us-east-1 and turn on path-style addressing, forcePathStyle: true in the JavaScript SDK.

The S3 API is only reachable inside the deployment. To serve files publicly, proxy them through your app or use presigned URLs.

Open the deployment’s MinIO Console host and log in with Root User and Root Password from the Setup tab. The console manages buckets, users, policies and access keys.

The root user can do everything. For an app, consider creating an access key with a narrower policy in the console.

Field Variable Description
Host MINIO_HOST Internal host name, minio.<identifier>. Read-only.
Root User MINIO_ROOT_USER The admin user. Default minioadmin.
Root Password MINIO_ROOT_PASSWORD The admin password. Generated per project.

MINIO_ENDPOINT is also set, to http://minio.<identifier>:9000.

Projects that added this addon before the password was generated use minioadmin as the password. Change it in the Setup tab.

Buckets are stored on a persistent 10 GiB volume, mounted at /data.

The version is the image tag in diploi.yaml. Pin a RELEASE.* tag, never latest, and read the SILO release notes before bumping it.