Managing Apps
How to to browse the app catalog using the TrueNAS Apps Discover screen.
How to install applications from the TrueNAS Apps catalog.
How to install and configure custom or third-party applications in TrueNAS.
Managing Installed Apps
This article covers administering installed applications in TrueNAS. For details on how to set up app storage, configure global settings, and prepare TrueNAS to deploy applications, see Initial Setup. For installing applications from the catalog, see Installing Apps. For custom applications, see Installing Custom Apps.
Installed applications appear on the Installed applications screen. Click on an app row to view Details, including the Application Info, Workloads, Notes, and Application Metadata widgets.
Mealie


Get Started with Apps!
App Version: v3.1.2 (Changelog)
Keywords: recipes, meal planner
Train: Community
Home Page: https://docs.mealie.io/
Added: 2024-08-22
Last Updated: 2025-09-02
Mealie is a self-hosted recipe manager and meal planner
Run as Context- Mealie runs as any non-root user.
Group: 568 / mealie
User: 568 / mealie - Postgres runs as non-root user.
Group: 999 / postgres
User: 999 / postgres

App Metadata (Raw File)
{
"1.5.13": {
"healthy": true,
"supported": true,
"healthy_error": null,
"location": "/__w/apps/apps/trains/community/mealie/1.5.13",
"last_update": "2025-09-02 11:33:24",
"required_features": [],
"human_version": "v3.1.2_1.5.13",
"version": "1.5.13",
"app_metadata": {
"annotations": {
"min_scale_version": "24.10.2.2"
},
"app_version": "v3.1.2",
"capabilities": [],
"categories": [
"productivity"
],
"changelog_url": "https://github.com/mealie-recipes/mealie/releases",
"date_added": "2024-08-22",
"description": "Mealie is a self-hosted recipe manager and meal planner",
"home": "https://docs.mealie.io/",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/mealie/icons/icon.png",
"keywords": [
"recipes",
"meal planner"
],
"lib_version": "2.1.49",
"lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
"maintainers": [
{
"email": "dev@ixsystems.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "mealie",
"run_as_context": [
{
"description": "Mealie runs as any non-root user.",
"gid": 568,
"group_name": "mealie",
"uid": 568,
"user_name": "mealie"
},
{
"description": "Postgres runs as non-root user.",
"gid": 999,
"group_name": "postgres",
"uid": 999,
"user_name": "postgres"
}
],
"screenshots": [
"https://media.sys.truenas.net/apps/mealie/screenshots/screenshot1.png"
],
"sources": [
"https://docs.mealie.io/"
],
"title": "Mealie",
"train": "community",
"version": "1.5.13"
},
"schema": {
"groups": [
{
"name": "Mealie Configuration",
"description": "Configure Mealie"
},
{
"name": "User and Group Configuration",
"description": "Configure User and Group for Mealie"
},
{
"name": "Network Configuration",
"description": "Configure Network for Mealie"
},
{
"name": "Storage Configuration",
"description": "Configure Storage for Mealie"
},
{
"name": "Labels Configuration",
"description": "Configure Labels for Mealie"
},
{
"name": "Resources Configuration",
"description": "Configure Resources for Mealie"
}
],
"questions": [
{
"variable": "TZ",
"group": "Mealie Configuration",
"label": "Timezone",
"schema": {
"type": "string",
"default": "Etc/UTC",
"required": true,
"$ref": [
"definitions/timezone"
]
}
},
{
"variable": "mealie",
"label": "",
"group": "Mealie Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "postgres_image_selector",
"label": "Postgres Image (CAUTION)",
"description": "If you are changing this after the postgres directory has been initialized,</br>\nSTOP! and make sure you have a backup of your data.</br>\nChanging this will trigger an one way database upgrade.</br>\nYou can only select newer versions of postgres.</br>\nSelecting an older version will refuse to start.</br>\nIf something goes wrong, you will have to restore from backup.\n",
"schema": {
"type": "string",
"default": "postgres_17_image",
"required": true,
"enum": [
{
"value": "postgres_15_image",
"description": "Postgres 15"
},
{
"value": "postgres_17_image",
"description": "Postgres 17"
}
]
}
},
{
"variable": "db_password",
"label": "Database Password",
"description": "The password for Mealie.",
"schema": {
"type": "string",
"default": "",
"private": true,
"required": true
}
},
{
"variable": "allow_signup",
"label": "Allow Signup",
"description": "Allow users to signup for Mealie.",
"schema": {
"type": "boolean",
"default": true
}
},
{
"variable": "default_group",
"label": "Default Group",
"description": "The default group for new users.",
"schema": {
"type": "string",
"default": "Home",
"required": true
}
},
{
"variable": "base_url",
"label": "Base URL",
"description": "The URL that Mealie will be accessible from.</br>\nExample: </br>\nhttp://server.ip:30111</br>\nhttps://Mealie.example.com\n",
"schema": {
"type": "uri",
"default": "",
"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 Mealie files will be owned by.",
"schema": {
"type": "int",
"min": 568,
"default": 568,
"required": true
}
},
{
"variable": "group",
"label": "Group ID",
"description": "The group id that Mealie files will be owned by.",
"schema": {
"type": "int",
"min": 568,
"default": 568,
"required": true
}
}
]
}
},
{
"variable": "network",
"label": "",
"group": "Network Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "web_port",
"label": "WebUI 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": 30111,
"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": "storage",
"label": "",
"group": "Storage Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "data",
"label": "Mealie Data Storage",
"description": "The path to store Mealie Data.",
"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": "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": "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": "data"
}
},
{
"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": "postgres_data",
"label": "Mealie Postgres Data Storage",
"description": "The path to store Mealie Postgres Data.",
"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": "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": "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": "postgres_data"
}
},
{
"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": "auto_permissions",
"label": "Automatic Permissions",
"description": "Automatically set permissions for the host path.\nEnabling this, will check the top level directory,</br>\nIf it finds incorrect permissions, it will `chown` the\nhost path to the user and group required for the\npostgres container.\n",
"schema": {
"type": "boolean",
"default": false,
"show_if": [
[
"acl_enable",
"=",
false
]
]
}
}
]
}
}
]
}
},
{
"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": "mealie",
"description": "mealie"
},
{
"value": "postgres",
"description": "postgres"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
"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 Mealie.",
"schema": {
"type": "int",
"default": 2,
"required": true
}
},
{
"variable": "memory",
"label": "Memory (in MB)",
"description": "Memory limit for Mealie.",
"schema": {
"type": "int",
"default": 4096,
"required": true
}
}
]
}
}
]
}
}
]
},
"readme": "<h1>Mealie</h1> <p><a href=\"https://mealie.io\">Mealie</a> is a self-hosted recipe manager and meal planner</p>",
"changelog": null,
"chart_metadata": {
"annotations": {
"min_scale_version": "24.10.2.2"
},
"app_version": "v3.1.2",
"capabilities": [],
"categories": [
"productivity"
],
"changelog_url": "https://github.com/mealie-recipes/mealie/releases",
"date_added": "2024-08-22",
"description": "Mealie is a self-hosted recipe manager and meal planner",
"home": "https://docs.mealie.io/",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/mealie/icons/icon.png",
"keywords": [
"recipes",
"meal planner"
],
"lib_version": "2.1.49",
"lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
"maintainers": [
{
"email": "dev@ixsystems.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "mealie",
"run_as_context": [
{
"description": "Mealie runs as any non-root user.",
"gid": 568,
"group_name": "mealie",
"uid": 568,
"user_name": "mealie"
},
{
"description": "Postgres runs as non-root user.",
"gid": 999,
"group_name": "postgres",
"uid": 999,
"user_name": "postgres"
}
],
"screenshots": [
"https://media.sys.truenas.net/apps/mealie/screenshots/screenshot1.png"
],
"sources": [
"https://docs.mealie.io/"
],
"title": "Mealie",
"train": "community",
"version": "1.5.13"
}
}
}
Mealie Deployment Notes
Support, maintenance, and documentation for applications within the Community catalog is handled by the TrueNAS community. The TrueNAS Applications Market 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.
Mealie is a self-hosted recipe manager and meal planner.
MeTube

