Dokploy

Minio

MinIO is an open source object storage server compatible with Amazon S3 cloud storage service. This template uses pgsty/minio, the actively maintained community fork, because MinIO Inc. stopped publishing Docker images in October 2025 and archived the upstream open source project in February 2026.

Minio logo

Configuration

services:
  minio:
    # MinIO Inc. stopped publishing Docker images and pre-built binaries in October 2025
    # (https://github.com/minio/minio/issues/21647) and archived the minio/minio repository
    # in February 2026. The official minio/minio image is frozen at RELEASE.2025-09-07T16-13-09Z
    # and no longer receives security fixes (e.g. the fix for CVE-2025-62506 was never published
    # as an image). This template uses pgsty/minio, the actively maintained community fork
    # (https://github.com/pgsty/minio, AGPLv3). It is a drop-in replacement: same environment
    # variables, same `server` command, same /data on-disk format (existing minio-data volumes
    # keep working), and it restores the full web console that upstream removed.
    image: pgsty/minio:RELEASE.2026-06-18T00-00-00Z
    restart: unless-stopped
    volumes:
      # by default, the MinIO container will use a volume named minio-data
      # to store its data. This volume is created automatically by Docker.
      # If you want to use a local directory instead, uncomment the line below
      # and specify the path to your local directory.
      # (be warned that ../files is pointing to a subdirectory of /etc/dokploy/compose in dokploy)
      # - ../files/minio-data:/data
      # if you uncommented the line above, comment the line below and the volumes section at the end
      - minio-data:/data
    environment:
      - MINIO_ROOT_USER=${MINIO_ROOT_USER}
      - MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD}
      - MINIO_BROWSER_REDIRECT_URL=${MINIO_BROWSER_REDIRECT_URL}
    command: server /data --console-address ":9001"
    expose:
      # port 9000 serves the S3 API (routed through the api domain defined in template.toml)
      # port 9001 serves the web console (routed through the main domain)
      - 9000
      - 9001

# comment the line below if you specified a local directory in the volumes section of the minio service
volumes:
  minio-data:
[variables]
main_domain = "${domain}"
api_domain = "${domain}"

[config]
mounts = []

# Web console - log in with the generated root credentials below
[[config.domains]]
serviceName = "minio"
port = 9_001
host = "${main_domain}"

# S3-compatible API - point AWS CLI / SDKs / rclone / backup tools at this domain
[[config.domains]]
serviceName = "minio"
port = 9_000
host = "${api_domain}"

[config.env]
MINIO_ROOT_USER = "minioadmin"
MINIO_ROOT_PASSWORD = "${password:16}"
MINIO_BROWSER_REDIRECT_URL = "http://${main_domain}"
MINIO_BROWSER_REDIRECT = "false"

Base64

To import this template in Dokploy: create a Compose service → AdvancedBase64 import and paste the content below:

