Homarr
Homarr Details
Added: 2024-08-02
Last Updated: 2026-09-07
Added: 2024-08-02
Last Updated: 2026-09-07
Homarr a modern and easy to use dashboard. 14+ integrations. 10K+ icons built in. Authentication out of the box. No YAML, drag and drop configuration.
Run as Context- Container [homarr] runs as root user and group.
Group: 0 / Host group is [root]
User: 0 / Host user is [root]
Screenshots


×
Host Mounts
- /var/run/docker.sock : Docker socket
Security Capabilities
- Homarr is able to change file ownership arbitrarily
- Homarr is able to bypass file permission checks
- Homarr is able to bypass permission checks for file operations
- Homarr is able to change group ID of processes
- Homarr is able to change user ID of processes
App Metadata (Raw File)
{
"2.2.36": {
"healthy": true,
"supported": true,
"healthy_error": null,
"location": "/__w/apps/apps/trains/community/homarr/2.2.36",
"last_update": "2026-09-07 16:56:25",
"required_features": [],
"human_version": "v1.77.0_2.2.36",
"version": "2.2.36",
"app_metadata": {
"app_version": "v1.77.0",
"capabilities": [
{
"description": "Homarr is able to change file ownership arbitrarily",
"name": "CHOWN"
},
{
"description": "Homarr is able to bypass file permission checks",
"name": "DAC_OVERRIDE"
},
{
"description": "Homarr is able to bypass permission checks for file operations",
"name": "FOWNER"
},
{
"description": "Homarr is able to change group ID of processes",
"name": "SETGID"
},
{
"description": "Homarr is able to change user ID of processes",
"name": "SETUID"
}
],
"categories": [
"productivity"
],
"changelog_url": "https://github.com/homarr-labs/homarr/releases",
"date_added": "2024-08-02",
"description": "Homarr a modern and easy to use dashboard. 14+ integrations. 10K+ icons built in. Authentication out of the box. No YAML, drag and drop configuration.",
"home": "https://homarr.dev/",
"host_mounts": [
{
"description": "Docker socket",
"host_path": "/var/run/docker.sock"
}
],
"icon": "https://media.sys.truenas.net/apps/homarr/icons/icon.svg",
"keywords": [
"dashboard"
],
"lib_version": "2.3.4",
"lib_version_hash": "2e3a8847308fb2eb0da046018f287c73822c094b5950a10377c3235794ff1242",
"maintainers": [
{
"email": "dev@truenas.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "homarr",
"run_as_context": [
{
"description": "Container [homarr] runs as root user and group.",
"gid": 0,
"group_name": "Host group is [root]",
"uid": 0,
"user_name": "Host user is [root]"
}
],
"screenshots": [
"https://media.sys.truenas.net/apps/homarr/screenshots/screenshot1.png",
"https://media.sys.truenas.net/apps/homarr/screenshots/screenshot2.png",
"https://media.sys.truenas.net/apps/homarr/screenshots/screenshot3.png"
],
"sources": [
"https://apps.truenas.com/catalog/homarr_community/",
"https://github.com/homarr-labs/homarr",
"https://homarr.dev/"
],
"title": "Homarr",
"train": "community",
"version": "2.2.36"
},
"schema": {
"groups": [
{
"name": "Homarr Configuration",
"description": "Configure Homarr"
},
{
"name": "User and Group Configuration",
"description": "Configure User and Group for Homarr"
},
{
"name": "Network Configuration",
"description": "Configure Network for Homarr"
},
{
"name": "Storage Configuration",
"description": "Configure Storage for Homarr"
},
{
"name": "Labels Configuration",
"description": "Configure Labels for Homarr"
},
{
"name": "Resources Configuration",
"description": "Configure Resources for Homarr"
}
],
"questions": [
{
"variable": "TZ",
"group": "Homarr Configuration",
"label": "Timezone",
"schema": {
"type": "string",
"default": "Etc/UTC",
"required": true,
"$ref": [
"definitions/timezone"
]
}
},
{
"variable": "homarr",
"label": "",
"group": "Homarr Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "secret_encryption_key",
"label": "Secret Encryption Key",
"schema": {
"type": "string",
"default": "",
"min_length": 64,
"max_length": 64,
"required": true,
"valid_chars": "^[a-f0-9]+$",
"valid_chars_error": "Secret Encryption Key must be a hexadecimal string.</br>\nAllowed characters are [a-f] and [0-9].\n",
"private": true
}
},
{
"variable": "mount_docker_socket",
"label": "Mount Docker Socket",
"description": "Mount the Docker socket (read only) to the container.\n",
"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 Homarr files will be owned by.",
"schema": {
"type": "int",
"min": 568,
"default": 568,
"required": true
}
},
{
"variable": "group",
"label": "Group ID",
"description": "The group id that Homarr 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",
"show_if": [
[
"host_network",
"=",
false
]
],
"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",
"show_if": [
[
"bind_mode",
"=",
"published"
]
],
"default": 30100,
"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": "networks",
"label": "Networks",
"description": "The docker networks to join",
"schema": {
"type": "list",
"show_if": [
[
"host_network",
"=",
false
]
],
"default": [],
"items": [
{
"variable": "network",
"label": "Network",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "name",
"label": "Name",
"description": "The name of the network to join.</br>\nThe network must already exist.\n",
"schema": {
"type": "string",
"default": "",
"required": true
}
},
{
"variable": "containers",
"label": "Containers",
"description": "The containers to add to this network.",
"schema": {
"type": "list",
"items": [
{
"variable": "container",
"label": "Container",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "name",
"label": "Container Name",
"schema": {
"type": "string",
"required": true,
"enum": [
{
"value": "homarr",
"description": "homarr"
}
]
}
},
{
"variable": "config",
"label": "Container Network Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "aliases",
"label": "Aliases (Optional)",
"description": "The network aliases to use for this container on this network.",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "alias",
"label": "Alias",
"schema": {
"type": "string"
}
}
]
}
},
{
"variable": "interface_name",
"label": "Interface Name (Optional)",
"description": "The network interface name to use for this network",
"schema": {
"type": "string"
}
},
{
"variable": "mac_address",
"label": "MAC Address (Optional)",
"description": "The MAC address to use for this network interface.",
"schema": {
"type": "string"
}
},
{
"variable": "ipv4_address",
"label": "IPv4 Address (Optional)",
"description": "The IPv4 address to use for this network interface.",
"schema": {
"type": "string"
}
},
{
"variable": "ipv6_address",
"label": "IPv6 Address (Optional)",
"description": "The IPv6 address to use for this network interface.",
"schema": {
"type": "string"
}
},
{
"variable": "gw_priority",
"label": "Gateway Priority (Optional)",
"description": "Indicates the priority of the gateway for this network interface.",
"schema": {
"type": "int",
"null": true
}
},
{
"variable": "priority",
"label": "Priority (Optional)",
"description": "Indicates in which order Compose connects the service's containers to its networks.",
"schema": {
"type": "int",
"null": 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": "storage",
"label": "",
"group": "Storage Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "data",
"label": "Homarr Data Storage",
"description": "The path to store Homarr 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.</br>\nNFS Share: Is a NFS 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)"
},
{
"value": "nfs",
"description": "NFS Share (Mounts a volume to a NFS 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": "nfs_config",
"label": "NFS Configuration",
"description": "The configuration for the NFS dataset.",
"schema": {
"type": "dict",
"show_if": [
[
"type",
"=",
"nfs"
]
],
"attrs": [
{
"variable": "server",
"label": "Server",
"description": "The server to mount the NFS share.",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "path",
"label": "Path",
"description": "The path to mount the NFS share.",
"schema": {
"type": "string",
"required": true
}
}
]
}
}
]
}
}
]
}
}
]
}
},
{
"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": "homarr",
"description": "homarr"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
"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 Homarr.",
"schema": {
"type": "int",
"default": 2,
"required": true
}
},
{
"variable": "memory",
"label": "Memory (in MB)",
"description": "Memory limit for Homarr.",
"schema": {
"type": "int",
"default": 4096,
"required": true
}
}
]
}
}
]
}
}
]
},
"readme": "<h1>Homarr</h1> <p><a href=\"https://github.com/ajnart/homarr\">Homarr</a> is a sleek, modern dashboard that puts all of your apps and services at your fingertips.</p>",
"changelog": null,
"chart_metadata": {
"app_version": "v1.77.0",
"capabilities": [
{
"description": "Homarr is able to change file ownership arbitrarily",
"name": "CHOWN"
},
{
"description": "Homarr is able to bypass file permission checks",
"name": "DAC_OVERRIDE"
},
{
"description": "Homarr is able to bypass permission checks for file operations",
"name": "FOWNER"
},
{
"description": "Homarr is able to change group ID of processes",
"name": "SETGID"
},
{
"description": "Homarr is able to change user ID of processes",
"name": "SETUID"
}
],
"categories": [
"productivity"
],
"changelog_url": "https://github.com/homarr-labs/homarr/releases",
"date_added": "2024-08-02",
"description": "Homarr a modern and easy to use dashboard. 14+ integrations. 10K+ icons built in. Authentication out of the box. No YAML, drag and drop configuration.",
"home": "https://homarr.dev/",
"host_mounts": [
{
"description": "Docker socket",
"host_path": "/var/run/docker.sock"
}
],
"icon": "https://media.sys.truenas.net/apps/homarr/icons/icon.svg",
"keywords": [
"dashboard"
],
"lib_version": "2.3.4",
"lib_version_hash": "2e3a8847308fb2eb0da046018f287c73822c094b5950a10377c3235794ff1242",
"maintainers": [
{
"email": "dev@truenas.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "homarr",
"run_as_context": [
{
"description": "Container [homarr] runs as root user and group.",
"gid": 0,
"group_name": "Host group is [root]",
"uid": 0,
"user_name": "Host user is [root]"
}
],
"screenshots": [
"https://media.sys.truenas.net/apps/homarr/screenshots/screenshot1.png",
"https://media.sys.truenas.net/apps/homarr/screenshots/screenshot2.png",
"https://media.sys.truenas.net/apps/homarr/screenshots/screenshot3.png"
],
"sources": [
"https://apps.truenas.com/catalog/homarr_community/",
"https://github.com/homarr-labs/homarr",
"https://homarr.dev/"
],
"title": "Homarr",
"train": "community",
"version": "2.2.36"
}
}
}Home Assistant

Home Assistant (Deprecated)
Get Started with Apps!
Get Started with Apps!
Requires TrueNAS: 24.10.2.2 or newer
App Version: 2026.9.1 (Changelog)
Keywords: home-automation, assistant
Train: Stable
Home Page: https://www.home-assistant.io/
App Version: 2026.9.1 (Changelog)
Keywords: home-automation, assistant
Train: Stable
Home Page: https://www.home-assistant.io/
Home Assistant (Deprecated) Details
Added: 2024-08-13
Last Updated: 2026-09-07
Added: 2024-08-13
Last Updated: 2026-09-07
Home Assistant is an open source home automation that puts local control and privacy first.
Run as Context- Container [home-assistant] runs as root user and group.
Group: 0 / Host group is [root]
User: 0 / Host user is [root] - Container [postgres] runs as non-root user and group.
Group: 999 / Host group is [docker]
User: 999 / Host user is [netdata]