Get Started with Apps!
App Version: 2025-07-30
Keywords: youtube-dl, yt-dlp
Train: Community
Home Page: https://github.com/alexta69/metube
Added: 2024-08-02
Last Updated: 2025-09-02
MeTube is a web GUI for youtube-dl (using the yt-dlp fork) with playlist support.
Run as Context- MeTube runs as any non-root user.
Group: 568 / metube
User: 568 / metube

App Metadata (Raw File)
{
"1.3.15": {
"healthy": true,
"supported": true,
"healthy_error": null,
"location": "/__w/apps/apps/trains/community/metube/1.3.15",
"last_update": "2025-09-02 11:33:24",
"required_features": [],
"human_version": "2025-07-30_1.3.15",
"version": "1.3.15",
"app_metadata": {
"annotations": {
"min_scale_version": "24.10.2.2"
},
"app_version": "2025-07-30",
"capabilities": [],
"categories": [
"media"
],
"date_added": "2024-08-02",
"description": "MeTube is a web GUI for youtube-dl (using the yt-dlp fork) with playlist support.",
"home": "https://github.com/alexta69/metube",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/metube/icons/icon.svg",
"keywords": [
"youtube-dl",
"yt-dlp"
],
"lib_version": "2.1.49",
"lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
"maintainers": [
{
"email": "dev@ixsystems.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "metube",
"run_as_context": [
{
"description": "MeTube runs as any non-root user.",
"gid": 568,
"group_name": "metube",
"uid": 568,
"user_name": "metube"
}
],
"screenshots": [
"https://media.sys.truenas.net/apps/metube/screenshots/screenshot1.png"
],
"sources": [
"https://github.com/alexta69/metube"
],
"title": "MeTube",
"train": "community",
"version": "1.3.15"
},
"schema": {
"groups": [
{
"name": "MeTube Configuration",
"description": "Configure MeTube"
},
{
"name": "User and Group Configuration",
"description": "Configure User and Group for MeTube"
},
{
"name": "Network Configuration",
"description": "Configure Network for MeTube"
},
{
"name": "Storage Configuration",
"description": "Configure Storage for MeTube"
},
{
"name": "Labels Configuration",
"description": "Configure Labels for MeTube"
},
{
"name": "Resources Configuration",
"description": "Configure Resources for MeTube"
}
],
"questions": [
{
"variable": "metube",
"label": "",
"group": "MeTube Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "default_theme",
"label": "Default Theme",
"description": "The default theme for MeTube.",
"schema": {
"type": "string",
"default": "auto",
"required": true,
"enum": [
{
"value": "auto",
"description": "Auto"
},
{
"value": "dark",
"description": "Dark"
},
{
"value": "light",
"description": "Light"
}
]
}
},
{
"variable": "ytdl_options",
"label": "YouTube-DL Options",
"description": "See available options at https://github.com/yt-dlp/yt-dlp/blob/master/yt_dlp/YoutubeDL.py#L220",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "ytdl_option",
"label": "Option",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "key",
"label": "Key",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "value",
"label": "Value",
"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 MeTube files will be owned by.",
"schema": {
"type": "int",
"min": 568,
"default": 568,
"required": true
}
},
{
"variable": "group",
"label": "Group ID",
"description": "The group id that MeTube files will be owned by.",
"schema": {
"type": "int",
"min": 568,
"default": 568,
"required": true
}
}
]
}
},
{
"variable": "network",
"label": "",
"group": "Network Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "web_port",
"label": "WebUI 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": 30094,
"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": "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": "storage",
"label": "",
"group": "Storage Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "downloads",
"label": "MeTube Downloads Storage",
"description": "The path to store MeTube Downloads.",
"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": "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": "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": "downloads"
}
},
{
"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": []
}
}
]
}
},
{
"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": "metube",
"description": "metube"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
"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 MeTube.",
"schema": {
"type": "int",
"default": 2,
"required": true
}
},
{
"variable": "memory",
"label": "Memory (in MB)",
"description": "Memory limit for MeTube.",
"schema": {
"type": "int",
"default": 4096,
"required": true
}
}
]
}
}
]
}
}
]
},
"readme": "<h1>MeTube</h1> <p><a href=\"https://github.com/alexta69/metube\">MeTube</a> is a web GUI for youtube-dl (using the yt-dlp fork) with playlist support.</p>",
"changelog": null,
"chart_metadata": {
"annotations": {
"min_scale_version": "24.10.2.2"
},
"app_version": "2025-07-30",
"capabilities": [],
"categories": [
"media"
],
"date_added": "2024-08-02",
"description": "MeTube is a web GUI for youtube-dl (using the yt-dlp fork) with playlist support.",
"home": "https://github.com/alexta69/metube",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/metube/icons/icon.svg",
"keywords": [
"youtube-dl",
"yt-dlp"
],
"lib_version": "2.1.49",
"lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
"maintainers": [
{
"email": "dev@ixsystems.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "metube",
"run_as_context": [
{
"description": "MeTube runs as any non-root user.",
"gid": 568,
"group_name": "metube",
"uid": 568,
"user_name": "metube"
}
],
"screenshots": [
"https://media.sys.truenas.net/apps/metube/screenshots/screenshot1.png"
],
"sources": [
"https://github.com/alexta69/metube"
],
"title": "MeTube",
"train": "community",
"version": "1.3.15"
}
}
}
Minecraft