ewogICJjb21wb3NlIjogInNlcnZpY2VzOlxuICBtaW5pbzpcbiAgICAjIE1pbklPIEluYy4gc3RvcHBlZCBwdWJsaXNoaW5nIERvY2tlciBpbWFnZXMgYW5kIHByZS1idWlsdCBiaW5hcmllcyBpbiBPY3RvYmVyIDIwMjVcbiAgICAjIChodHRwczovL2dpdGh1Yi5jb20vbWluaW8vbWluaW8vaXNzdWVzLzIxNjQ3KSBhbmQgYXJjaGl2ZWQgdGhlIG1pbmlvL21pbmlvIHJlcG9zaXRvcnlcbiAgICAjIGluIEZlYnJ1YXJ5IDIwMjYuIFRoZSBvZmZpY2lhbCBtaW5pby9taW5pbyBpbWFnZSBpcyBmcm96ZW4gYXQgUkVMRUFTRS4yMDI1LTA5LTA3VDE2LTEzLTA5WlxuICAgICMgYW5kIG5vIGxvbmdlciByZWNlaXZlcyBzZWN1cml0eSBmaXhlcyAoZS5nLiB0aGUgZml4IGZvciBDVkUtMjAyNS02MjUwNiB3YXMgbmV2ZXIgcHVibGlzaGVkXG4gICAgIyBhcyBhbiBpbWFnZSkuIFRoaXMgdGVtcGxhdGUgdXNlcyBwZ3N0eS9taW5pbywgdGhlIGFjdGl2ZWx5IG1haW50YWluZWQgY29tbXVuaXR5IGZvcmtcbiAgICAjIChodHRwczovL2dpdGh1Yi5jb20vcGdzdHkvbWluaW8sIEFHUEx2MykuIEl0IGlzIGEgZHJvcC1pbiByZXBsYWNlbWVudDogc2FtZSBlbnZpcm9ubWVudFxuICAgICMgdmFyaWFibGVzLCBzYW1lIGBzZXJ2ZXJgIGNvbW1hbmQsIHNhbWUgL2RhdGEgb24tZGlzayBmb3JtYXQgKGV4aXN0aW5nIG1pbmlvLWRhdGEgdm9sdW1lc1xuICAgICMga2VlcCB3b3JraW5nKSwgYW5kIGl0IHJlc3RvcmVzIHRoZSBmdWxsIHdlYiBjb25zb2xlIHRoYXQgdXBzdHJlYW0gcmVtb3ZlZC5cbiAgICBpbWFnZTogcGdzdHkvbWluaW86UkVMRUFTRS4yMDI2LTA2LTE4VDAwLTAwLTAwWlxuICAgIHJlc3RhcnQ6IHVubGVzcy1zdG9wcGVkXG4gICAgdm9sdW1lczpcbiAgICAgICMgYnkgZGVmYXVsdCwgdGhlIE1pbklPIGNvbnRhaW5lciB3aWxsIHVzZSBhIHZvbHVtZSBuYW1lZCBtaW5pby1kYXRhXG4gICAgICAjIHRvIHN0b3JlIGl0cyBkYXRhLiBUaGlzIHZvbHVtZSBpcyBjcmVhdGVkIGF1dG9tYXRpY2FsbHkgYnkgRG9ja2VyLlxuICAgICAgIyBJZiB5b3Ugd2FudCB0byB1c2UgYSBsb2NhbCBkaXJlY3RvcnkgaW5zdGVhZCwgdW5jb21tZW50IHRoZSBsaW5lIGJlbG93XG4gICAgICAjIGFuZCBzcGVjaWZ5IHRoZSBwYXRoIHRvIHlvdXIgbG9jYWwgZGlyZWN0b3J5LlxuICAgICAgIyAoYmUgd2FybmVkIHRoYXQgLi4vZmlsZXMgaXMgcG9pbnRpbmcgdG8gYSBzdWJkaXJlY3Rvcnkgb2YgL2V0Yy9kb2twbG95L2NvbXBvc2UgaW4gZG9rcGxveSlcbiAgICAgICMgLSAuLi9maWxlcy9taW5pby1kYXRhOi9kYXRhXG4gICAgICAjIGlmIHlvdSB1bmNvbW1lbnRlZCB0aGUgbGluZSBhYm92ZSwgY29tbWVudCB0aGUgbGluZSBiZWxvdyBhbmQgdGhlIHZvbHVtZXMgc2VjdGlvbiBhdCB0aGUgZW5kXG4gICAgICAtIG1pbmlvLWRhdGE6L2RhdGFcbiAgICBlbnZpcm9ubWVudDpcbiAgICAgIC0gTUlOSU9fUk9PVF9VU0VSPSR7TUlOSU9fUk9PVF9VU0VSfVxuICAgICAgLSBNSU5JT19ST09UX1BBU1NXT1JEPSR7TUlOSU9fUk9PVF9QQVNTV09SRH1cbiAgICAgIC0gTUlOSU9fQlJPV1NFUl9SRURJUkVDVF9VUkw9JHtNSU5JT19CUk9XU0VSX1JFRElSRUNUX1VSTH1cbiAgICBjb21tYW5kOiBzZXJ2ZXIgL2RhdGEgLS1jb25zb2xlLWFkZHJlc3MgXCI6OTAwMVwiXG4gICAgZXhwb3NlOlxuICAgICAgIyBwb3J0IDkwMDAgc2VydmVzIHRoZSBTMyBBUEkgKHJvdXRlZCB0aHJvdWdoIHRoZSBhcGkgZG9tYWluIGRlZmluZWQgaW4gdGVtcGxhdGUudG9tbClcbiAgICAgICMgcG9ydCA5MDAxIHNlcnZlcyB0aGUgd2ViIGNvbnNvbGUgKHJvdXRlZCB0aHJvdWdoIHRoZSBtYWluIGRvbWFpbilcbiAgICAgIC0gOTAwMFxuICAgICAgLSA5MDAxXG5cbiMgY29tbWVudCB0aGUgbGluZSBiZWxvdyBpZiB5b3Ugc3BlY2lmaWVkIGEgbG9jYWwgZGlyZWN0b3J5IGluIHRoZSB2b2x1bWVzIHNlY3Rpb24gb2YgdGhlIG1pbmlvIHNlcnZpY2VcbnZvbHVtZXM6XG4gIG1pbmlvLWRhdGE6XG4iLAogICJjb25maWciOiAiW3ZhcmlhYmxlc11cbm1haW5fZG9tYWluID0gXCIke2RvbWFpbn1cIlxuYXBpX2RvbWFpbiA9IFwiJHtkb21haW59XCJcblxuW2NvbmZpZ11cbm1vdW50cyA9IFtdXG5cbiMgV2ViIGNvbnNvbGUgLSBsb2cgaW4gd2l0aCB0aGUgZ2VuZXJhdGVkIHJvb3QgY3JlZGVudGlhbHMgYmVsb3dcbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcIm1pbmlvXCJcbnBvcnQgPSA5XzAwMVxuaG9zdCA9IFwiJHttYWluX2RvbWFpbn1cIlxuXG4jIFMzLWNvbXBhdGlibGUgQVBJIC0gcG9pbnQgQVdTIENMSSAvIFNES3MgLyByY2xvbmUgLyBiYWNrdXAgdG9vbHMgYXQgdGhpcyBkb21haW5cbltbY29uZmlnLmRvbWFpbnNdXVxuc2VydmljZU5hbWUgPSBcIm1pbmlvXCJcbnBvcnQgPSA5XzAwMFxuaG9zdCA9IFwiJHthcGlfZG9tYWlufVwiXG5cbltjb25maWcuZW52XVxuTUlOSU9fUk9PVF9VU0VSID0gXCJtaW5pb2FkbWluXCJcbk1JTklPX1JPT1RfUEFTU1dPUkQgPSBcIiR7cGFzc3dvcmQ6MTZ9XCJcbk1JTklPX0JST1dTRVJfUkVESVJFQ1RfVVJMID0gXCJodHRwOi8vJHttYWluX2RvbWFpbn1cIlxuTUlOSU9fQlJPV1NFUl9SRURJUkVDVCA9IFwiZmFsc2VcIlxuIgp9

Tags

storage


Version: RELEASE.2026-06-18T00-00-00Z

On this page