Rsync Daemon


Get Started with Apps!
Keywords: sync, rsync, file transfer
Train: Community
Home Page: https://github.com/truenas/containers/tree/main/apps/rsyncd
Added: 2024-08-28
Last Updated: 2025-04-23
Rsync is an open source utility that provides fast incremental file transfer.
Run as Context- Rsync Daemon run as root user.
Group: 0 / root
User: 0 / root
Security Capabilities
- Rsync requires this ability to change ownership of files.
- Rsync requires this ability to override file permissions.
- Rsync requires this ability to override file ownership.
- Rsync requires this ability to switch user for sub-processes.
- Rsync requires this ability to switch group for sub-processes.
- Rsync requires this ability to use chroot for it's sub-processes.
App Metadata (Raw File)
{
"1.1.12": {
"healthy": true,
"supported": true,
"healthy_error": null,
"location": "/__w/apps/apps/trains/community/rsyncd/1.1.12",
"last_update": "2025-04-23 17:43:28",
"required_features": [],
"human_version": "1.0.2_1.1.12",
"version": "1.1.12",
"app_metadata": {
"app_version": "1.0.2",
"capabilities": [
{
"description": "Rsync requires this ability to change ownership of files.",
"name": "CHOWN"
},
{
"description": "Rsync requires this ability to override file permissions.",
"name": "DAC_OVERRIDE"
},
{
"description": "Rsync requires this ability to override file ownership.",
"name": "FOWNER"
},
{
"description": "Rsync requires this ability to switch user for sub-processes.",
"name": "SETUID"
},
{
"description": "Rsync requires this ability to switch group for sub-processes.",
"name": "SETGID"
},
{
"description": "Rsync requires this ability to use chroot for it's sub-processes.",
"name": "SYS_CHROOT"
}
],
"categories": [
"storage"
],
"date_added": "2024-08-28",
"description": "Rsync is an open source utility that provides fast incremental file transfer.",
"home": "https://github.com/truenas/containers/tree/main/apps/rsyncd",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/rsyncd/icons/icon.png",
"keywords": [
"sync",
"rsync",
"file transfer"
],
"lib_version": "2.1.16",
"lib_version_hash": "dac15686f882b9ce65b8549a3d5c0ed7bafe2df7a9028880d1a99b0ff4af1eff",
"maintainers": [
{
"email": "dev@ixsystems.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "rsyncd",
"run_as_context": [
{
"description": "Rsync Daemon run as root user.",
"gid": 0,
"group_name": "root",
"uid": 0,
"user_name": "root"
}
],
"screenshots": [],
"sources": [
"https://github.com/truenas/containers/tree/master/apps/rsyncd",
"https://hub.docker.com/r/ixsystems/rsyncd"
],
"title": "Rsync Daemon",
"train": "community",
"version": "1.1.12"
},
"schema": {
"groups": [
{
"name": "Rsync Daemon Configuration",
"description": "Configure Rsync Daemon"
},
{
"name": "Network Configuration",
"description": "Configure Network for Rsync Daemon"
},
{
"name": "Storage Configuration",
"description": "Configure Storage for Rsync Daemon"
},
{
"name": "Labels Configuration",
"description": "Configure Labels for Rsync Daemon"
},
{
"name": "Resources Configuration",
"description": "Configure Resources for Rsync Daemon"
}
],
"questions": [
{
"variable": "rsyncd",
"label": "",
"group": "Rsync Daemon Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "max_connections",
"label": "Max Connections",
"description": "The maximum number of simultaneous connections.",
"schema": {
"type": "int",
"default": 4,
"required": true
}
},
{
"variable": "aux_params",
"label": "Auxillary Parameters",
"description": "Configure auxillary parameters for Rsync.",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "aux_entry",
"label": "Auxillary Parameter Entry",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "param",
"label": "Parameter",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "value",
"label": "Value",
"schema": {
"type": "string",
"required": true
}
}
]
}
}
]
}
},
{
"variable": "rsync_modules",
"label": "Rsync Modules",
"description": "Configure modules for Rsync.",
"schema": {
"type": "list",
"default": [],
"empty": false,
"required": true,
"items": [
{
"variable": "module",
"label": "Module",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "name",
"label": "Module Name",
"description": "Module name that matches the name requested by the rsync client.\n",
"schema": {
"type": "string",
"valid_chars": "^[a-zA-Z0-9]+([_-]*[a-zA-Z0-9]+)+$",
"valid_chars_error": "Module Name, can include [Letters (a-z, A-Z), Numbers (0,9), Underscore (_), Dash (-)],</br>\nbut cannot start or end with [Underscore (_), Dash (-), Dot (.)]\n",
"required": true
}
},
{
"variable": "enabled",
"label": "Enable Module",
"schema": {
"type": "boolean",
"default": true,
"show_subquestions_if": true,
"subquestions": [
{
"variable": "comment",
"label": "Comment",
"description": "Describe the module.",
"schema": {
"type": "string"
}
},
{
"variable": "host_path",
"label": "Host Path",
"description": "The host path to use for the module.",
"schema": {
"type": "hostpath",
"required": true
}
},
{
"variable": "access_mode",
"label": "Access Mode",
"description": "The access mode for the module.",
"schema": {
"type": "string",
"default": "RO",
"required": true,
"enum": [
{
"value": "RO",
"description": "Read Only"
},
{
"value": "RW",
"description": "Read Write"
},
{
"value": "WO",
"description": "Write Only"
}
]
}
},
{
"variable": "max_connections",
"label": "Max Connections",
"description": "The maximum number of simultaneous connections.",
"schema": {
"type": "int",
"default": 0,
"min": 0,
"max": 1000,
"required": true
}
},
{
"variable": "uid",
"label": "UID",
"description": "The UID to use for the module.",
"schema": {
"type": "int",
"default": 0,
"min": 0,
"max": 4294967295,
"required": true
}
},
{
"variable": "gid",
"label": "GID",
"description": "The GID to use for the module.",
"schema": {
"type": "int",
"default": 0,
"min": 0,
"max": 4294967295,
"required": true
}
},
{
"variable": "hosts_allow",
"label": "Hosts Allow",
"description": "The hosts allowed to access the module.",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "host",
"label": "Host",
"schema": {
"type": "string",
"required": true
}
}
]
}
},
{
"variable": "hosts_deny",
"label": "Hosts Deny",
"description": "The hosts denied to access the module.",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "host",
"label": "Host",
"schema": {
"type": "string",
"required": true
}
}
]
}
},
{
"variable": "aux_params",
"label": "Auxillary Parameters",
"description": "Configure auxillary parameters for Rsync.",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "aux_entry",
"label": "Auxillary Parameter Entry",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "param",
"label": "Parameter",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "value",
"label": "Value",
"schema": {
"type": "string",
"required": true
}
}
]
}
}
]
}
}
]
}
}
]
}
}
]
}
},
{
"variable": "additional_envs",
"label": "Additional Environment Variables",
"description": "Configure additional environment variables for Rsync Daemon.",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "env",
"label": "Environment Variable",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "name",
"label": "Name",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "value",
"label": "Value",
"schema": {
"type": "string",
"required": true
}
}
]
}
}
]
}
}
]
}
},
{
"variable": "network",
"label": "",
"group": "Network Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "rsync_port",
"label": "Rsync Port",
"description": "The port for Rsync Daemon",
"schema": {
"type": "int",
"default": 30026,
"required": true,
"$ref": [
"definitions/port"
]
}
},
{
"variable": "host_network",
"label": "Host Network",
"description": "Bind to the host network. It's recommended to keep this disabled.\n",
"schema": {
"type": "boolean",
"default": true
}
}
]
}
},
{
"variable": "storage",
"label": "",
"group": "Storage Configuration",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "additional_storage",
"label": "Additional Storage",
"description": "Additional storage for Rsync Daemon.",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "storageEntry",
"label": "Storage Entry",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "type",
"label": "Type",
"description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to as a volume.\n",
"schema": {
"type": "string",
"required": true,
"default": "ix_volume",
"immutable": true,
"enum": [
{
"value": "host_path",
"description": "Host Path (Path that already exists on the system)"
},
{
"value": "ix_volume",
"description": "ixVolume (Dataset created automatically by the system)"
},
{
"value": "cifs",
"description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
}
]
}
},
{
"variable": "read_only",
"label": "Read Only",
"description": "Mount the volume as read only.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "mount_path",
"label": "Mount Path",
"description": "The path inside the container to mount the storage.",
"schema": {
"type": "path",
"required": true
}
},
{
"variable": "host_path_config",
"label": "Host Path Configuration",
"schema": {
"type": "dict",
"show_if": [
[
"type",
"=",
"host_path"
]
],
"attrs": [
{
"variable": "acl_enable",
"label": "Enable ACL",
"description": "Enable ACL for the storage.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "acl",
"label": "ACL Configuration",
"schema": {
"type": "dict",
"show_if": [
[
"acl_enable",
"=",
true
]
],
"attrs": [],
"$ref": [
"normalize/acl"
]
}
},
{
"variable": "path",
"label": "Host Path",
"description": "The host path to use for storage.",
"schema": {
"type": "hostpath",
"show_if": [
[
"acl_enable",
"=",
false
]
],
"required": true
}
}
]
}
},
{
"variable": "ix_volume_config",
"label": "ixVolume Configuration",
"description": "The configuration for the ixVolume dataset.",
"schema": {
"type": "dict",
"show_if": [
[
"type",
"=",
"ix_volume"
]
],
"$ref": [
"normalize/ix_volume"
],
"attrs": [
{
"variable": "acl_enable",
"label": "Enable ACL",
"description": "Enable ACL for the storage.",
"schema": {
"type": "boolean",
"default": false
}
},
{
"variable": "dataset_name",
"label": "Dataset Name",
"description": "The name of the dataset to use for storage.",
"schema": {
"type": "string",
"required": true,
"immutable": true,
"default": "storage_entry"
}
},
{
"variable": "acl_entries",
"label": "ACL Configuration",
"schema": {
"type": "dict",
"show_if": [
[
"acl_enable",
"=",
true
]
],
"attrs": []
}
}
]
}
},
{
"variable": "cifs_config",
"label": "SMB Configuration",
"description": "The configuration for the SMB dataset.",
"schema": {
"type": "dict",
"show_if": [
[
"type",
"=",
"cifs"
]
],
"attrs": [
{
"variable": "server",
"label": "Server",
"description": "The server to mount the SMB share.",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "path",
"label": "Path",
"description": "The path to mount the SMB share.",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "username",
"label": "Username",
"description": "The username to use for the SMB share.",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "password",
"label": "Password",
"description": "The password to use for the SMB share.",
"schema": {
"type": "string",
"required": true,
"private": true
}
},
{
"variable": "domain",
"label": "Domain",
"description": "The domain to use for the SMB share.",
"schema": {
"type": "string"
}
}
]
}
}
]
}
}
]
}
}
]
}
},
{
"variable": "labels",
"label": "",
"group": "Labels Configuration",
"schema": {
"type": "list",
"default": [],
"items": [
{
"variable": "label",
"label": "Label",
"schema": {
"type": "dict",
"attrs": [
{
"variable": "key",
"label": "Key",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "value",
"label": "Value",
"schema": {
"type": "string",
"required": true
}
},
{
"variable": "containers",
"label": "Containers",
"description": "Containers where the label should be applied",
"schema": {
"type": "list",
"items": [
{
"variable": "container",
"label": "Container",
"schema": {
"type": "string",
"required": true,
"enum": [
{
"value": "rsyncd",
"description": "rsyncd"
}
]
}
}
]
}
}
]
}
}
]
}
},
{
"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 Rsync Daemon.",
"schema": {
"type": "int",
"default": 2,
"required": true
}
},
{
"variable": "memory",
"label": "Memory (in MB)",
"description": "Memory limit for Rsync Daemon.",
"schema": {
"type": "int",
"default": 4096,
"required": true
}
}
]
}
}
]
}
}
]
},
"readme": "<h1>Rsyncd</h1> <p><a href=\"https://rsync.samba.org/\">Rsyncd</a> is an open source utility that provides fast incremental file transfer.</p>",
"changelog": null,
"chart_metadata": {
"app_version": "1.0.2",
"capabilities": [
{
"description": "Rsync requires this ability to change ownership of files.",
"name": "CHOWN"
},
{
"description": "Rsync requires this ability to override file permissions.",
"name": "DAC_OVERRIDE"
},
{
"description": "Rsync requires this ability to override file ownership.",
"name": "FOWNER"
},
{
"description": "Rsync requires this ability to switch user for sub-processes.",
"name": "SETUID"
},
{
"description": "Rsync requires this ability to switch group for sub-processes.",
"name": "SETGID"
},
{
"description": "Rsync requires this ability to use chroot for it's sub-processes.",
"name": "SYS_CHROOT"
}
],
"categories": [
"storage"
],
"date_added": "2024-08-28",
"description": "Rsync is an open source utility that provides fast incremental file transfer.",
"home": "https://github.com/truenas/containers/tree/main/apps/rsyncd",
"host_mounts": [],
"icon": "https://media.sys.truenas.net/apps/rsyncd/icons/icon.png",
"keywords": [
"sync",
"rsync",
"file transfer"
],
"lib_version": "2.1.16",
"lib_version_hash": "dac15686f882b9ce65b8549a3d5c0ed7bafe2df7a9028880d1a99b0ff4af1eff",
"maintainers": [
{
"email": "dev@ixsystems.com",
"name": "truenas",
"url": "https://www.truenas.com/"
}
],
"name": "rsyncd",
"run_as_context": [
{
"description": "Rsync Daemon run as root user.",
"gid": 0,
"group_name": "root",
"uid": 0,
"user_name": "root"
}
],
"screenshots": [],
"sources": [
"https://github.com/truenas/containers/tree/master/apps/rsyncd",
"https://hub.docker.com/r/ixsystems/rsyncd"
],
"title": "Rsync Daemon",
"train": "community",
"version": "1.1.12"
}
}
}
Support, maintenance, and documentation for applications within the Community catalog is handled by the TrueNAS community. The TrueNAS Applications Portal hosts but does not validate or maintain any linked resources associated with this app.