Get Started with Apps!
App Version: 2025.9.2-java21 (Changelog)
Keywords: world, building
Train: Community
Home Page: https://www.minecraft.net/en-us
Added: 2024-08-05
Last Updated: 2025-09-08
Minecraft dedicated server for Java platform hosts a world for multiplayer game. Players can join the server using the Java client on Desktops.
Run as Context- Minecraft runs as root user.
Group: 0 / root
User: 0 / root
Security Capabilities
- Minecraft is able to change file ownership arbitrarily
- Minecraft is able to bypass file permission checks
- Minecraft is able to bypass permission checks for file operations
- Minecraft is able to use raw and packet sockets
- Minecraft is able to change group ID of processes
- Minecraft is able to change user ID of processes
App Metadata (Raw File)
{
"1.13.13": {
"healthy": true,
"supported": true,
"healthy_error": null,
"location": "/__w/apps/apps/trains/community/minecraft/1.13.13",
"last_update": "2025-09-08 11:13:19",
"required_features": [],
"human_version": "2025.9.2-java21_1.13.13",
"version": "1.13.13",
"app_metadata": {
"annotations": {
"min_scale_version": "24.10.2.2"
},
"app_version": "2025.9.2-java21",
"capabilities": [
{
"description": "Minecraft is able to change file ownership arbitrarily",
"name": "CHOWN"
},
{
"description": "Minecraft is able to bypass file permission checks",
"name": "DAC_OVERRIDE"
},
{
"description": "Minecraft is able to bypass permission checks for file operations",
"name": "FOWNER"
},
{
"description": "Minecraft is able to use raw and packet sockets",
"name": "NET_RAW"
},
{
"description": "Minecraft is able to change group ID of processes",
"name": "SETGID"
},
{
"description": "Minecraft is able to change user ID of processes",
"name": "SETUID"
}
],
"categories": [
"games"
],
"changelog_url": "https://github.com/itzg/docker-minecraft-server/releases",
"date_added": "2024-08-05",
"description": "Minecraft dedicated server for Java platform hosts a world for multiplayer game.\nPlayers can join the server using the Java client on Desktops.\n",
"home": "https://www.minecraft.net/en-us",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/minecraft/icons/icon.svg",
"keywords": [
"world",
"building"
],
"lib_version": "2.1.49",
"lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
"maintainers": [
{
"email": "dev@ixsystems.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "minecraft",
"run_as_context": [
{
"description": "Minecraft runs as root user.",
"gid": 0,
"group_name": "root",
"uid": 0,
"user_name": "root"
}
],
"screenshots": [],
"sources": [
"https://www.minecraft.net/en-us",
"https://github.com/itzg/docker-minecraft-server"
],
"title": "Minecraft Server (Java)",
"train": "community",
"version": "1.13.13"
},
"schema": {
"groups": [
{
"name": "Minecraft Configuration",
"description": "Configure Minecraft"
},
{
"name": "User and Group Configuration",
"description": "Configure User and Group for Minecraft"
},
{
"name": "Network Configuration",
"description": "Configure Network for Minecraft"
},
{
"name": "Storage Configuration",
"description": "Configure Storage for Minecraft"
},
{
"name": "Labels Configuration",
"description": "Configure Labels for Minecraft"
},
{
"name": "Resources Configuration",
"description": "Configure Resources for Minecraft"
}
],
"questions": [
{
"variable": "TZ",
"group": "Minecraft Configuration",
"label": "Timezone",
"schema": {
"type": "string",
"default": "Etc/UTC",
"required": true,
"$ref": [
"definitions/timezone"
]
}
},
{
"variable": "minecraft",
"label": "",
"group": "Minecraft Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "eula",
"label": "EULA",
"description": "The EULA for Minecraft",
"schema": {
"type": "boolean",
"default": false,
"required": true
}
},
{
"variable": "image_selector",
"label": "Image Selector",
"description": "The image selector for Minecraft",
"schema": {
"type": "string",
"default": "image",
"required": true,
"enum": [
{
"value": "j8_image",
"description": "Java 8 HotSpot (Alpine)"
},
{
"value": "j8_j9_image",
"description": "Java 8 OpenJ9 (Debian)"
},
{
"value": "j8_jdk_image",
"description": "Java 8 HotSpot+JDK (Ubuntu)"
},
{
"value": "j8_gce_image",
"description": "Java 8 GraalVM CE (Oracle)"
},
{
"value": "j11_image",
"description": "Java 11 HotSpot (Ubuntu)"
},
{
"value": "j11_j9_image",
"description": "Java 11 OpenJ9 (Debian)"
},
{
"value": "j11_jdk_image",
"description": "Java 11 HotSpot+JDK (Ubuntu)"
},
{
"value": "j17_image",
"description": "Java 17 HotSpot (Ubuntu)"
},
{
"value": "j17_j9_image",
"description": "Java 17 OpenJ9 (Debian)"
},
{
"value": "j17_jdk_image",
"description": "Java 17 HotSpot+JDK (Ubuntu)"
},
{
"value": "j17_gce_image",
"description": "Java 17 GraalVM CE (Oracle)"
},
{
"value": "j17_alpine_image",
"description": "Java 17 HotSpot (Alpine)"
},
{
"value": "j19_image",
"description": "Java 19 HotSpot (Ubuntu)"
},
{
"value": "image",
"description": "Java 21 HotSpot (Ubuntu)"
},
{
"value": "j21_g_image",
"description": "Java 21 GraalVM (Oracle)"
},
{
"value": "j21_alpine_image",
"description": "Java 21 HotSpot (Alpine)"
}
]
}
},
{
"variable": "type",
"label": "Type",
"description": "The type of Minecraft server to run.</br>\nDepending on the type you select, you might need\nto add additional environment variables. </br>\nhttps://itzg.github.io/docker-minecraft-docs/java/server-types/bukkit-spigot\n",
"schema": {
"type": "string",
"default": "VANILLA",
"required": true,
"enum": [
{
"value": "VANILLA",
"description": "Vanilla"
},
{
"value": "SPIGOT",
"description": "Spigot"
},
{
"value": "BUKKIT",
"description": "Bukkit"
},
{
"value": "PAPER",
"description": "Paper"
},
{
"value": "FOLIA",
"description": "Folia"
},
{
"value": "FABRIC",
"description": "Fabric"
},
{
"value": "FORGE",
"description": "Forge"
},
{
"value": "NEOFORGE",
"description": "NeoForge"
},
{
"value": "AUTO_CURSEFORGE",
"description": "CurseForge"
},
{
"value": "MODRINTH",
"description": "Modrinth"
},
{
"value": "FTBA",
"description": "Feed the Beast"
},
{
"value": "PUFFERFISH",
"description": "Pufferfish"
},
{
"value": "PURPUR",
"description": "Purpur"
},
{
"value": "QUILT",
"description": "Quilt"
},
{
"value": "MAGMA",
"description": "Magma"
},
{
"value": "MAGMA_MAINTAINED",
"description": "Magma Maintained"
},
{
"value": "KETTING",
"description": "Ketting"
},
{
"value": "MOHIST",
"description": "Mohist"
},
{
"value": "CATSERVER",
"description": "Catserver"
},
{
"value": "SPONGEVANILLA",
"description": "SpongeVanilla"
},
{
"value": "LIMBO",
"description": "Limbo"
},
{
"value": "CRUCIBLE",
"description": "Crucible"
},
{
"value": "CUSTOM",
"description": "Custom"
}
]
}
},
{
"variable": "version",
"label": "Version",
"description": "The minecraft version.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/versions/minecraft\n",
"schema": {
"type": "string",
"default": "LATEST",
"required": true
}
},
{
"variable": "mode",
"label": "Game Mode",
"description": "The game mode of the Minecraft server.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/gamemode\n",
"schema": {
"type": "string",
"default": "survival",
"required": true,
"enum": [
{
"value": "survival",
"description": "Survival"
},
{
"value": "creative",
"description": "Creative"
},
{
"value": "adventure",
"description": "Adventure"
},
{
"value": "spectator",
"description": "Spectator"
}
]
}
},
{
"variable": "server_name",
"label": "Server Name",
"description": "The name of the Minecraft server.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/servername\n",
"schema": {
"type": "string",
"default": "Minecraft Server",
"required": true
}
},
{
"variable": "difficulty",
"label": "Difficulty",
"description": "The difficulty of the Minecraft server.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/difficulty\n",
"schema": {
"type": "string",
"default": "easy",
"required": true,
"enum": [
{
"value": "peaceful",
"description": "Peaceful"
},
{
"value": "easy",
"description": "Easy"
},
{
"value": "normal",
"description": "Normal"
},
{
"value": "hard",
"description": "Hard"
}
]
}
},
{
"variable": "seed",
"label": "Seed",
"description": "The seed for the Minecraft server.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/seed </br>\n(Quotes is handled by the field automatically)\n",
"schema": {
"type": "string",
"default": ""
}
},
{
"variable": "level_type",
"label": "Level Type",
"description": "The level type of the Minecraft server.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/#level-type-and-generator-settings\n",
"schema": {
"type": "string",
"default": "minecraft:default",
"required": true,
"enum": [
{
"value": "minecraft:default",
"description": "Default"
},
{
"value": "minecraft:flat",
"description": "Flat"
},
{
"value": "minecraft:large_biomes",
"description": "Large Biomes"
},
{
"value": "minecraft:amplified",
"description": "Amplified"
},
{
"value": "minecraft:single_biome_surface",
"description": "Single Biome Surface"
},
{
"value": "buffet",
"description": "Buffet"
},
{
"value": "customized",
"description": "Customized"
}
]
}
},
{
"variable": "motd",
"label": "Message of the Day",
"description": "The message of the day for the Minecraft server.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/motd\n",
"schema": {
"type": "string",
"default": "Welcome to Minecraft on TrueNAS!",
"required": true
}
},
{
"variable": "enable_rcon",
"label": "Enable RCON",
"description": "Enable RCON for the Minecraft server.</br>\nIt is recommended to keep this enabled, as it helps to\nshut down the minecraft server gracefully.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/rcon\n",
"schema": {
"type": "boolean",
"default": true
}
},
{
"variable": "rcon_password",
"label": "RCON Password",
"description": "The RCON password for the Minecraft server.",
"schema": {
"type": "string",
"default": "",
"show_if": [
[
"enable_rcon",
"=",
true
]
],
"private": true,
"required": true
}
},
{
"variable": "max_players",
"label": "Max Players",
"description": "The maximum number of players that can join the server.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/maxplayers\n",
"schema": {
"type": "int",
"default": 20,
"min": 1,
"required": true
}
},
{
"variable": "max_world_size",
"label": "Max World Size",
"description": "The maximum possible size in blocks, expressed as a radius.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/maxworldsize\n",
"schema": {
"type": "int",
"default": 10000,
"min": 1,
"required": true
}
},
{
"variable": "max_build_height",
"label": "Max Build Height",
"description": "The maximum height in which building is allowed.\nTerrain may still naturally generate above a low height limit.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/maxbuildheight\n",
"schema": {
"type": "int",
"default": 256,
"min": 1,
"required": true
}
},
{
"variable": "allow_nether",
"label": "Allow Nether",
"description": "Allows players to travel to the Nether.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/allownether\n",
"schema": {
"type": "boolean",
"default": true
}
},
{
"variable": "announce_player_achievements",
"label": "Announce Player Achievements",
"description": "Allows server to announce when a player gets an achievement.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/announceachievements\n",
"schema": {
"type": "boolean",
"default": true
}
},
{
"variable": "enable_command_block",
"label": "Enable Command Block",
"description": "Enables the command blocks.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/enablecommandblock\n",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "force_game_mode",
"label": "Force Game Mode",
"description": "Force players to join in the default game mode.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/forcegamemode\n",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "generate_structures",
"label": "Generate Structures",
"description": "Defines whether structures (such as villages) will be generated.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/generatestructures\n",
"schema": {
"type": "boolean",
"default": true
}
},
{
"variable": "hardcore",
"label": "Hardcore",
"description": "If set to true, players will be set to spectator mode if they die.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/hardcore\n",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "spawn_animals",
"label": "Spawn Animals",
"description": "Determines if animals will be able to spawn.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/spawnanimals\n",
"schema": {
"type": "boolean",
"default": true
}
},
{
"variable": "spawn_npcs",
"label": "Spawn NPCs",
"description": "Determines if villagers will be spawned.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/spawnnpcs\n",
"schema": {
"type": "boolean",
"default": true
}
},
{
"variable": "spawn_monsters",
"label": "Spawn Monsters",
"description": "Determines if monsters will be spawned.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/spawnmonsters\n",
"schema": {
"type": "boolean",
"default": true
}
},
{
"variable": "spawn_protection",
"label": "Spawn Protection",
"description": "The radius of the spawn protection.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/spawnprotection\n",
"schema": {
"type": "int",
"default": 16,
"min": 0,
"required": true
}
},
{
"variable": "pvp",
"label": "PVP",
"description": "Determines if PVP will be enabled.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/pvp\n",
"schema": {
"type": "boolean",
"default": true
}
},
{
"variable": "allow_flight",
"label": "Allow Flight",
"description": "Allows users to use flight on your server while in Survival mode,\nif they have a mod that provides flight installed.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/allowflight\n",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "view_distance",
"label": "View Distance",
"description": "Sets the amount of world data the server sends the client,\nmeasured in chunks in each direction of the player (radius, not diameter).\nIt determines the server-side viewing distance.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/viewdistance\n",
"schema": {
"type": "int",
"default": 10,
"min": 3,
"max": 32,
"required": true
}
},
{
"variable": "online_mode",
"label": "Online Mode",
"description": "If set to true, the server will attempt to authenticate clients\nconnecting to it with the Minecraft account database.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/onlinemode\n",
"schema": {
"type": "boolean",
"default": true
}
},
{
"variable": "max_tick_time",
"label": "Max Tick Time",
"description": "The maximum number of milliseconds a single tick may take\nbefore the server watchdog stops the server with the message,\nA single server tick took 60.00 seconds (should be max 0.05);\nConsidering it to be crashed, server will forcibly shutdown.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/maxticktime\n",
"schema": {
"type": "int",
"default": 60000,
"min": 0,
"required": true
}
},
{
"variable": "ops",
"label": "Operators / Administrators",
"description": "A list of player names who should be considered operators.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/ops\n",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "op_player",
"label": "OP Player",
"schema": {
"type": "string",
"default": "",
"required": true
}
}
]
}
},
{
"variable": "whitelist",
"label": "Whitelist",
"description": "A list of player names who are allowed to play on the server.</br>\nhttps://itzg.github.io/docker-minecraft-docs/java/configuration/whitelist\n",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "white_player",
"label": "Whitelisted Player",
"schema": {
"type": "string",
"default": "",
"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 Minecraft files will be owned by.",
"schema": {
"type": "int",
"min": 568,
"default": 568,
"required": true
}
},
{
"variable": "group",
"label": "Group ID",
"description": "The group id that Minecraft files will be owned by.",
"schema": {
"type": "int",
"min": 568,
"default": 568,
"required": true
}
}
]
}
},
{
"variable": "network",
"label": "",
"group": "Network Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "server_port",
"label": "Server 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": 25535,
"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": "rcon_port",
"label": "RCON 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": 25575,
"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": "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": "additional_ports",
"label": "Additional Ports",
"schema": {
"type": "list",
"show_if": [
[
"host_network",
"=",
false
]
],
"items": [
{
"variable": "port",
"label": "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",
"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"
}
]
}
},
{
"variable": "port_number",
"label": "Port Number",
"schema": {
"type": "int",
"min": 1,
"max": 65535,
"required": true
}
},
{
"variable": "container_port",
"label": "Container Port",
"schema": {
"type": "int",
"min": 1,
"max": 65535,
"required": true
}
},
{
"variable": "protocol",
"label": "Protocol",
"schema": {
"type": "string",
"required": true,
"default": "tcp",
"enum": [
{
"value": "tcp",
"description": "TCP"
},
{
"value": "udp",
"description": "UDP"
}
]
}
},
{
"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": "storage",
"label": "",
"group": "Storage Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "data",
"label": "Minecraft Data Storage",
"description": "The path to store Minecraft Data.",
"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": "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": "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": "data"
}
},
{
"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": []
}
}
]
}
},
{
"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": "minecraft",
"description": "minecraft"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
"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 Minecraft.",
"schema": {
"type": "int",
"default": 2,
"required": true
}
},
{
"variable": "memory",
"label": "Memory (in MB)",
"description": "Memory limit for Minecraft.",
"schema": {
"type": "int",
"default": 4096,
"required": true
}
}
]
}
}
]
}
}
]
},
"readme": "<h1>Minecraft</h1> <p><a href=\"https://www.minecraft.net/en-us\">Minecraft</a> is a sandbox game</p> <p>Depending on the <code>Type</code> of server selected, you might need to add additional custom environment variables to the application.</p> <p>More info can be found <a href=\"https://itzg.github.io/docker-minecraft-docs/java/server-types/bukkit-spigot/\">here</a> Select the type on the sidebar.</p> <p>Note that some values are only applicable during the world generation. More info can be found <a href=\"https://itzg.github.io/docker-minecraft-docs/\">here</a></p>",
"changelog": null,
"chart_metadata": {
"annotations": {
"min_scale_version": "24.10.2.2"
},
"app_version": "2025.9.2-java21",
"capabilities": [
{
"description": "Minecraft is able to change file ownership arbitrarily",
"name": "CHOWN"
},
{
"description": "Minecraft is able to bypass file permission checks",
"name": "DAC_OVERRIDE"
},
{
"description": "Minecraft is able to bypass permission checks for file operations",
"name": "FOWNER"
},
{
"description": "Minecraft is able to use raw and packet sockets",
"name": "NET_RAW"
},
{
"description": "Minecraft is able to change group ID of processes",
"name": "SETGID"
},
{
"description": "Minecraft is able to change user ID of processes",
"name": "SETUID"
}
],
"categories": [
"games"
],
"changelog_url": "https://github.com/itzg/docker-minecraft-server/releases",
"date_added": "2024-08-05",
"description": "Minecraft dedicated server for Java platform hosts a world for multiplayer game.\nPlayers can join the server using the Java client on Desktops.\n",
"home": "https://www.minecraft.net/en-us",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/minecraft/icons/icon.svg",
"keywords": [
"world",
"building"
],
"lib_version": "2.1.49",
"lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
"maintainers": [
{
"email": "dev@ixsystems.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "minecraft",
"run_as_context": [
{
"description": "Minecraft runs as root user.",
"gid": 0,
"group_name": "root",
"uid": 0,
"user_name": "root"
}
],
"screenshots": [],
"sources": [
"https://www.minecraft.net/en-us",
"https://github.com/itzg/docker-minecraft-server"
],
"title": "Minecraft Server (Java)",
"train": "community",
"version": "1.13.13"
}
}
}
Minecraft Bedrock
Get Started with Apps!
Keywords: world, building
Train: Community
Home Page: https://www.minecraft.net/en-us
Added: 2025-01-15
Last Updated: 2025-09-02
Minecraft dedicated server for Bedrock platform hosts a world for multiplayer game. Players can join the server using the Bedrock client on Desktops, Mobiles, and consoles.
Run as Context- Minecraft runs as any non-root user.
Group: 568 / minecraft
User: 568 / minecraft
App Metadata (Raw File)
{
"1.0.27": {
"healthy": true,
"supported": true,
"healthy_error": null,
"location": "/__w/apps/apps/trains/community/minecraft-bedrock/1.0.27",
"last_update": "2025-09-02 15:29:51",
"required_features": [],
"human_version": "2025.9.0_1.0.27",
"version": "1.0.27",
"app_metadata": {
"app_version": "2025.9.0",
"capabilities": [],
"categories": [
"games"
],
"changelog_url": "https://github.com/itzg/docker-minecraft-bedrock-server/releases",
"date_added": "2025-01-15",
"description": "Minecraft dedicated server for Bedrock platform hosts a world for multiplayer game.\nPlayers can join the server using the Bedrock client on Desktops, Mobiles, and consoles.\n",
"home": "https://www.minecraft.net/en-us",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/minecraft-bedrock/icons/icon.svg",
"keywords": [
"world",
"building"
],
"lib_version": "2.1.49",
"lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
"maintainers": [
{
"email": "dev@ixsystems.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "minecraft-bedrock",
"run_as_context": [
{
"description": "Minecraft runs as any non-root user.",
"gid": 568,
"group_name": "minecraft",
"uid": 568,
"user_name": "minecraft"
}
],
"screenshots": [],
"sources": [
"https://www.minecraft.net/en-us",
"https://github.com/itzg/docker-minecraft-bedrock-server"
],
"title": "Minecraft Server (Bedrock)",
"train": "community",
"version": "1.0.27"
},
"schema": {
"groups": [
{
"name": "Minecraft Bedrock Configuration",
"description": "Configure Minecraft Bedrock"
},
{
"name": "User and Group Configuration",
"description": "Configure User and Group for Minecraft Bedrock"
},
{
"name": "Network Configuration",
"description": "Configure Network for Minecraft Bedrock"
},
{
"name": "Storage Configuration",
"description": "Configure Storage for Minecraft Bedrock"
},
{
"name": "Labels Configuration",
"description": "Configure Labels for Minecraft Bedrock"
},
{
"name": "Resources Configuration",
"description": "Configure Resources for Minecraft Bedrock"
}
],
"questions": [
{
"variable": "TZ",
"group": "Minecraft Bedrock Configuration",
"label": "Timezone",
"schema": {
"type": "string",
"default": "Etc/UTC",
"required": true,
"$ref": [
"definitions/timezone"
]
}
},
{
"variable": "minecraft_bedrock",
"label": "",
"group": "Minecraft Bedrock Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "eula",
"label": "EULA",
"description": "The end user license agreement for Minecraft Bedrock. </br>\nhttps://www.minecraft.net/en-us/eula\nMust be checked...\n",
"schema": {
"type": "boolean",
"default": false,
"required": true
}
},
{
"variable": "version",
"label": "Version",
"description": "Version of the minecraft server to load on startup : </br>\nLATEST : determines the latest version (can be used to auto-upgrade on start). </br>\nPREVIOUS : uses the previously maintained major version. (Useful when the mobile app is gradually being upgraded across devices.) </br>\notherwise any specific server version can be provided to allow for temporary bug avoidance, etc. </br>\nhttps://github.com/truenas/apps/issues/1641\n",
"schema": {
"type": "string",
"default": "LATEST",
"required": true
}
},
{
"variable": "server_name",
"label": "Server Name",
"schema": {
"type": "string",
"default": "Minecraft Bedrock Server",
"required": true
}
},
{
"variable": "level_name",
"label": "Level Name",
"description": "The name of which level used/generated. Each level has its own folder in /worlds.",
"schema": {
"type": "string",
"default": "Bedrock level",
"valid_chars": "^[^\\n\\r\\t\\f`?*\\<>|\"':]+$",
"valid_chars_error": "Cannot contain illegal filename characters: /\\n\\r\\t\\f`?*\\\\<>|\\\":\n",
"required": true
}
},
{
"variable": "level_type",
"label": "Level Type",
"description": "Type of generation for the world. </br>\nOnly used on world creation during install. </br>\nhttps://minecraft.fandom.com/wiki/Server.properties#Option_keys -> level-type\n",
"schema": {
"type": "string",
"default": "DEFAULT",
"required": true,
"enum": [
{
"value": "DEFAULT",
"description": "Default"
},
{
"value": "FLAT",
"description": "Flat"
},
{
"value": "LEGACY",
"description": "Legacy"
}
]
}
},
{
"variable": "level_seed",
"label": "Level Seed",
"description": "The seed for the world generator in the Minecraft Bedrock server.</br>\nIf left empty, a seed is chosen at random. </br>\nOnly used on world creation during install. </br>\nhttps://minecraft.fandom.com/wiki/Server.properties#Option_keys -> seed\n",
"schema": {
"type": "string",
"default": ""
}
},
{
"variable": "game_mode",
"label": "Game Mode",
"schema": {
"type": "string",
"default": "survival",
"required": true,
"enum": [
{
"value": "survival",
"description": "Survival"
},
{
"value": "creative",
"description": "Creative"
},
{
"value": "adventure",
"description": "Adventure"
}
]
}
},
{
"variable": "force_game_mode",
"label": "Force Game Mode",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "difficulty",
"label": "Difficulty",
"schema": {
"type": "string",
"default": "easy",
"required": true,
"enum": [
{
"value": "peaceful",
"description": "Peaceful"
},
{
"value": "easy",
"description": "Easy"
},
{
"value": "normal",
"description": "Normal"
},
{
"value": "hard",
"description": "Hard"
}
]
}
},
{
"variable": "allow_cheats",
"label": "Allow Cheats",
"description": "Allow usage of cheat like commands within game. </br>\nhttps://minecraft.fandom.com/wiki/Commands#List_and_summary_of_commands\n",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "view_distance",
"label": "View Distance",
"schema": {
"type": "int",
"default": 32,
"min": 5,
"required": true
}
},
{
"variable": "tick_distance",
"label": "Tick Distance",
"schema": {
"type": "int",
"default": 4,
"min": 4,
"max": 12,
"required": true
}
},
{
"variable": "emit_server_telemetry",
"label": "Emit Server Telemetry",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "texture_pack_required",
"label": "Texture Pack Required",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "enable_lan_visibility",
"label": "Enable LAN Visibility",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "online_mode",
"label": "Online Mode",
"description": "Enable online mode. </br>\nWhen enabled, all connected players must be authenticated to Xbox Live. </br>\nhttps://minecraft.fandom.com/wiki/Server.properties#Option_keys -> Online Mode\n",
"schema": {
"type": "boolean",
"default": true
}
},
{
"variable": "max_players",
"label": "Max Players Number",
"description": "Maximum number of player that can be connected at the same Time. </br>\nhttps://minecraft.fandom.com/wiki/Server.properties#Option_keys -> max-players\n",
"schema": {
"type": "int",
"default": 10,
"min": 1,
"required": true
}
},
{
"variable": "player_idle_timeout",
"label": "Player Idle Timeout",
"description": "Number of minutes a player can be idle before being kicked from the server.</br>\n0 to disable. </br>\nhttps://minecraft.fandom.com/wiki/Server.properties#Option_keys -> player-idle-timeout\n",
"schema": {
"type": "int",
"default": 30,
"min": 0,
"required": true
}
},
{
"variable": "default_player_permission_level",
"label": "Default Player Permission Level",
"description": "Permission level for new players joining for the first time. </br>\nhttps://minecraft.fandom.com/wiki/Server.properties#Option_keys -> default-player-permission-level\n",
"schema": {
"type": "string",
"default": "member",
"required": true,
"enum": [
{
"value": "visitor",
"description": "Visitor"
},
{
"value": "member",
"description": "Member"
},
{
"value": "operator",
"description": "Operator"
}
]
}
},
{
"variable": "ops",
"label": "Operators",
"description": "Sets operator permissions for listed players.</br>\nOperator can use commands. </br>\nhttps://hub.docker.com/r/itzg/minecraft-bedrock-server -> Permissions</br>\nOne XUID per field. (Xbox User ID can be found at https://www.cxkes.me/xbox/xuid)\n",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "op",
"label": "Op",
"schema": {
"type": "string",
"default": "",
"required": true
}
}
]
}
},
{
"variable": "members",
"label": "Members",
"description": "Sets member permissions for listed players.</br>\nhttps://hub.docker.com/r/itzg/minecraft-bedrock-server -> Permissions </br>\nOne XUID per field. (Xbox User ID can be found at https://www.cxkes.me/xbox/xuid)\n",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "member",
"label": "Member",
"schema": {
"type": "string",
"default": "",
"required": true
}
}
]
}
},
{
"variable": "visitors",
"label": "Visitors",
"description": "Sets visitor permissions for listed players. </br>\nhttps://hub.docker.com/r/itzg/minecraft-bedrock-server -> Permissions </br>\nOne XUID per field. (Xbox User ID can be found at https://www.cxkes.me/xbox/xuid)\n",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "visitor",
"label": "Visitor",
"schema": {
"type": "string",
"default": "",
"required": true
}
}
]
}
},
{
"variable": "allow_list_users",
"label": "Allow List Users",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "allow_list_user",
"label": "Allow List User",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "name",
"label": "Name",
"schema": {
"type": "string",
"default": "",
"required": true
}
},
{
"variable": "uuid",
"label": "UUID",
"schema": {
"type": "string",
"default": "",
"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 Minecraft Bedrock files will be owned by.",
"schema": {
"type": "int",
"min": 568,
"default": 568,
"required": true
}
},
{
"variable": "group",
"label": "Group ID",
"description": "The group id that Minecraft Bedrock files will be owned by.",
"schema": {
"type": "int",
"min": 568,
"default": 568,
"required": true
}
}
]
}
},
{
"variable": "network",
"label": "",
"group": "Network Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "server_port",
"label": "Server 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": 19132,
"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": "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": "storage",
"label": "",
"group": "Storage Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "data",
"label": "Minecraft Bedrock Data Storage",
"description": "The path to store Minecraft Bedrock Data.",
"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": "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": "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": "data"
}
},
{
"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": []
}
}
]
}
},
{
"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": "minecraft-bedrock",
"description": "minecraft-bedrock"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
"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 Minecraft Bedrock.",
"schema": {
"type": "int",
"default": 2,
"required": true
}
},
{
"variable": "memory",
"label": "Memory (in MB)",
"description": "Memory limit for Minecraft Bedrock.",
"schema": {
"type": "int",
"default": 4096,
"required": true
}
}
]
}
}
]
}
}
]
},
"readme": "<h1>Minecraft Bedrock</h1> <p><a href=\"https://www.minecraft.net/en-us\">Minecraft Bedrock</a> Dedicated Server</p>",
"changelog": null,
"chart_metadata": {
"app_version": "2025.9.0",
"capabilities": [],
"categories": [
"games"
],
"changelog_url": "https://github.com/itzg/docker-minecraft-bedrock-server/releases",
"date_added": "2025-01-15",
"description": "Minecraft dedicated server for Bedrock platform hosts a world for multiplayer game.\nPlayers can join the server using the Bedrock client on Desktops, Mobiles, and consoles.\n",
"home": "https://www.minecraft.net/en-us",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/minecraft-bedrock/icons/icon.svg",
"keywords": [
"world",
"building"
],
"lib_version": "2.1.49",
"lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
"maintainers": [
{
"email": "dev@ixsystems.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "minecraft-bedrock",
"run_as_context": [
{
"description": "Minecraft runs as any non-root user.",
"gid": 568,
"group_name": "minecraft",
"uid": 568,
"user_name": "minecraft"
}
],
"screenshots": [],
"sources": [
"https://www.minecraft.net/en-us",
"https://github.com/itzg/docker-minecraft-bedrock-server"
],
"title": "Minecraft Server (Bedrock)",
"train": "community",
"version": "1.0.27"
}
}
}
MineOS


