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.
Add to your project
Section titled “Add to your project”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-18MinIO reference
Section titled “MinIO reference”What MinIO defines in a deployment.
Environment variables
Section titled “Environment variables”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 |
Readme
Section titled “Readme”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.
Connecting from a component
Section titled “Connecting from a component”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_KEYSet 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.
Console
Section titled “Console”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.
Setup tab
Section titled “Setup tab”| 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.
Storage
Section titled “Storage”Buckets are stored on a persistent 10 GiB volume, mounted at /data.
Upgrading
Section titled “Upgrading”The version is the image tag in diploi.yaml. Pin a RELEASE.* tag, never latest, and read the
SILO release notes before bumping it.