Installing MinIO Enterprise MNMD
TrueNAS Enterprise
TrueNAS Enterprise-licensed systems do not have applications available by default. To enable applications as part of the Enterprise license, consult with the TrueNAS Support team.
Official TrueNAS support for Enterprise apps falls under two tiers: Enterprise Deployment Support and Enterprise Application Support. Please review the App Support Definitions and consult with the TrueNAS Support Team for any further clarifications.
Installing MinIO Enterprise SNMD
TrueNAS Enterprise
TrueNAS Enterprise-licensed systems do not have applications available by default. To enable applications as part of the Enterprise license, consult with the TrueNAS Support team.
Official TrueNAS support for Enterprise apps falls under two tiers: Enterprise Deployment Support and Enterprise Application Support. Please review the App Support Definitions and consult with the TrueNAS Support Team for any further clarifications.
Invidious
Invidious
Get Started with Apps!Requires TrueNAS: 24.10.2.2 or newer
App Version: 2.20260207.0 (Changelog)
Keywords: youtube
Train: Community
Home Page: https://invidious.io/Invidious Details
Added: 2024-09-05
Last Updated: 2026-04-03Invidious is an alternative front-end to YouTube
Run as Context
- Container [companion] runs as non-root user and group.
Group: 10001 / Host group is [unknown (10001)]
User: 10001 / Host user is [unknown (10001)]- Container [invidious] runs as non-root user and group.
Group: 1000 / Host group is [unknown (1000)]
User: 1000 / Host user is [unknown (1000)]- Container [postgres] runs as non-root user and group.
Group: 999 / Host group is [docker]
User: 999 / Host user is [netdata]⚠️Feature Deprecation Notice
Invidious: Postgres 15
Invoice Ninja
Invoice Ninja
Get Started with Apps!App Version: 5.12.28-o (Changelog)
Keywords: finance
Train: Community
Home Page: https://invoiceninja.com/Invoice Ninja Details
Added: 2025-01-09
Last Updated: 2026-04-03Invoices, Expenses and Tasks built with Laravel, Flutter and React
Run as Context
- Container [invoice-ninja] runs as non-root user and group.
Group: 999 / Host group is [docker]
User: 999 / Host user is [netdata]- Container [mariadb] runs as non-root user and group.
Group: 999 / Host group is [docker]
User: 999 / Host user is [netdata]- Container [redis] can run as any non-root user and group.
Group: 568 / Host group is [apps]
User: 568 / Host user is [apps]- Container [scheduler] runs as non-root user and group.
Group: 999 / Host group is [docker]
User: 999 / Host user is [netdata]- Container [worker] runs as non-root user and group.
Group: 999 / Host group is [docker]
User: 999 / Host user is [netdata]×Security Capabilities
- Invoice Ninja, Scheduler, Worker are able to change file ownership arbitrarily
- Invoice Ninja, Scheduler, Worker are able to bypass file permission checks
- Invoice Ninja, Scheduler, Worker are able to bypass permission checks for file operations
- Invoice Ninja, Scheduler, Worker are able to bind to privileged ports (< 1024)
- Invoice Ninja, Scheduler, Worker are able to change group ID of processes
- Invoice Ninja, Scheduler, Worker are able to change user ID of processes
App Metadata (Raw File)
{ "1.2.4": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/apps/apps/trains/community/invoice-ninja/1.2.4", "last_update": "2026-04-03 12:46:56", "required_features": [], "human_version": "5.12.28-o_1.2.4", "version": "1.2.4", "app_metadata": { "app_version": "5.12.28-o", "capabilities": [ { "description": "Invoice Ninja, Scheduler, Worker are able to change file ownership arbitrarily", "name": "CHOWN" }, { "description": "Invoice Ninja, Scheduler, Worker are able to bypass file permission checks", "name": "DAC_OVERRIDE" }, { "description": "Invoice Ninja, Scheduler, Worker are able to bypass permission checks for file operations", "name": "FOWNER" }, { "description": "Invoice Ninja, Scheduler, Worker are able to bind to privileged ports (< 1024)", "name": "NET_BIND_SERVICE" }, { "description": "Invoice Ninja, Scheduler, Worker are able to change group ID of processes", "name": "SETGID" }, { "description": "Invoice Ninja, Scheduler, Worker are able to change user ID of processes", "name": "SETUID" } ], "categories": [ "productivity" ], "changelog_url": "https://github.com/invoiceninja/dockerfiles/releases", "date_added": "2025-01-09", "description": "Invoices, Expenses and Tasks built with Laravel, Flutter and React", "home": "https://invoiceninja.com/", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/invoice-ninja/icons/icon.png", "keywords": [ "finance" ], "lib_version": "2.3.1", "lib_version_hash": "561017357f22eafbedca2a97f747325cb83149fe1b5f765a2fbda71ab77d96ed", "maintainers": [ { "email": "dev@truenas.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "invoice-ninja", "run_as_context": [ { "description": "Container [invoice-ninja] runs as non-root user and group.", "gid": 999, "group_name": "Host group is [docker]", "uid": 999, "user_name": "Host user is [netdata]" }, { "description": "Container [mariadb] runs as non-root user and group.", "gid": 999, "group_name": "Host group is [docker]", "uid": 999, "user_name": "Host user is [netdata]" }, { "description": "Container [redis] can run as any non-root user and group.", "gid": 568, "group_name": "Host group is [apps]", "uid": 568, "user_name": "Host user is [apps]" }, { "description": "Container [scheduler] runs as non-root user and group.", "gid": 999, "group_name": "Host group is [docker]", "uid": 999, "user_name": "Host user is [netdata]" }, { "description": "Container [worker] runs as non-root user and group.", "gid": 999, "group_name": "Host group is [docker]", "uid": 999, "user_name": "Host user is [netdata]" } ], "screenshots": [], "sources": [ "https://github.com/invoiceninja/dockerfiles", "https://hub.docker.com/r/invoiceninja/invoiceninja-octane" ], "title": "Invoice Ninja", "train": "community", "version": "1.2.4" }, "schema": { "groups": [ { "name": "Invoice Ninja Configuration", "description": "Configure Invoice Ninja" }, { "name": "Network Configuration", "description": "Configure Network for Invoice Ninja" }, { "name": "Storage Configuration", "description": "Configure Storage for Invoice Ninja" }, { "name": "Labels Configuration", "description": "Configure Labels for Invoice Ninja" }, { "name": "Resources Configuration", "description": "Configure Resources for Invoice Ninja" } ], "questions": [ { "variable": "invoice_ninja", "label": "", "group": "Invoice Ninja Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "db_password", "label": "Database Password", "description": "The password for Invoice Ninja.", "schema": { "type": "string", "default": "", "required": true, "private": true } }, { "variable": "db_root_password", "label": "Database Root Password", "description": "The root password for Invoice Ninja.", "schema": { "type": "string", "default": "", "required": true, "private": true } }, { "variable": "redis_password", "label": "Redis Password", "description": "The password for Invoice Ninja.", "schema": { "type": "string", "default": "", "required": true, "private": true } }, { "variable": "app_key", "label": "App Key", "description": "The app key for Invoice Ninja.</br>\nMust be exactly 32 characters long.</br>\n", "schema": { "type": "string", "min_length": 32, "max_length": 32, "default": "", "required": true, "private": true } }, { "variable": "app_url", "label": "App URL", "description": "The base URL for Invoice Ninja.</br>\nExamples:</br>\nhttps://firefly.example.com </br>\nhttp://192.168.1.100:30064\n", "schema": { "type": "uri", "default": "" } }, { "variable": "initial_user_email", "label": "Initial User Email", "description": "The initial user email for Invoice Ninja.", "schema": { "type": "string", "default": "", "required": true } }, { "variable": "initial_user_password", "label": "Initial User Password", "description": "The initial user password for Invoice Ninja.", "schema": { "type": "string", "default": "", "private": true, "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": "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": 31105, "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", "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": "invoice-ninja", "description": "invoice-ninja" }, { "value": "worker", "description": "worker" }, { "value": "scheduler", "description": "scheduler" }, { "value": "mariadb", "description": "mariadb" }, { "value": "redis", "description": "redis" } ] } }, { "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": "storage", "label": "", "group": "Storage Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "storage", "label": "Invoice Ninja Storage", "description": "The path to store Invoice Ninja Storage.", "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": "storage" } }, { "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": "mariadb_data", "label": "Invoice Ninja MariaDB Data Storage", "description": "The path to store Invoice Ninja MariaDB 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": "mariadb_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": [], "$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": "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": "invoice-ninja", "description": "invoice-ninja" }, { "value": "worker", "description": "worker" }, { "value": "scheduler", "description": "scheduler" }, { "value": "mariadb", "description": "mariadb" }, { "value": "redis", "description": "redis" } ] } } ] } } ] } } ] } }, { "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 Invoice Ninja.", "schema": { "type": "int", "default": 2, "required": true } }, { "variable": "memory", "label": "Memory (in MB)", "description": "Memory limit for Invoice Ninja.", "schema": { "type": "int", "default": 4096, "required": true } } ] } } ] } } ] }, "readme": "<h1>Invoice Ninja</h1> <p><a href=\"https://invoiceninja.com/\">Invoice Ninja</a> is a source-available invoice, quote, project and time-tracking app built with Laravel</p>", "changelog": null, "chart_metadata": { "app_version": "5.12.28-o", "capabilities": [ { "description": "Invoice Ninja, Scheduler, Worker are able to change file ownership arbitrarily", "name": "CHOWN" }, { "description": "Invoice Ninja, Scheduler, Worker are able to bypass file permission checks", "name": "DAC_OVERRIDE" }, { "description": "Invoice Ninja, Scheduler, Worker are able to bypass permission checks for file operations", "name": "FOWNER" }, { "description": "Invoice Ninja, Scheduler, Worker are able to bind to privileged ports (< 1024)", "name": "NET_BIND_SERVICE" }, { "description": "Invoice Ninja, Scheduler, Worker are able to change group ID of processes", "name": "SETGID" }, { "description": "Invoice Ninja, Scheduler, Worker are able to change user ID of processes", "name": "SETUID" } ], "categories": [ "productivity" ], "changelog_url": "https://github.com/invoiceninja/dockerfiles/releases", "date_added": "2025-01-09", "description": "Invoices, Expenses and Tasks built with Laravel, Flutter and React", "home": "https://invoiceninja.com/", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/invoice-ninja/icons/icon.png", "keywords": [ "finance" ], "lib_version": "2.3.1", "lib_version_hash": "561017357f22eafbedca2a97f747325cb83149fe1b5f765a2fbda71ab77d96ed", "maintainers": [ { "email": "dev@truenas.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "invoice-ninja", "run_as_context": [ { "description": "Container [invoice-ninja] runs as non-root user and group.", "gid": 999, "group_name": "Host group is [docker]", "uid": 999, "user_name": "Host user is [netdata]" }, { "description": "Container [mariadb] runs as non-root user and group.", "gid": 999, "group_name": "Host group is [docker]", "uid": 999, "user_name": "Host user is [netdata]" }, { "description": "Container [redis] can run as any non-root user and group.", "gid": 568, "group_name": "Host group is [apps]", "uid": 568, "user_name": "Host user is [apps]" }, { "description": "Container [scheduler] runs as non-root user and group.", "gid": 999, "group_name": "Host group is [docker]", "uid": 999, "user_name": "Host user is [netdata]" }, { "description": "Container [worker] runs as non-root user and group.", "gid": 999, "group_name": "Host group is [docker]", "uid": 999, "user_name": "Host user is [netdata]" } ], "screenshots": [], "sources": [ "https://github.com/invoiceninja/dockerfiles", "https://hub.docker.com/r/invoiceninja/invoiceninja-octane" ], "title": "Invoice Ninja", "train": "community", "version": "1.2.4" } } }IPFS
IPFS
Get Started with Apps!Requires TrueNAS: 24.10.2.2 or newer
App Version: v0.40.1 (Changelog)
Keywords: storage, ipfs, file-sharing, kubo
Train: Community
Home Page: https://ipfs.tech/IPFS Details
Added: 2024-08-01
Last Updated: 2026-04-03Interplanetary Filesystem - the Web3 standard for content-addressing, interoperable with HTTP
Run as Context
- Container [ipfs] can run as any non-root user and group.
Group: 568 / Host group is [apps]
User: 568 / Host user is [apps]Screenshots
×App Metadata (Raw File)
{ "1.3.5": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/apps/apps/trains/community/ipfs/1.3.5", "last_update": "2026-04-03 12:46:56", "required_features": [], "human_version": "v0.40.1_1.3.5", "version": "1.3.5", "app_metadata": { "annotations": { "min_scale_version": "24.10.2.2" }, "app_version": "v0.40.1", "capabilities": [], "categories": [ "storage" ], "changelog_url": "https://github.com/ipfs/kubo/releases", "date_added": "2024-08-01", "description": "Interplanetary Filesystem - the Web3 standard for content-addressing, interoperable with HTTP", "home": "https://ipfs.tech/", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/ipfs/icons/icon.png", "keywords": [ "storage", "ipfs", "file-sharing", "kubo" ], "lib_version": "2.3.1", "lib_version_hash": "561017357f22eafbedca2a97f747325cb83149fe1b5f765a2fbda71ab77d96ed", "maintainers": [ { "email": "dev@truenas.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "ipfs", "run_as_context": [ { "description": "Container [ipfs] can run as any non-root user and group.", "gid": 568, "group_name": "Host group is [apps]", "uid": 568, "user_name": "Host user is [apps]" } ], "screenshots": [ "https://media.sys.truenas.net/apps/ipfs/screenshots/screenshot1.png", "https://media.sys.truenas.net/apps/ipfs/screenshots/screenshot2.png" ], "sources": [ "https://github.com/ipfs/kubo", "https://ipfs.tech/" ], "title": "IPFS", "train": "community", "version": "1.3.5" }, "schema": { "groups": [ { "name": "IPFS Configuration", "description": "Configure IPFS" }, { "name": "User and Group Configuration", "description": "Configure User and Group for IPFS" }, { "name": "Network Configuration", "description": "Configure Network for IPFS" }, { "name": "Storage Configuration", "description": "Configure Storage for IPFS" }, { "name": "Labels Configuration", "description": "Configure Labels for IPFS" }, { "name": "Resources Configuration", "description": "Configure Resources for IPFS" } ], "questions": [ { "variable": "ipfs", "label": "", "group": "IPFS Configuration", "schema": { "type": "dict", "attrs": [ { "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 IPFS files will be owned by.", "schema": { "type": "int", "min": 568, "default": 568, "required": true } }, { "variable": "group", "label": "Group ID", "description": "The group id that IPFS 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": "api_port", "label": "API Port (And WebUI Port)", "description": "The port for IPFS WebUI", "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": 30010, "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": "swarm_port", "label": "Swarm Port", "description": "The port for IPFS Swarm", "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": 30011, "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": "gateway_port", "label": "Gateway Port", "description": "The port for IPFS Gateway", "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": 30012, "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": "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": "ipfs", "description": "ipfs" } ] } }, { "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": "storage", "label": "", "group": "Storage Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "staging", "label": "IPFS Staging Storage", "description": "The path to store IPFS Staging.", "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": "staging" } }, { "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": "data", "label": "IPFS Data Storage", "description": "The path to store IPFS 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": "ipfs", "description": "ipfs" } ] } } ] } } ] } } ] } }, { "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 IPFS.", "schema": { "type": "int", "default": 2, "required": true } }, { "variable": "memory", "label": "Memory (in MB)", "description": "Memory limit for IPFS.", "schema": { "type": "int", "default": 4096, "required": true } } ] } } ] } } ] }, "readme": "<h1>IPFS</h1> <p><a href=\"https://ipfs.tech\">Interplanetary Filesystem</a> - the Web3 standard for content-addressing, interoperable with HTTP</p>", "changelog": null, "chart_metadata": { "annotations": { "min_scale_version": "24.10.2.2" }, "app_version": "v0.40.1", "capabilities": [], "categories": [ "storage" ], "changelog_url": "https://github.com/ipfs/kubo/releases", "date_added": "2024-08-01", "description": "Interplanetary Filesystem - the Web3 standard for content-addressing, interoperable with HTTP", "home": "https://ipfs.tech/", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/ipfs/icons/icon.png", "keywords": [ "storage", "ipfs", "file-sharing", "kubo" ], "lib_version": "2.3.1", "lib_version_hash": "561017357f22eafbedca2a97f747325cb83149fe1b5f765a2fbda71ab77d96ed", "maintainers": [ { "email": "dev@truenas.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "ipfs", "run_as_context": [ { "description": "Container [ipfs] can run as any non-root user and group.", "gid": 568, "group_name": "Host group is [apps]", "uid": 568, "user_name": "Host user is [apps]" } ], "screenshots": [ "https://media.sys.truenas.net/apps/ipfs/screenshots/screenshot1.png", "https://media.sys.truenas.net/apps/ipfs/screenshots/screenshot2.png" ], "sources": [ "https://github.com/ipfs/kubo", "https://ipfs.tech/" ], "title": "IPFS", "train": "community", "version": "1.3.5" } } }IT Tools
IT Tools
Get Started with Apps!App Version: 2024.10.22-7ca5933 (Changelog)
Keywords: tools
Train: Community
Home Page: https://it-tools.techIT Tools Details
Added: 2025-01-24
Last Updated: 2026-04-03Collection of handy online tools for developers, with great UX.
Run as Context
- Container [it-tools] runs as root user and group.
Group: 0 / Host group is [root]
User: 0 / Host user is [root]×Security Capabilities
- IT Tools is able to change file ownership arbitrarily
- IT Tools is able to bypass file permission checks
- IT Tools is able to bypass permission checks for file operations
- IT Tools is able to bind to privileged ports (< 1024)
- IT Tools is able to change group ID of processes
- IT Tools is able to change user ID of processes
App Metadata (Raw File)
{ "1.1.3": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/apps/apps/trains/community/it-tools/1.1.3", "last_update": "2026-04-03 12:46:56", "required_features": [], "human_version": "2024.10.22-7ca5933_1.1.3", "version": "1.1.3", "app_metadata": { "app_version": "2024.10.22-7ca5933", "capabilities": [ { "description": "IT Tools is able to change file ownership arbitrarily", "name": "CHOWN" }, { "description": "IT Tools is able to bypass file permission checks", "name": "DAC_OVERRIDE" }, { "description": "IT Tools is able to bypass permission checks for file operations", "name": "FOWNER" }, { "description": "IT Tools is able to bind to privileged ports (< 1024)", "name": "NET_BIND_SERVICE" }, { "description": "IT Tools is able to change group ID of processes", "name": "SETGID" }, { "description": "IT Tools is able to change user ID of processes", "name": "SETUID" } ], "categories": [ "productivity" ], "changelog_url": "https://github.com/CorentinTh/it-tools/blob/main/CHANGELOG.md", "date_added": "2025-01-24", "description": "Collection of handy online tools for developers, with great UX.", "home": "https://it-tools.tech", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/it-tools/icons/icon.svg", "keywords": [ "tools" ], "lib_version": "2.3.1", "lib_version_hash": "561017357f22eafbedca2a97f747325cb83149fe1b5f765a2fbda71ab77d96ed", "maintainers": [ { "email": "dev@truenas.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "it-tools", "run_as_context": [ { "description": "Container [it-tools] runs as root user and group.", "gid": 0, "group_name": "Host group is [root]", "uid": 0, "user_name": "Host user is [root]" } ], "screenshots": [], "sources": [ "https://github.com/CorentinTh/it-tools/" ], "title": "IT Tools", "train": "community", "version": "1.1.3" }, "schema": { "groups": [ { "name": "IT Tools Configuration", "description": "Configure IT Tools" }, { "name": "Network Configuration", "description": "Configure Network for IT Tools" }, { "name": "Storage Configuration", "description": "Configure Storage for IT Tools" }, { "name": "Labels Configuration", "description": "Configure Labels for IT Tools" }, { "name": "Resources Configuration", "description": "Configure Resources for IT Tools" } ], "questions": [ { "variable": "TZ", "group": "IT Tools Configuration", "label": "Timezone", "schema": { "type": "string", "default": "Etc/UTC", "required": true, "$ref": [ "definitions/timezone" ] } }, { "variable": "it_tools", "label": "", "group": "IT Tools Configuration", "schema": { "type": "dict", "attrs": [ { "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": "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", "show_if": [ [ "bind_mode", "=", "published" ] ], "default": 30063, "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": "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": "it-tools", "description": "it-tools" } ] } }, { "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": "storage", "label": "", "group": "Storage Configuration", "schema": { "type": "dict", "attrs": [ { "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": [], "$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": "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": "it-tools", "description": "it-tools" } ] } } ] } } ] } } ] } }, { "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 IT Tools.", "schema": { "type": "int", "default": 2, "required": true } }, { "variable": "memory", "label": "Memory (in MB)", "description": "Memory limit for IT Tools.", "schema": { "type": "int", "default": 4096, "required": true } } ] } } ] } } ] }, "readme": "<h1>IT Tools</h1> <p><a href=\"https://it-tools.tech\">IT Tools</a> is a collection of handy online tools for developers, with great UX.</p>", "changelog": null, "chart_metadata": { "app_version": "2024.10.22-7ca5933", "capabilities": [ { "description": "IT Tools is able to change file ownership arbitrarily", "name": "CHOWN" }, { "description": "IT Tools is able to bypass file permission checks", "name": "DAC_OVERRIDE" }, { "description": "IT Tools is able to bypass permission checks for file operations", "name": "FOWNER" }, { "description": "IT Tools is able to bind to privileged ports (< 1024)", "name": "NET_BIND_SERVICE" }, { "description": "IT Tools is able to change group ID of processes", "name": "SETGID" }, { "description": "IT Tools is able to change user ID of processes", "name": "SETUID" } ], "categories": [ "productivity" ], "changelog_url": "https://github.com/CorentinTh/it-tools/blob/main/CHANGELOG.md", "date_added": "2025-01-24", "description": "Collection of handy online tools for developers, with great UX.", "home": "https://it-tools.tech", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/it-tools/icons/icon.svg", "keywords": [ "tools" ], "lib_version": "2.3.1", "lib_version_hash": "561017357f22eafbedca2a97f747325cb83149fe1b5f765a2fbda71ab77d96ed", "maintainers": [ { "email": "dev@truenas.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "it-tools", "run_as_context": [ { "description": "Container [it-tools] runs as root user and group.", "gid": 0, "group_name": "Host group is [root]", "uid": 0, "user_name": "Host user is [root]" } ], "screenshots": [], "sources": [ "https://github.com/CorentinTh/it-tools/" ], "title": "IT Tools", "train": "community", "version": "1.1.3" } } }Jackett
Jackett
Get Started with Apps!App Version: 0.24.1528 (Changelog)
Keywords: indexer
Train: Community
Home Page: https://github.com/Jackett/JackettJackett Details
Added: 2025-02-05
Last Updated: 2026-04-03API Support for your favorite torrent trackers
Run as Context
- Container [jackett] can run as any non-root user and group.
Group: 568 / Host group is [apps]
User: 568 / Host user is [apps]×App Metadata (Raw File)
{ "1.1.42": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/apps/apps/trains/community/jackett/1.1.42", "last_update": "2026-04-03 13:27:37", "required_features": [], "human_version": "0.24.1528_1.1.42", "version": "1.1.42", "app_metadata": { "app_version": "0.24.1528", "capabilities": [], "categories": [ "media" ], "changelog_url": "https://github.com/Jackett/Jackett/releases", "date_added": "2025-02-05", "description": "API Support for your favorite torrent trackers", "home": "https://github.com/Jackett/Jackett", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/jackett/icons/icon.png", "keywords": [ "indexer" ], "lib_version": "2.3.1", "lib_version_hash": "561017357f22eafbedca2a97f747325cb83149fe1b5f765a2fbda71ab77d96ed", "maintainers": [ { "email": "dev@truenas.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "jackett", "run_as_context": [ { "description": "Container [jackett] can run as any non-root user and group.", "gid": 568, "group_name": "Host group is [apps]", "uid": 568, "user_name": "Host user is [apps]" } ], "screenshots": [], "sources": [ "https://github.com/Jackett/Jackett", "https://github.com/home-operations/containers/tree/main/apps/jackett" ], "title": "Jackett", "train": "community", "version": "1.1.42" }, "schema": { "groups": [ { "name": "Jackett Configuration", "description": "Configure Jackett" }, { "name": "User and Group Configuration", "description": "Configure User and Group for Jackett" }, { "name": "Network Configuration", "description": "Configure Network for Jackett" }, { "name": "Storage Configuration", "description": "Configure Storage for Jackett" }, { "name": "Labels Configuration", "description": "Configure Labels for Jackett" }, { "name": "Resources Configuration", "description": "Configure Resources for Jackett" } ], "questions": [ { "variable": "TZ", "group": "Jackett Configuration", "label": "Timezone", "schema": { "type": "string", "default": "Etc/UTC", "required": true, "$ref": [ "definitions/timezone" ] } }, { "variable": "jackett", "label": "", "group": "Jackett Configuration", "schema": { "type": "dict", "attrs": [ { "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 Jackett files will be owned by.", "schema": { "type": "int", "min": 568, "default": 568, "required": true } }, { "variable": "group", "label": "Group ID", "description": "The group id that Jackett 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": 30118, "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": "jackett", "description": "jackett" } ] } }, { "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": "config", "label": "Jackett Config Storage", "description": "The path to store Jackett Config.", "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": "config" } }, { "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": [], "$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": "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": "jackett", "description": "jackett" } ] } } ] } } ] } } ] } }, { "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 Jackett.", "schema": { "type": "int", "default": 2, "required": true } }, { "variable": "memory", "label": "Memory (in MB)", "description": "Memory limit for Jackett.", "schema": { "type": "int", "default": 4096, "required": true } } ] } } ] } } ] }, "readme": "<h1>Jackett</h1> <p><a href=\"https://github.com/Jackett/Jackett\">Jackett</a> is a free and open source API supported by your favorite torrent trackers.</p>", "changelog": null, "chart_metadata": { "app_version": "0.24.1528", "capabilities": [], "categories": [ "media" ], "changelog_url": "https://github.com/Jackett/Jackett/releases", "date_added": "2025-02-05", "description": "API Support for your favorite torrent trackers", "home": "https://github.com/Jackett/Jackett", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/jackett/icons/icon.png", "keywords": [ "indexer" ], "lib_version": "2.3.1", "lib_version_hash": "561017357f22eafbedca2a97f747325cb83149fe1b5f765a2fbda71ab77d96ed", "maintainers": [ { "email": "dev@truenas.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "jackett", "run_as_context": [ { "description": "Container [jackett] can run as any non-root user and group.", "gid": 568, "group_name": "Host group is [apps]", "uid": 568, "user_name": "Host user is [apps]" } ], "screenshots": [], "sources": [ "https://github.com/Jackett/Jackett", "https://github.com/home-operations/containers/tree/main/apps/jackett" ], "title": "Jackett", "train": "community", "version": "1.1.42" } } }Jellyfin
Jellyfin
Get Started with Apps!Requires TrueNAS: 24.10.2.2 or newer
App Version: 10.11.7 (Changelog)
Keywords: entertainment, movies, series, tv, media, streaming
Train: Community
Home Page: https://jellyfin.org/Jellyfin Details
Added: 2024-07-30
Last Updated: 2026-04-03Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media.
Run as Context
- Container [jellyfin] can run as any non-root user and group.
Group: 568 / Host group is [apps]
User: 568 / Host user is [apps]Screenshots
×App Metadata (Raw File)
{ "1.3.5": { "healthy": true, "supported": true, "healthy_error": null, "location": "/__w/apps/apps/trains/community/jellyfin/1.3.5", "last_update": "2026-04-03 12:46:56", "required_features": [], "human_version": "10.11.7_1.3.5", "version": "1.3.5", "app_metadata": { "annotations": { "min_scale_version": "24.10.2.2" }, "app_version": "10.11.7", "capabilities": [], "categories": [ "media" ], "changelog_url": "https://github.com/jellyfin/jellyfin/releases", "date_added": "2024-07-30", "description": "Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media.", "home": "https://jellyfin.org/", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/jellyfin/icons/icon.svg", "keywords": [ "entertainment", "movies", "series", "tv", "media", "streaming" ], "lib_version": "2.3.1", "lib_version_hash": "561017357f22eafbedca2a97f747325cb83149fe1b5f765a2fbda71ab77d96ed", "maintainers": [ { "email": "dev@truenas.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "jellyfin", "run_as_context": [ { "description": "Container [jellyfin] can run as any non-root user and group.", "gid": 568, "group_name": "Host group is [apps]", "uid": 568, "user_name": "Host user is [apps]" } ], "screenshots": [ "https://media.sys.truenas.net/apps/jellyfin/screenshots/screenshot1.png", "https://media.sys.truenas.net/apps/jellyfin/screenshots/screenshot2.png" ], "sources": [ "https://hub.docker.com/r/jellyfin/jellyfin", "https://jellyfin.org/" ], "title": "Jellyfin", "train": "community", "version": "1.3.5" }, "schema": { "groups": [ { "name": "Jellyfin Configuration", "description": "Configure Jellyfin" }, { "name": "User and Group Configuration", "description": "Configure User and Group for Jellyfin" }, { "name": "Network Configuration", "description": "Configure Network for Jellyfin" }, { "name": "Storage Configuration", "description": "Configure Storage for Jellyfin" }, { "name": "Labels Configuration", "description": "Configure Labels for Jellyfin" }, { "name": "Resources Configuration", "description": "Configure Resources for Jellyfin" } ], "questions": [ { "variable": "TZ", "group": "Jellyfin Configuration", "label": "Timezone", "schema": { "type": "string", "default": "Etc/UTC", "required": true, "$ref": [ "definitions/timezone" ] } }, { "variable": "jellyfin", "label": "", "group": "Jellyfin Configuration", "schema": { "type": "dict", "attrs": [ { "variable": "publish_server_url", "label": "Published Server URL", "description": "Optional - The URL that Jellyfin will be advertised.", "schema": { "type": "string", "default": "" } }, { "variable": "devices", "label": "Devices", "description": "Devices to use for Jellyfin. </br>\nExample: </br>\nHost Device: /dev/dvb </br>\nContainer Device: /dev/dvb\n", "schema": { "type": "list", "default": [], "items": [ { "variable": "device", "label": "Device", "schema": { "type": "dict", "attrs": [ { "variable": "host_device", "label": "Host Device", "schema": { "type": "string", "required": true } }, { "variable": "container_device", "label": "Container Device", "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 Jellyfin files will be owned by.", "schema": { "type": "int", "min": 2, "default": 568, "required": true } }, { "variable": "group", "label": "Group ID", "description": "The group id that Jellyfin files will be owned by.", "schema": { "type": "int", "min": 2, "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": 30013, "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": "https_port", "label": "HTTPS 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": 30014, "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": "discovery_port", "label": "Discovery 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": "", "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": 7359, "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": "jellyfin", "description": "jellyfin" } ] } }, { "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": "config", "label": "Jellyfin Config Storage", "description": "The path to store Jellyfin Config.", "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": "config" } }, { "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": "cache", "label": "Jellyfin Cache Storage", "description": "The path to store Jellyfin Cache.", "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": "cache" } }, { "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": "transcodes", "label": "Jellyfin Transcode Storage", "description": "The path to store Jellyfin Transcode.", "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.\nTemporary: Is a temporary directory that will be created on the disk as a docker volume.\ntmpfs: Is a temporary directory that will be created on the RAM.\n", "schema": { "type": "string", "required": true, "default": "temporary", "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": "temporary", "description": "Temporary (Temporary directory created on the disk)" }, { "value": "tmpfs", "description": "tmpfs (Temporary directory created on the RAM)" } ] } }, { "variable": "tmpfs_config", "label": "tmpfs Configuration", "description": "The configuration for the tmpfs dataset.", "schema": { "type": "dict", "show_if": [ [ "type", "=", "tmpfs" ] ], "attrs": [ { "variable": "size", "label": "Tmpfs Size Limit (in Mi)", "description": "The maximum size (in Mi) of the temporary directory.</br>\nFor example: 500\n", "schema": { "type": "int", "default": 500, "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, "hidden": true, "default": "transcodes" } }, { "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": "jellyfin", "description": "jellyfin" } ] } } ] } } ] } } ] } }, { "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 Jellyfin.", "schema": { "type": "int", "default": 2, "required": true } }, { "variable": "memory", "label": "Memory (in MB)", "description": "Memory limit for Jellyfin.", "schema": { "type": "int", "default": 4096, "required": true } } ] } }, { "variable": "gpus", "group": "Resources Configuration", "label": "GPU Configuration", "schema": { "type": "dict", "$ref": [ "definitions/gpu_configuration" ], "attrs": [] } } ] } } ] }, "readme": "<h1>Jellyfin</h1> <p><a href=\"https://jellyfin.org/\">Jellyfin</a> is a Free Software Media System that puts you in control of managing and streaming your media.</p>", "changelog": null, "chart_metadata": { "annotations": { "min_scale_version": "24.10.2.2" }, "app_version": "10.11.7", "capabilities": [], "categories": [ "media" ], "changelog_url": "https://github.com/jellyfin/jellyfin/releases", "date_added": "2024-07-30", "description": "Jellyfin is a Free Software Media System that puts you in control of managing and streaming your media.", "home": "https://jellyfin.org/", "host_mounts": [], "icon": "https://media.sys.truenas.net/apps/jellyfin/icons/icon.svg", "keywords": [ "entertainment", "movies", "series", "tv", "media", "streaming" ], "lib_version": "2.3.1", "lib_version_hash": "561017357f22eafbedca2a97f747325cb83149fe1b5f765a2fbda71ab77d96ed", "maintainers": [ { "email": "dev@truenas.com", "name": "truenas", "url": "https://www.truenas.com/" } ], "name": "jellyfin", "run_as_context": [ { "description": "Container [jellyfin] can run as any non-root user and group.", "gid": 568, "group_name": "Host group is [apps]", "uid": 568, "user_name": "Host user is [apps]" } ], "screenshots": [ "https://media.sys.truenas.net/apps/jellyfin/screenshots/screenshot1.png", "https://media.sys.truenas.net/apps/jellyfin/screenshots/screenshot2.png" ], "sources": [ "https://hub.docker.com/r/jellyfin/jellyfin", "https://jellyfin.org/" ], "title": "Jellyfin", "train": "community", "version": "1.3.5" } } }Jellyfin Deployment
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.
Jellyfin is a volunteer-built media solution that puts you in control of managing and streaming your media.
Jellyseerr
Jellyseerr (Deprecated)
Get Started with Apps!Requires TrueNAS: 24.10.2.2 or newer
App Version: 2.7.3 (Changelog)
Keywords: media
Train: Community
Home Page: https://github.com/Fallenbagel/jellyseerrJellyseerr (Deprecated) Details
Added: 2024-08-02
Last Updated: 2026-04-03Jellyseerr is a free and open source software application for managing requests for your media library.
Run as Context
- Container [jellyseerr] can run as any non-root user and group.
Group: 568 / Host group is [apps]
User: 568 / Host user is [apps]🚨Application Deprecation Notice
Jellyseerr (Deprecated) is deprecated and will be removed from the TrueNAS catalog.