Get Started with Apps!
App Version: latest (Changelog)
Keywords: minecraft
Train: Community
Home Page: https://github.com/hexparrot/mineos-node
Added: 2024-08-02
Last Updated: 2025-09-02
MineOS is a server front-end to ease managing Minecraft administrative tasks.
Run as Context- MineOS runs as root user.
Group: 0 / root
User: 0 / root

Security Capabilities
- MineOS is able to change file ownership arbitrarily
- MineOS is able to bypass file permission checks
- MineOS is able to bypass permission checks for file operations
- MineOS is able to change group ID of processes
- MineOS is able to change user ID of processes
App Metadata (Raw File)
{
"1.2.6": {
"healthy": true,
"supported": true,
"healthy_error": null,
"location": "/__w/apps/apps/trains/community/mineos/1.2.6",
"last_update": "2025-09-02 11:33:24",
"required_features": [],
"human_version": "latest_1.2.6",
"version": "1.2.6",
"app_metadata": {
"annotations": {
"min_scale_version": "24.10.2.2"
},
"app_version": "latest",
"capabilities": [
{
"description": "MineOS is able to change file ownership arbitrarily",
"name": "CHOWN"
},
{
"description": "MineOS is able to bypass file permission checks",
"name": "DAC_OVERRIDE"
},
{
"description": "MineOS is able to bypass permission checks for file operations",
"name": "FOWNER"
},
{
"description": "MineOS is able to change group ID of processes",
"name": "SETGID"
},
{
"description": "MineOS is able to change user ID of processes",
"name": "SETUID"
}
],
"categories": [
"games"
],
"changelog_url": "https://github.com/hexparrot/mineos-node/releases",
"date_added": "2024-08-02",
"description": "MineOS is a server front-end to ease managing Minecraft administrative tasks.",
"home": "https://github.com/hexparrot/mineos-node",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/mineos/icons/icon.png",
"keywords": [
"minecraft"
],
"lib_version": "2.1.49",
"lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
"maintainers": [
{
"email": "dev@ixsystems.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "mineos",
"run_as_context": [
{
"description": "MineOS runs as root user.",
"gid": 0,
"group_name": "root",
"uid": 0,
"user_name": "root"
}
],
"screenshots": [
"https://media.sys.truenas.net/apps/mineos/screenshots/screenshot1.png"
],
"sources": [
"https://hub.docker.com/r/hexparrot/mineos/",
"https://github.com/hexparrot/mineos-node"
],
"title": "MineOS",
"train": "community",
"version": "1.2.6"
},
"schema": {
"groups": [
{
"name": "MineOS Configuration",
"description": "Configure MineOS"
},
{
"name": "User and Group Configuration",
"description": "Configure User and Group for MineOS"
},
{
"name": "Network Configuration",
"description": "Configure Network for MineOS"
},
{
"name": "Storage Configuration",
"description": "Configure Storage for MineOS"
},
{
"name": "Labels Configuration",
"description": "Configure Labels for MineOS"
},
{
"name": "Resources Configuration",
"description": "Configure Resources for MineOS"
}
],
"questions": [
{
"variable": "mineos",
"label": "",
"group": "MineOS Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "username",
"label": "Username",
"description": "The username for MineOS.",
"schema": {
"type": "string",
"required": true,
"valid_chars": "^[a-zA-Z0-9]+$",
"valid_chars_error": "Username can only contain alphanumeric characters [0-9, a-z, A-Z].\n"
}
},
{
"variable": "password",
"label": "Password",
"description": "The password for MineOS.",
"schema": {
"type": "string",
"required": true,
"private": true
}
},
{
"variable": "stop_grace_period",
"label": "Stop Grace Period",
"description": "The time in seconds given to MineOS to stop before it is killed.\nKilling a MineOS server without a grace period can cause data corruption.\n",
"schema": {
"type": "int",
"min": 30,
"default": 600,
"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 MineOS files will be owned by.",
"schema": {
"type": "int",
"min": 568,
"default": 568,
"required": true
}
},
{
"variable": "group",
"label": "Group ID",
"description": "The group id that MineOS files will be owned by.",
"schema": {
"type": "int",
"min": 568,
"default": 568,
"required": true
}
}
]
}
},
{
"variable": "network",
"label": "",
"group": "Network Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "web_port",
"label": "WebUI 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": 30052,
"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": "additional_ports",
"label": "Additional Ports",
"schema": {
"type": "list",
"items": [
{
"variable": "port",
"label": "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",
"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"
}
]
}
},
{
"variable": "port_number",
"label": "Port Number",
"schema": {
"type": "int",
"min": 1,
"max": 65535,
"required": true
}
},
{
"variable": "container_port",
"label": "Container Port",
"schema": {
"type": "int",
"min": 1,
"max": 65535,
"required": true
}
},
{
"variable": "protocol",
"label": "Protocol",
"schema": {
"type": "string",
"required": true,
"default": "tcp",
"enum": [
{
"value": "tcp",
"description": "TCP"
},
{
"value": "udp",
"description": "UDP"
}
]
}
},
{
"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": "use_https",
"label": "Use HTTPS",
"description": "Enable HTTPS for MineOS WebUI.</br>\nIf enabled, and you don't specify a certificate, </br>\na self-signed certificate will be generated.\n",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "certificate_id",
"label": "Certificate ID",
"description": "The certificate to use for MineOS WebUI",
"schema": {
"show_if": [
[
"use_https",
"=",
true
]
],
"type": "int",
"null": true,
"$ref": [
"definitions/certificate"
]
}
}
]
}
},
{
"variable": "storage",
"label": "",
"group": "Storage Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "data",
"label": "MineOS Data Storage",
"description": "The path to store MineOS Data.",
"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": "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": "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": "data"
}
},
{
"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": []
}
}
]
}
},
{
"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": "mineos",
"description": "mineos"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
"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 Mineos.",
"schema": {
"type": "int",
"default": 2,
"required": true
}
},
{
"variable": "memory",
"label": "Memory (in MB)",
"description": "Memory limit for Mineos.",
"schema": {
"type": "int",
"default": 4096,
"required": true
}
}
]
}
}
]
}
}
]
},
"readme": "<h1>MineOS</h1> <p><a href=\"https://github.com/hexparrot/mineos-node\">MineOS</a> is a server front-end to ease managing Minecraft administrative tasks.</p>",
"changelog": null,
"chart_metadata": {
"annotations": {
"min_scale_version": "24.10.2.2"
},
"app_version": "latest",
"capabilities": [
{
"description": "MineOS is able to change file ownership arbitrarily",
"name": "CHOWN"
},
{
"description": "MineOS is able to bypass file permission checks",
"name": "DAC_OVERRIDE"
},
{
"description": "MineOS is able to bypass permission checks for file operations",
"name": "FOWNER"
},
{
"description": "MineOS is able to change group ID of processes",
"name": "SETGID"
},
{
"description": "MineOS is able to change user ID of processes",
"name": "SETUID"
}
],
"categories": [
"games"
],
"changelog_url": "https://github.com/hexparrot/mineos-node/releases",
"date_added": "2024-08-02",
"description": "MineOS is a server front-end to ease managing Minecraft administrative tasks.",
"home": "https://github.com/hexparrot/mineos-node",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/mineos/icons/icon.png",
"keywords": [
"minecraft"
],
"lib_version": "2.1.49",
"lib_version_hash": "e71e6b0122c9446fa5ea6fb07e7eb01b11fb42d549a19845426bbd7e21a42634",
"maintainers": [
{
"email": "dev@ixsystems.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "mineos",
"run_as_context": [
{
"description": "MineOS runs as root user.",
"gid": 0,
"group_name": "root",
"uid": 0,
"user_name": "root"
}
],
"screenshots": [
"https://media.sys.truenas.net/apps/mineos/screenshots/screenshot1.png"
],
"sources": [
"https://hub.docker.com/r/hexparrot/mineos/",
"https://github.com/hexparrot/mineos-node"
],
"title": "MineOS",
"train": "community",
"version": "1.2.6"
}
}
}
MinIO (Enterprise)

