Deploying Enterprise MinIO: Basics
TrueNAS Enterprise
TrueNAS Enterprise-licensed systems do not have applications available by default. To enable applications as part of the Enterprise license, consult with the TrueNAS Support team.
Official TrueNAS support for Enterprise apps falls under two tiers: Enterprise Deployment Support and Enterprise Application Support. Please review the App Support Definitions and consult with the TrueNAS Support Team for any further clarifications.
Installing MinIO Enterprise MNMD
TrueNAS Enterprise
TrueNAS Enterprise-licensed systems do not have applications available by default. To enable applications as part of the Enterprise license, consult with the TrueNAS Support team.
Official TrueNAS support for Enterprise apps falls under two tiers: Enterprise Deployment Support and Enterprise Application Support. Please review the App Support Definitions and consult with the TrueNAS Support Team for any further clarifications.
Installing MinIO Enterprise SNMD
TrueNAS Enterprise
TrueNAS Enterprise-licensed systems do not have applications available by default. To enable applications as part of the Enterprise license, consult with the TrueNAS Support team.
Official TrueNAS support for Enterprise apps falls under two tiers: Enterprise Deployment Support and Enterprise Application Support. Please review the App Support Definitions and consult with the TrueNAS Support Team for any further clarifications.
MinIO (Enterprise)
MinIO
Get Started with Apps!Requires TrueNAS: 24.10.2.2 or newer
App Version: RELEASE.2025-04-22T22-12-26Z
Keywords: object storage, minio, cloud, s3
Train: Enterprise
Home Page: https://min.ioMinIO Details
Added: 2024-07-31
Last Updated: 2025-09-02High Performance, Kubernetes Native Object Storage
Run as Context
- MinIO runs as any non-root user.
Group: 568 / minio
User: 568 / minioScreenshots![]()
×App Metadata (Raw File)
{ "1.3.7": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/apps/apps/trains/enterprise/minio/1.3.7", "last_update": "2025-09-02 11:33:24", "required_features": [], "human_version": "RELEASE.2025-04-22T22-12-26Z_1.3.7", "version": "1.3.7", "app_metadata": { "annotations": { "min_scale_version": "24.10.2.2" }, "app_version": "RELEASE.2025-04-22T22-12-26Z", "capabilities": [], "categories": [ "storage" ], "date_added": "2024-07-31", "description": "High Performance, Kubernetes Native Object Storage", "home": "https://min.io", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/minio/icons/icon.png", "keywords": [ "object storage", "minio", "cloud", "s3" ], "lib_version": "2.1.49", "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634", "maintainers": [ { "email": "dev@ixsystems.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "minio", "run_as_context": [ { "description": "MinIO runs as any non-root user.", "gid": 568, "group_name": "minio", "uid": 568, "user_name": "minio" } ], "screenshots": [ "https://media.sys.truenas.net/apps/minio/screenshots/screenshot1.png", "https://media.sys.truenas.net/apps/minio/screenshots/screenshot2.png", "https://media.sys.truenas.net/apps/minio/screenshots/screenshot3.png" ], "sources": [ "https://github.com/minio/minio" ], "title": "MinIO", "train": "enterprise", "version": "1.3.7" }, "schema": { "groups": [ { "name": "MinIO Configuration", "description": "Configure MinIO" }, { "name": "User and Group Configuration", "description": "Configure User and Group for MinIO" }, { "name": "Network Configuration", "description": "Configure Network for MinIO" }, { "name": "Storage Configuration", "description": "Configure Storage for MinIO" }, { "name": "Labels Configuration", "description": "Configure Labels for MinIO" }, { "name": "Resources Configuration", "description": "Configure Resources for MinIO" } ], "questions": [ { "variable": "minio", "label": "", "group": "MinIO Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "credentials", "label": "Credentials", "description": "The credentials for the root user.", "schema": { "type": "dict", "attrs": [ { "variable": "access_key", "label": "MinIO Root User", "description": "Root user with access to all actions and resources on the deployment. </br>\nIt doubles as the \"access key\" for the MinIO deployment.\n", "schema": { "type": "string", "min_length": 5, "required": true, "private": true } }, { "variable": "secret_key", "label": "MinIO Root Password", "description": "Root password for the MinIO root user.</br>\nIt doubles as the \"secret key\" for the MinIO deployment.\n", "schema": { "type": "string", "min_length": 8, "required": true, "private": true } } ] } }, { "variable": "multi_mode", "label": "Multi Mode (SNMD or MNMD) Configuration", "description": "For Single Node Multi Drive (SNMD), the entry will look like this:</br>\nExample Entry - /data{1...4}</br></br>\nFor Multi Node Multi Drive (MNMD), the entry will look like this:</br>\nExample Entry - https://minio{1...3}.example.com:30000/data{1...4}</br></br>\nNote that each host must use the same port number and the same number of storage items.</br>\nIn both cases /data{1...4} is the directories to be used for MinIO.\nYou have to add additional storage for each data entry.\n", "schema": { "type": "dict", "attrs": [ { "variable": "enabled", "label": "Enabled", "description": "Enable Multi Mode", "schema": { "type": "boolean", "default": false } }, { "variable": "entries", "label": "Multi Mode (SNMD or MNMD) Entries", "schema": { "type": "list", "show_if": [ [ "enabled", "=", true ] ], "default": [], "items": [ { "variable": "item", "label": "", "schema": { "type": "string", "required": true } } ] } } ] } }, { "variable": "logging", "label": "", "description": "Logging configuration", "schema": { "type": "dict", "attrs": [ { "variable": "quiet", "label": "Quiet", "description": "Disables startup information.", "schema": { "type": "boolean", "default": false } }, { "variable": "anonymous", "label": "Anonymous", "description": "Hides sensitive information from logging.", "schema": { "type": "boolean", "default": false } } ] } }, { "variable": "additional_envs", "label": "Additional Environment Variables", "schema": { "type": "list", "default": [], "items": [ { "variable": "env", "label": "Environment Variable", "schema": { "type": "dict", "attrs": [ { "variable": "name", "label": "Name", "schema": { "type": "string", "required": true } }, { "variable": "value", "label": "Value", "schema": { "type": "string" } } ] } } ] } } ] } }, { "variable": "run_as", "label": "", "group": "User and Group Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "user", "label": "User ID", "description": "The user id that MinIO will run as.", "schema": { "type": "int", "min": 568, "default": 568, "required": true } }, { "variable": "group", "label": "Group ID", "description": "The group id that MinIO will run as.", "schema": { "type": "int", "min": 568, "default": 568, "required": true } } ] } }, { "variable": "network", "label": "", "group": "Network Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "api_port", "label": "API Port", "description": "The port for the MinIO API.", "schema": { "type": "dict", "attrs": [ { "variable": "bind_mode", "label": "Port Bind Mode", "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n", "schema": { "type": "string", "default": "published", "enum": [ { "value": "published", "description": "Publish port on the host for external access" }, { "value": "exposed", "description": "Expose port for inter-container communication" }, { "value": "", "description": "None" } ] } }, { "variable": "port_number", "label": "Port Number", "schema": { "type": "int", "default": 30000, "min": 1, "max": 65535, "required": true } }, { "variable": "host_ips", "label": "Host IPs", "description": "IPs on the host to bind this port", "schema": { "type": "list", "show_if": [ [ "bind_mode", "=", "published" ] ], "default": [], "items": [ { "variable": "host_ip", "label": "Host IP", "schema": { "type": "string", "required": true, "$ref": [ "definitions/node_bind_ip" ] } } ] } } ] } }, { "variable": "console_port", "label": "Console Port (Web UI)", "description": "The port for the MinIO Web UI.", "schema": { "type": "dict", "attrs": [ { "variable": "bind_mode", "label": "Port Bind Mode", "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n", "schema": { "type": "string", "default": "published", "enum": [ { "value": "published", "description": "Publish port on the host for external access" }, { "value": "exposed", "description": "Expose port for inter-container communication" }, { "value": "", "description": "None" } ] } }, { "variable": "port_number", "label": "Port Number", "schema": { "type": "int", "default": 30001, "min": 1, "max": 65535, "required": true } }, { "variable": "host_ips", "label": "Host IPs", "description": "IPs on the host to bind this port", "schema": { "type": "list", "show_if": [ [ "bind_mode", "=", "published" ] ], "default": [], "items": [ { "variable": "host_ip", "label": "Host IP", "schema": { "type": "string", "required": true, "$ref": [ "definitions/node_bind_ip" ] } } ] } } ] } }, { "variable": "server_url", "label": "Server URL", "description": "The URL that console will use to reach API</br>\nUsually the port is needed, unless you have a reverse proxy in front of MinIO.</br>\nFor example: </br>\n- https://minio1.example.com</br>\n- https://minio1.example.com:30000\n", "schema": { "type": "uri", "required": true } }, { "variable": "console_url", "label": "Console URL", "description": "The URL that console will provide as a redirect URL</br>\nUsually the port is needed, unless you have a reverse proxy in front of MinIO.</br>\nFor example: </br>\n- https://console.example.com.</br>\n- https://minio1.example.com:30001\n", "schema": { "type": "uri", "required": true } }, { "variable": "host_network", "label": "Host Network", "description": "Bind to the host network. It's recommended to keep this disabled.\n", "schema": { "type": "boolean", "default": false } }, { "variable": "certificate_id", "label": "Certificate", "description": "The certificate to use for MinIO", "schema": { "type": "int", "null": true, "$ref": [ "definitions/certificate" ] } } ] } }, { "variable": "storage", "label": "", "group": "Storage Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "data_dirs", "label": "Data Directories", "schema": { "type": "list", "default": [ { "type": "ix_volume", "mount_path": "/data1", "ix_volume_config": { "dataset_name": "data1" } } ], "items": [ { "variable": "item", "label": "", "schema": { "type": "dict", "attrs": [ { "variable": "type", "label": "Type", "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n", "schema": { "type": "string", "required": true, "default": "host_path", "enum": [ { "value": "host_path", "description": "Host Path (Path that already exists on the system)" }, { "value": "ix_volume", "description": "ixVolume (Dataset created automatically by the system)" } ] } }, { "variable": "mount_path", "label": "Mount Path", "description": "The path inside the container to mount the storage.", "schema": { "type": "path", "required": true, "default": "/data1" } }, { "variable": "host_path_config", "label": "Host Path Configuration", "schema": { "type": "dict", "show_if": [ [ "type", "=", "host_path" ] ], "attrs": [ { "variable": "acl_enable", "label": "Enable ACL", "description": "Enable ACL for the storage.", "schema": { "type": "boolean", "default": false } }, { "variable": "acl", "label": "ACL Configuration", "schema": { "type": "dict", "show_if": [ [ "acl_enable", "=", true ] ], "attrs": [], "$ref": [ "normalize/acl" ] } }, { "variable": "path", "label": "Host Path", "description": "The host path to use for storage.", "schema": { "type": "hostpath", "show_if": [ [ "acl_enable", "=", false ] ], "required": true } } ] } }, { "variable": "ix_volume_config", "label": "ixVolume Configuration", "description": "The configuration for the ixVolume dataset.", "schema": { "type": "dict", "show_if": [ [ "type", "=", "ix_volume" ] ], "$ref": [ "normalize/ix_volume" ], "attrs": [ { "variable": "acl_enable", "label": "Enable ACL", "description": "Enable ACL for the storage.", "schema": { "type": "boolean", "default": false } }, { "variable": "dataset_name", "label": "Dataset Name", "description": "The name of the dataset to use for storage.", "schema": { "type": "string", "required": true, "default": "data1" } }, { "variable": "acl_entries", "label": "ACL Configuration", "schema": { "type": "dict", "show_if": [ [ "acl_enable", "=", true ] ], "attrs": [], "$ref": [ "normalize/acl" ] } } ] } } ] } } ] } } ] } }, { "variable": "labels", "label": "", "group": "Labels Configuration", "schema": { "type": "list", "default": [], "items": [ { "variable": "label", "label": "Label", "schema": { "type": "dict", "attrs": [ { "variable": "key", "label": "Key", "schema": { "type": "string", "required": true } }, { "variable": "value", "label": "Value", "schema": { "type": "string", "required": true } }, { "variable": "containers", "label": "Containers", "description": "Containers where the label should be applied", "schema": { "type": "list", "items": [ { "variable": "container", "label": "Container", "schema": { "type": "string", "required": true, "enum": [ { "value": "minio", "description": "minio" } ] } } ] } } ] } } ] } }, { "variable": "resources", "label": "", "group": "Resources Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "limits", "label": "Limits", "schema": { "type": "dict", "attrs": [ { "variable": "cpus", "label": "CPUs", "description": "CPUs limit for MinIO.", "schema": { "type": "int", "default": 2, "required": true } }, { "variable": "memory", "label": "Memory (in MB)", "description": "Memory limit for MinIO.", "schema": { "type": "int", "default": 4096, "required": true } } ] } } ] } } ] }, "readme": "<h1>MinIO</h1> <p><a href=\"https://min.io\">MinIO</a> is a High Performance Object Storage released under the AGPLv3 License. It is API compatible with Amazon S3 cloud storage service. Use MinIO to build high performance infrastructure for machine learning, analytics and application data workloads.</p>", "changelog": null, "chart_metadata": { "annotations": { "min_scale_version": "24.10.2.2" }, "app_version": "RELEASE.2025-04-22T22-12-26Z", "capabilities": [], "categories": [ "storage" ], "date_added": "2024-07-31", "description": "High Performance, Kubernetes Native Object Storage", "home": "https://min.io", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/minio/icons/icon.png", "keywords": [ "object storage", "minio", "cloud", "s3" ], "lib_version": "2.1.49", "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634", "maintainers": [ { "email": "dev@ixsystems.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "minio", "run_as_context": [ { "description": "MinIO runs as any non-root user.", "gid": 568, "group_name": "minio", "uid": 568, "user_name": "minio" } ], "screenshots": [ "https://media.sys.truenas.net/apps/minio/screenshots/screenshot1.png", "https://media.sys.truenas.net/apps/minio/screenshots/screenshot2.png", "https://media.sys.truenas.net/apps/minio/screenshots/screenshot3.png" ], "sources": [ "https://github.com/minio/minio" ], "title": "MinIO", "train": "enterprise", "version": "1.3.7" } } }
MinIO (Stable)
MinIO
Get Started with Apps!App Version: RELEASE.2025-04-22T22-12-26Z (Changelog)
Keywords: storage, object-storage, S3
Train: Stable
Home Page: https://min.ioMinIO Details
Added: 2024-07-31
Last Updated: 2025-05-27The Object Store for AI Data Infrastructure
Run as Context
- Minio runs as any non-root user.
Group: 473 / minio
User: 473 / minioScreenshots![]()
×App Metadata (Raw File)
{ "1.3.8": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/apps/apps/trains/stable/minio/1.3.8", "last_update": "2025-09-02 11:33:24", "required_features": [], "human_version": "RELEASE.2025-07-23T15-54-02Z_1.3.8", "version": "1.3.8", "app_metadata": { "annotations": { "min_scale_version": "24.10.2.2" }, "app_version": "RELEASE.2025-07-23T15-54-02Z", "capabilities": [], "categories": [ "storage" ], "changelog_url": "https://github.com/minio/minio/tags", "date_added": "2024-07-31", "description": "The Object Store for AI Data Infrastructure", "home": "https://min.io", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/minio/icons/icon.png", "keywords": [ "storage", "object-storage", "S3" ], "lib_version": "2.1.49", "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634", "maintainers": [ { "email": "dev@ixsystems.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "minio", "run_as_context": [ { "description": "Minio runs as any non-root user.", "gid": 473, "group_name": "minio", "uid": 473, "user_name": "minio" } ], "screenshots": [ "https://media.sys.truenas.net/apps/minio/screenshots/screenshot1.png", "https://media.sys.truenas.net/apps/minio/screenshots/screenshot2.png", "https://media.sys.truenas.net/apps/minio/screenshots/screenshot3.png" ], "sources": [ "https://github.com/minio/minio" ], "title": "MinIO", "train": "stable", "version": "1.3.8" }, "schema": { "groups": [ { "name": "MinIO Configuration", "description": "Configure MinIO" }, { "name": "User and Group Configuration", "description": "Configure User and Group for MinIO" }, { "name": "Network Configuration", "description": "Configure Network for MinIO" }, { "name": "Storage Configuration", "description": "Configure Storage for MinIO" }, { "name": "Labels Configuration", "description": "Configure Labels for MinIO" }, { "name": "Resources Configuration", "description": "Configure Resources for MinIO" } ], "questions": [ { "variable": "minio", "label": "", "group": "MinIO Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "root_user", "label": "MinIO Root User", "description": "Root user with access to all actions and resources on the deployment. </br>\nIt doubles as the \"access key\" for the MinIO deployment.\n", "schema": { "type": "string", "default": "", "private": true, "required": true, "min_length": 5, "max_length": 20 } }, { "variable": "root_password", "label": "MinIO Root Password", "description": "Root password for the MinIO root user.</br>\nIt doubles as the \"secret key\" for the MinIO deployment.\n", "schema": { "type": "string", "default": "", "private": true, "required": true, "min_length": 8, "max_length": 40 } }, { "variable": "extra_args", "label": "Extra Arguments", "description": "Extra arguments for Minio.", "schema": { "type": "list", "default": [], "items": [ { "variable": "arg", "label": "Argument", "schema": { "type": "string", "required": true } } ] } }, { "variable": "additional_envs", "label": "Additional Environment Variables", "schema": { "type": "list", "default": [], "items": [ { "variable": "env", "label": "Environment Variable", "schema": { "type": "dict", "attrs": [ { "variable": "name", "label": "Name", "schema": { "type": "string", "required": true } }, { "variable": "value", "label": "Value", "schema": { "type": "string" } } ] } } ] } } ] } }, { "variable": "run_as", "label": "", "group": "User and Group Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "user", "label": "User ID", "description": "The user id that MinIO files will be owned by.", "schema": { "type": "int", "min": 2, "default": 473, "required": true } }, { "variable": "group", "label": "Group ID", "description": "The group id that MinIO files will be owned by.", "schema": { "type": "int", "min": 2, "default": 473, "required": true } } ] } }, { "variable": "network", "label": "", "group": "Network Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "api_port", "label": "API Port", "schema": { "type": "dict", "attrs": [ { "variable": "bind_mode", "label": "Port Bind Mode", "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n", "schema": { "type": "string", "default": "published", "enum": [ { "value": "published", "description": "Publish port on the host for external access" }, { "value": "exposed", "description": "Expose port for inter-container communication" }, { "value": "", "description": "None" } ] } }, { "variable": "port_number", "label": "Port Number", "schema": { "type": "int", "default": 9000, "min": 1, "max": 65535, "required": true } }, { "variable": "host_ips", "label": "Host IPs", "description": "IPs on the host to bind this port", "schema": { "type": "list", "show_if": [ [ "bind_mode", "=", "published" ] ], "default": [], "items": [ { "variable": "host_ip", "label": "Host IP", "schema": { "type": "string", "required": true, "$ref": [ "definitions/node_bind_ip" ] } } ] } } ] } }, { "variable": "console_port", "label": "Console Port (Web UI)", "schema": { "type": "dict", "attrs": [ { "variable": "bind_mode", "label": "Port Bind Mode", "description": "The port bind mode.</br>\n- Publish: The port will be published on the host for external access.</br>\n- Expose: The port will be exposed for inter-container communication.</br>\n- None: The port will not be exposed or published.</br>\nNote: If the Dockerfile defines an EXPOSE directive,\nthe port will still be exposed for inter-container communication regardless of this setting.\n", "schema": { "type": "string", "default": "published", "enum": [ { "value": "published", "description": "Publish port on the host for external access" }, { "value": "exposed", "description": "Expose port for inter-container communication" }, { "value": "", "description": "None" } ] } }, { "variable": "port_number", "label": "Port Number", "schema": { "type": "int", "default": 9002, "min": 1, "max": 65535, "required": true } }, { "variable": "host_ips", "label": "Host IPs", "description": "IPs on the host to bind this port", "schema": { "type": "list", "show_if": [ [ "bind_mode", "=", "published" ] ], "default": [], "items": [ { "variable": "host_ip", "label": "Host IP", "schema": { "type": "string", "required": true, "$ref": [ "definitions/node_bind_ip" ] } } ] } } ] } }, { "variable": "domain", "label": "Domain (Optional)", "description": "Depending on your setup/environment, you may need to leave this blank.\nCheck MinIO documentation for more information.\n", "schema": { "type": "string" } }, { "variable": "certificate_id", "label": "Certificate", "description": "The certificate to use for MinIO", "schema": { "type": "int", "null": true, "$ref": [ "definitions/certificate" ] } }, { "variable": "dns_opts", "label": "DNS Options", "description": "DNS options for the container.</br>\nFormat: key:value</br>\nExample: attempts:3\n", "schema": { "type": "list", "default": [], "items": [ { "variable": "option", "label": "Option", "schema": { "type": "string", "required": true } } ] } } ] } }, { "variable": "storage", "label": "", "group": "Storage Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "distributed_mode", "label": "Enable Distributed Mode", "schema": { "type": "boolean", "default": false } }, { "variable": "distributed_uris", "label": "Distributed Minio Instance URI(s)", "schema": { "type": "list", "show_if": [ [ "distributed_mode", "=", true ] ], "required": true, "default": [], "items": [ { "variable": "uri", "label": "Distributed Minio Instance URI", "schema": { "type": "string", "required": true } } ] } }, { "variable": "export", "label": "MinIO Export Storage (Data)", "description": "The path to store MinIO Export (Data).", "schema": { "type": "dict", "show_if": [ [ "distributed_mode", "=", false ] ], "attrs": [ { "variable": "type", "label": "Type", "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n", "schema": { "type": "string", "required": true, "default": "ix_volume", "enum": [ { "value": "host_path", "description": "Host Path (Path that already exists on the system)" }, { "value": "ix_volume", "description": "ixVolume (Dataset created automatically by the system)" } ] } }, { "variable": "mount_path", "label": "Mount Path", "description": "The path inside the container to mount the storage.", "schema": { "type": "path", "required": true, "default": "/export" } }, { "variable": "ix_volume_config", "label": "ixVolume Configuration", "description": "The configuration for the ixVolume dataset.", "schema": { "type": "dict", "show_if": [ [ "type", "=", "ix_volume" ] ], "$ref": [ "normalize/ix_volume" ], "attrs": [ { "variable": "acl_enable", "label": "Enable ACL", "description": "Enable ACL for the storage.", "schema": { "type": "boolean", "default": false } }, { "variable": "dataset_name", "label": "Dataset Name", "description": "The name of the dataset to use for storage.", "schema": { "type": "string", "required": true, "hidden": true, "default": "export" } }, { "variable": "acl_entries", "label": "ACL Configuration", "schema": { "type": "dict", "show_if": [ [ "acl_enable", "=", true ] ], "attrs": [] } } ] } }, { "variable": "host_path_config", "label": "Host Path Configuration", "schema": { "type": "dict", "show_if": [ [ "type", "=", "host_path" ] ], "attrs": [ { "variable": "acl_enable", "label": "Enable ACL", "description": "Enable ACL for the storage.", "schema": { "type": "boolean", "default": false } }, { "variable": "acl", "label": "ACL Configuration", "schema": { "type": "dict", "show_if": [ [ "acl_enable", "=", true ] ], "attrs": [], "$ref": [ "normalize/acl" ] } }, { "variable": "path", "label": "Host Path", "description": "The host path to use for storage.", "schema": { "type": "hostpath", "show_if": [ [ "acl_enable", "=", false ] ], "required": true } } ] } } ] } }, { "variable": "additional_storage", "label": "Additional Storage", "schema": { "type": "list", "default": [], "items": [ { "variable": "storageEntry", "label": "Storage Entry", "schema": { "type": "dict", "attrs": [ { "variable": "type", "label": "Type", "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to as a volume.\n", "schema": { "type": "string", "required": true, "default": "ix_volume", "enum": [ { "value": "host_path", "description": "Host Path (Path that already exists on the system)" }, { "value": "ix_volume", "description": "ixVolume (Dataset created automatically by the system)" }, { "value": "cifs", "description": "SMB/CIFS Share (Mounts a volume to a SMB share)" } ] } }, { "variable": "read_only", "label": "Read Only", "description": "Mount the volume as read only.", "schema": { "type": "boolean", "default": false } }, { "variable": "mount_path", "label": "Mount Path", "description": "The path inside the container to mount the storage.", "schema": { "type": "path", "required": true } }, { "variable": "host_path_config", "label": "Host Path Configuration", "schema": { "type": "dict", "show_if": [ [ "type", "=", "host_path" ] ], "attrs": [ { "variable": "acl_enable", "label": "Enable ACL", "description": "Enable ACL for the storage.", "schema": { "type": "boolean", "default": false } }, { "variable": "acl", "label": "ACL Configuration", "schema": { "type": "dict", "show_if": [ [ "acl_enable", "=", true ] ], "attrs": [], "$ref": [ "normalize/acl" ] } }, { "variable": "path", "label": "Host Path", "description": "The host path to use for storage.", "schema": { "type": "hostpath", "show_if": [ [ "acl_enable", "=", false ] ], "required": true } } ] } }, { "variable": "ix_volume_config", "label": "ixVolume Configuration", "description": "The configuration for the ixVolume dataset.", "schema": { "type": "dict", "show_if": [ [ "type", "=", "ix_volume" ] ], "$ref": [ "normalize/ix_volume" ], "attrs": [ { "variable": "acl_enable", "label": "Enable ACL", "description": "Enable ACL for the storage.", "schema": { "type": "boolean", "default": false } }, { "variable": "dataset_name", "label": "Dataset Name", "description": "The name of the dataset to use for storage.", "schema": { "type": "string", "required": true, "default": "storage_entry" } }, { "variable": "acl_entries", "label": "ACL Configuration", "schema": { "type": "dict", "show_if": [ [ "acl_enable", "=", true ] ], "attrs": [], "$ref": [ "normalize/acl" ] } } ] } }, { "variable": "cifs_config", "label": "SMB Configuration", "description": "The configuration for the SMB dataset.", "schema": { "type": "dict", "show_if": [ [ "type", "=", "cifs" ] ], "attrs": [ { "variable": "server", "label": "Server", "description": "The server to mount the SMB share.", "schema": { "type": "string", "required": true } }, { "variable": "path", "label": "Path", "description": "The path to mount the SMB share.", "schema": { "type": "string", "required": true } }, { "variable": "username", "label": "Username", "description": "The username to use for the SMB share.", "schema": { "type": "string", "required": true } }, { "variable": "password", "label": "Password", "description": "The password to use for the SMB share.", "schema": { "type": "string", "required": true, "private": true } }, { "variable": "domain", "label": "Domain", "description": "The domain to use for the SMB share.", "schema": { "type": "string" } } ] } } ] } } ] } } ] } }, { "variable": "labels", "label": "", "group": "Labels Configuration", "schema": { "type": "list", "default": [], "items": [ { "variable": "label", "label": "Label", "schema": { "type": "dict", "attrs": [ { "variable": "key", "label": "Key", "schema": { "type": "string", "required": true } }, { "variable": "value", "label": "Value", "schema": { "type": "string", "required": true } }, { "variable": "containers", "label": "Containers", "description": "Containers where the label should be applied", "schema": { "type": "list", "items": [ { "variable": "container", "label": "Container", "schema": { "type": "string", "required": true, "enum": [ { "value": "minio", "description": "minio" } ] } } ] } } ] } } ] } }, { "variable": "resources", "label": "", "group": "Resources Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "limits", "label": "Limits", "schema": { "type": "dict", "attrs": [ { "variable": "cpus", "label": "CPUs", "description": "CPUs limit for MinIO.", "schema": { "type": "int", "default": 2, "required": true } }, { "variable": "memory", "label": "Memory (in MB)", "description": "Memory limit for MinIO.", "schema": { "type": "int", "default": 4096, "required": true } } ] } } ] } } ] }, "readme": "<h1>MinIO</h1> <p><a href=\"https://min.io\">MinIO</a> is a High Performance Object Storage released under the AGPLv3 License. It is API compatible with Amazon S3 cloud storage service. Use MinIO to build high performance infrastructure for machine learning, analytics and application data workloads.</p>", "changelog": null, "chart_metadata": { "annotations": { "min_scale_version": "24.10.2.2" }, "app_version": "RELEASE.2025-07-23T15-54-02Z", "capabilities": [], "categories": [ "storage" ], "changelog_url": "https://github.com/minio/minio/tags", "date_added": "2024-07-31", "description": "The Object Store for AI Data Infrastructure", "home": "https://min.io", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/minio/icons/icon.png", "keywords": [ "storage", "object-storage", "S3" ], "lib_version": "2.1.49", "lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634", "maintainers": [ { "email": "dev@ixsystems.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "minio", "run_as_context": [ { "description": "Minio runs as any non-root user.", "gid": 473, "group_name": "minio", "uid": 473, "user_name": "minio" } ], "screenshots": [ "https://media.sys.truenas.net/apps/minio/screenshots/screenshot1.png", "https://media.sys.truenas.net/apps/minio/screenshots/screenshot2.png", "https://media.sys.truenas.net/apps/minio/screenshots/screenshot3.png" ], "sources": [ "https://github.com/minio/minio" ], "title": "MinIO", "train": "stable", "version": "1.3.8" } }, "1.2.23": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/apps/apps/trains/stable/minio/1.2.23", "last_update": "2025-05-27 08:58:34", "required_features": [], "human_version": "RELEASE.2025-04-22T22-12-26Z_1.2.23", "version": "1.2.23", "app_metadata": { "app_version": "RELEASE.2025-04-22T22-12-26Z", "capabilities": [], "categories": [ "storage" ], "changelog_url": "https://github.com/minio/minio/tags", "date_added": "2024-07-31", "description": "The Object Store for AI Data Infrastructure", "home": "https://min.io", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/minio/icons/icon.png", "keywords": [ "storage", "object-storage", "S3" ], "lib_version": "2.1.16", "lib_version_hash": "dac15686f882b9ce65b8549a3d5c0ed7bafe2df7a9028880d1a99b0ff4af1eff", "maintainers": [ { "email": "dev@ixsystems.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "minio", "run_as_context": [ { "description": "Minio runs as any non-root user.", "gid": 473, "group_name": "minio", "uid": 473, "user_name": "minio" } ], "screenshots": [ "https://media.sys.truenas.net/apps/minio/screenshots/screenshot1.png", "https://media.sys.truenas.net/apps/minio/screenshots/screenshot2.png", "https://media.sys.truenas.net/apps/minio/screenshots/screenshot3.png" ], "sources": [ "https://github.com/minio/minio" ], "title": "MinIO", "train": "stable", "version": "1.2.23" }, "schema": { "groups": [ { "name": "MinIO Configuration", "description": "Configure MinIO" }, { "name": "User and Group Configuration", "description": "Configure User and Group for MinIO" }, { "name": "Network Configuration", "description": "Configure Network for MinIO" }, { "name": "Storage Configuration", "description": "Configure Storage for MinIO" }, { "name": "Labels Configuration", "description": "Configure Labels for MinIO" }, { "name": "Resources Configuration", "description": "Configure Resources for MinIO" } ], "questions": [ { "variable": "minio", "label": "", "group": "MinIO Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "root_user", "label": "MinIO Root User", "description": "Root user with access to all actions and resources on the deployment. </br>\nIt doubles as the \"access key\" for the MinIO deployment.\n", "schema": { "type": "string", "default": "", "private": true, "required": true, "min_length": 5, "max_length": 20 } }, { "variable": "root_password", "label": "MinIO Root Password", "description": "Root password for the MinIO root user.</br>\nIt doubles as the \"secret key\" for the MinIO deployment.\n", "schema": { "type": "string", "default": "", "private": true, "required": true, "min_length": 8, "max_length": 40 } }, { "variable": "extra_args", "label": "Extra Arguments", "description": "Extra arguments for Minio.", "schema": { "type": "list", "default": [], "items": [ { "variable": "arg", "label": "Argument", "schema": { "type": "string", "required": true } } ] } }, { "variable": "additional_envs", "label": "Additional Environment Variables", "description": "Configure additional environment variables for MinIO.", "schema": { "type": "list", "default": [], "items": [ { "variable": "env", "label": "Environment Variable", "schema": { "type": "dict", "attrs": [ { "variable": "name", "label": "Name", "schema": { "type": "string", "required": true } }, { "variable": "value", "label": "Value", "schema": { "type": "string", "required": true } } ] } } ] } } ] } }, { "variable": "run_as", "label": "", "group": "User and Group Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "user", "label": "User ID", "description": "The user id that MinIO files will be owned by.", "schema": { "type": "int", "min": 2, "default": 473, "required": true } }, { "variable": "group", "label": "Group ID", "description": "The group id that MinIO files will be owned by.", "schema": { "type": "int", "min": 2, "default": 473, "required": true } } ] } }, { "variable": "network", "label": "", "group": "Network Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "api_port", "label": "API Port", "description": "The port for the MinIO API.", "schema": { "type": "int", "default": 9000, "required": true, "$ref": [ "definitions/port" ] } }, { "variable": "console_port", "label": "Console Port (Web UI)", "description": "The port for the MinIO Web UI.", "schema": { "type": "int", "default": 9002, "required": true, "$ref": [ "definitions/port" ] } }, { "variable": "domain", "label": "Domain (Optional)", "description": "Depending on your setup/environment, you may need to leave this blank.\nCheck MinIO documentation for more information.\n", "schema": { "type": "string" } }, { "variable": "certificate_id", "label": "Certificate", "description": "The certificate to use for MinIO", "schema": { "type": "int", "null": true, "$ref": [ "definitions/certificate" ] } }, { "variable": "dns_opts", "label": "DNS Options", "description": "DNS options for the container.</br>\nFormat: key:value</br>\nExample: attempts:3\n", "schema": { "type": "list", "default": [], "items": [ { "variable": "option", "label": "Option", "schema": { "type": "string", "required": true } } ] } } ] } }, { "variable": "storage", "label": "", "group": "Storage Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "distributed_mode", "label": "Enable Distributed Mode", "schema": { "type": "boolean", "default": false } }, { "variable": "distributed_uris", "label": "Distributed Minio Instance URI(s)", "schema": { "type": "list", "show_if": [ [ "distributed_mode", "=", true ] ], "required": true, "default": [], "items": [ { "variable": "uri", "label": "Distributed Minio Instance URI", "schema": { "type": "string", "required": true } } ] } }, { "variable": "export", "label": "MinIO Export Storage (Data)", "description": "The path to store MinIO Export (Data).", "schema": { "type": "dict", "show_if": [ [ "distributed_mode", "=", false ] ], "attrs": [ { "variable": "type", "label": "Type", "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n", "schema": { "type": "string", "required": true, "immutable": true, "default": "ix_volume", "enum": [ { "value": "host_path", "description": "Host Path (Path that already exists on the system)" }, { "value": "ix_volume", "description": "ixVolume (Dataset created automatically by the system)" } ] } }, { "variable": "mount_path", "label": "Mount Path", "description": "The path inside the container to mount the storage.", "schema": { "type": "path", "required": true, "default": "/export" } }, { "variable": "ix_volume_config", "label": "ixVolume Configuration", "description": "The configuration for the ixVolume dataset.", "schema": { "type": "dict", "show_if": [ [ "type", "=", "ix_volume" ] ], "$ref": [ "normalize/ix_volume" ], "attrs": [ { "variable": "acl_enable", "label": "Enable ACL", "description": "Enable ACL for the storage.", "schema": { "type": "boolean", "default": false } }, { "variable": "dataset_name", "label": "Dataset Name", "description": "The name of the dataset to use for storage.", "schema": { "type": "string", "required": true, "immutable": true, "hidden": true, "default": "export" } }, { "variable": "acl_entries", "label": "ACL Configuration", "schema": { "type": "dict", "show_if": [ [ "acl_enable", "=", true ] ], "attrs": [] } } ] } }, { "variable": "host_path_config", "label": "Host Path Configuration", "schema": { "type": "dict", "show_if": [ [ "type", "=", "host_path" ] ], "attrs": [ { "variable": "acl_enable", "label": "Enable ACL", "description": "Enable ACL for the storage.", "schema": { "type": "boolean", "default": false } }, { "variable": "acl", "label": "ACL Configuration", "schema": { "type": "dict", "show_if": [ [ "acl_enable", "=", true ] ], "attrs": [], "$ref": [ "normalize/acl" ] } }, { "variable": "path", "label": "Host Path", "description": "The host path to use for storage.", "schema": { "type": "hostpath", "show_if": [ [ "acl_enable", "=", false ] ], "required": true } } ] } } ] } }, { "variable": "additional_storage", "label": "Additional Storage", "description": "Additional storage for MinIO.", "schema": { "type": "list", "default": [], "items": [ { "variable": "storageEntry", "label": "Storage Entry", "schema": { "type": "dict", "attrs": [ { "variable": "type", "label": "Type", "description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to as a volume.\n", "schema": { "type": "string", "required": true, "default": "ix_volume", "immutable": true, "enum": [ { "value": "host_path", "description": "Host Path (Path that already exists on the system)" }, { "value": "ix_volume", "description": "ixVolume (Dataset created automatically by the system)" }, { "value": "cifs", "description": "SMB/CIFS Share (Mounts a volume to a SMB share)" } ] } }, { "variable": "read_only", "label": "Read Only", "description": "Mount the volume as read only.", "schema": { "type": "boolean", "default": false } }, { "variable": "mount_path", "label": "Mount Path", "description": "The path inside the container to mount the storage.", "schema": { "type": "path", "required": true } }, { "variable": "host_path_config", "label": "Host Path Configuration", "schema": { "type": "dict", "show_if": [ [ "type", "=", "host_path" ] ], "attrs": [ { "variable": "acl_enable", "label": "Enable ACL", "description": "Enable ACL for the storage.", "schema": { "type": "boolean", "default": false } }, { "variable": "acl", "label": "ACL Configuration", "schema": { "type": "dict", "show_if": [ [ "acl_enable", "=", true ] ], "attrs": [], "$ref": [ "normalize/acl" ] } }, { "variable": "path", "label": "Host Path", "description": "The host path to use for storage.", "schema": { "type": "hostpath", "show_if": [ [ "acl_enable", "=", false ] ], "required": true } } ] } }, { "variable": "ix_volume_config", "label": "ixVolume Configuration", "description": "The configuration for the ixVolume dataset.", "schema": { "type": "dict", "show_if": [ [ "type", "=", "ix_volume" ] ], "$ref": [ "normalize/ix_volume" ], "attrs": [ { "variable": "acl_enable", "label": "Enable ACL", "description": "Enable ACL for the storage.", "schema": { "type": "boolean", "default": false } }, { "variable": "dataset_name", "label": "Dataset Name", "description": "The name of the dataset to use for storage.", "schema": { "type": "string", "required": true, "immutable": true, "default": "storage_entry" } }, { "variable": "acl_entries", "label": "ACL Configuration", "schema": { "type": "dict", "show_if": [ [ "acl_enable", "=", true ] ], "attrs": [], "$ref": [ "normalize/acl" ] } } ] } }, { "variable": "cifs_config", "label": "SMB Configuration", "description": "The configuration for the SMB dataset.", "schema": { "type": "dict", "show_if": [ [ "type", "=", "cifs" ] ], "attrs": [ { "variable": "server", "label": "Server", "description": "The server to mount the SMB share.", "schema": { "type": "string", "required": true } }, { "variable": "path", "label": "Path", "description": "The path to mount the SMB share.", "schema": { "type": "string", "required": true } }, { "variable": "username", "label": "Username", "description": "The username to use for the SMB share.", "schema": { "type": "string", "required": true } }, { "variable": "password", "label": "Password", "description": "The password to use for the SMB share.", "schema": { "type": "string", "required": true, "private": true } }, { "variable": "domain", "label": "Domain", "description": "The domain to use for the SMB share.", "schema": { "type": "string" } } ] } } ] } } ] } } ] } }, { "variable": "labels", "label": "", "group": "Labels Configuration", "schema": { "type": "list", "default": [], "items": [ { "variable": "label", "label": "Label", "schema": { "type": "dict", "attrs": [ { "variable": "key", "label": "Key", "schema": { "type": "string", "required": true } }, { "variable": "value", "label": "Value", "schema": { "type": "string", "required": true } }, { "variable": "containers", "label": "Containers", "description": "Containers where the label should be applied", "schema": { "type": "list", "items": [ { "variable": "container", "label": "Container", "schema": { "type": "string", "required": true, "enum": [ { "value": "minio", "description": "minio" } ] } } ] } } ] } } ] } }, { "variable": "resources", "label": "", "group": "Resources Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "limits", "label": "Limits", "schema": { "type": "dict", "attrs": [ { "variable": "cpus", "label": "CPUs", "description": "CPUs limit for MinIO.", "schema": { "type": "int", "default": 2, "required": true } }, { "variable": "memory", "label": "Memory (in MB)", "description": "Memory limit for MinIO.", "schema": { "type": "int", "default": 4096, "required": true } } ] } } ] } } ] }, "readme": "<h1>MinIO</h1> <p><a href=\"https://min.io\">MinIO</a> is a High Performance Object Storage released under the AGPLv3 License. It is API compatible with Amazon S3 cloud storage service. Use MinIO to build high performance infrastructure for machine learning, analytics and application data workloads.</p>", "changelog": null, "chart_metadata": { "app_version": "RELEASE.2025-04-22T22-12-26Z", "capabilities": [], "categories": [ "storage" ], "changelog_url": "https://github.com/minio/minio/tags", "date_added": "2024-07-31", "description": "The Object Store for AI Data Infrastructure", "home": "https://min.io", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/minio/icons/icon.png", "keywords": [ "storage", "object-storage", "S3" ], "lib_version": "2.1.16", "lib_version_hash": "dac15686f882b9ce65b8549a3d5c0ed7bafe2df7a9028880d1a99b0ff4af1eff", "maintainers": [ { "email": "dev@ixsystems.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "minio", "run_as_context": [ { "description": "Minio runs as any non-root user.", "gid": 473, "group_name": "minio", "uid": 473, "user_name": "minio" } ], "screenshots": [ "https://media.sys.truenas.net/apps/minio/screenshots/screenshot1.png", "https://media.sys.truenas.net/apps/minio/screenshots/screenshot2.png", "https://media.sys.truenas.net/apps/minio/screenshots/screenshot3.png" ], "sources": [ "https://github.com/minio/minio" ], "title": "MinIO", "train": "stable", "version": "1.2.23" } } }
MinIO (Stable) Deployments
Support and documentation for applications within the Stable catalog is handled by the TrueNAS community. The TrueNAS Applications Portal hosts but does not validate or maintain any linked resources associated with this app.
We welcome community contributions to keep this documentation current! Click Edit Page in the top right corner to propose changes to this article.
MinIO High Performance Object Storage, released under the Apache Licenses v2.0 is an open source Amazon S3 cloud storage compatible object storage solution. The TrueNAS MinIO applications allow users to build high-performance infrastructure for machine learning, analytics, and application data workloads.
Setting Up MinIO Clustering
Support and documentation for applications within the Stable catalog is handled by the TrueNAS community. The TrueNAS Applications Portal hosts but does not validate or maintain any linked resources associated with this app.
We welcome community contributions to keep this documentation current! Click Edit Page in the top right corner to propose changes to this article.
This article applies to the public release of the TrueNAS S3 MinIO stable train application configured in a distributed mode cluster.TrueNAS 23.10 and later allows users to create a MinIO S3 distributed instance to scale out TrueNAS to handle individual node failures. A node is a single TrueNAS storage system in a cluster.