Get Started with Apps!
App Version: RELEASE.2025-04-22T22-12-26Z
Keywords: object storage, minio, cloud, s3
Train: Enterprise
Home Page: https://min.io
Added: 2024-07-31
Last Updated: 2025-09-02
High Performance, Kubernetes Native Object Storage
Run as Context- MinIO runs as any non-root user.
Group: 568 / minio
User: 568 / minio



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)


Get Started with Apps!
Keywords: storage, object-storage, S3
Train: Stable
Home Page: https://min.io
Added: 2024-07-31
Last Updated: 2025-05-27
The Object Store for AI Data Infrastructure
Run as Context- Minio runs as any non-root user.
Group: 473 / minio
User: 473 / minio



App Metadata (Raw File)
{
"1.3.9": {
"healthy": true,
"supported": true,
"healthy_error": null,
"location": "/__w/apps/apps/trains/stable/minio/1.3.9",
"last_update": "2025-09-08 11:13:19",
"required_features": [],
"human_version": "RELEASE.2025-09-07T16-13-09Z_1.3.9",
"version": "1.3.9",
"app_metadata": {
"annotations": {
"min_scale_version": "24.10.2.2"
},
"app_version": "RELEASE.2025-09-07T16-13-09Z",
"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.9"
},
"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-09-07T16-13-09Z",
"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.9"
}
},
"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"
}
}
}