mirror of
https://github.com/MAGICGrants/truenas-apps.git
synced 2026-01-09 04:28:09 -05:00
1608 lines
97 KiB
JSON
1608 lines
97 KiB
JSON
{
|
|
"1.2.28": {
|
|
"healthy": true,
|
|
"supported": true,
|
|
"healthy_error": null,
|
|
"location": "/__w/apps/apps/trains/community/paperless-ngx/1.2.28",
|
|
"last_update": "2025-03-12 19:33:14",
|
|
"required_features": [],
|
|
"human_version": "2.14.7_1.2.28",
|
|
"version": "1.2.28",
|
|
"app_metadata": {
|
|
"app_version": "2.14.7",
|
|
"capabilities": [
|
|
{
|
|
"description": "Paperless-ngx is able to chown files.",
|
|
"name": "CHOWN"
|
|
},
|
|
{
|
|
"description": "Paperless-ngx is able to bypass permission checks.",
|
|
"name": "DAC_OVERRIDE"
|
|
},
|
|
{
|
|
"description": "Paperless-ngx is able bypass permission checks for it's sub-processes.",
|
|
"name": "FOWNER"
|
|
},
|
|
{
|
|
"description": "Paperless-ngx is able to set group ID for it's sub-processes.",
|
|
"name": "SETGID"
|
|
},
|
|
{
|
|
"description": "Paperless-ngx is able to set user ID for it's sub-processes.",
|
|
"name": "SETUID"
|
|
}
|
|
],
|
|
"categories": [
|
|
"productivity"
|
|
],
|
|
"description": "Paperless-ngx is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.",
|
|
"home": "https://docs.paperless-ngx.com",
|
|
"host_mounts": [],
|
|
"icon": "https://media.sys.truenas.net/apps/paperless-ngx/icons/icon.svg",
|
|
"keywords": [
|
|
"document",
|
|
"management"
|
|
],
|
|
"lib_version": "2.1.16",
|
|
"lib_version_hash": "dac15686f882b9ce65b8549a3d5c0ed7bafe2df7a9028880d1a99b0ff4af1eff",
|
|
"maintainers": [
|
|
{
|
|
"email": "dev@ixsystems.com",
|
|
"name": "truenas",
|
|
"url": "https://www.truenas.com/"
|
|
}
|
|
],
|
|
"name": "paperless-ngx",
|
|
"run_as_context": [
|
|
{
|
|
"description": "Paperless-ngx runs as root user.",
|
|
"gid": 0,
|
|
"group_name": "root",
|
|
"uid": 0,
|
|
"user_name": "root"
|
|
},
|
|
{
|
|
"description": "Postgres runs as non-root user.",
|
|
"gid": 999,
|
|
"group_name": "postgres",
|
|
"uid": 999,
|
|
"user_name": "postgres"
|
|
},
|
|
{
|
|
"description": "Redis runs as a non-root user and root group.",
|
|
"gid": 0,
|
|
"group_name": "root",
|
|
"uid": 1001,
|
|
"user_name": "redis"
|
|
},
|
|
{
|
|
"description": "Tika runs as a non-root user.",
|
|
"gid": 35002,
|
|
"group_name": "tika",
|
|
"uid": 35002,
|
|
"user_name": "tika"
|
|
},
|
|
{
|
|
"description": "Gotenberg runs as a non-root user.",
|
|
"gid": 1001,
|
|
"group_name": "gotenberg",
|
|
"uid": 1001,
|
|
"user_name": "gotenberg"
|
|
}
|
|
],
|
|
"screenshots": [
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot1.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot2.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot3.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot4.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot5.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot6.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot7.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot8.png"
|
|
],
|
|
"sources": [
|
|
"https://hub.docker.com/r/paperlessngx/paperless-ngx",
|
|
"https://github.com/paperless-ngx/paperless-ngx"
|
|
],
|
|
"title": "Paperless-ngx",
|
|
"train": "community",
|
|
"version": "1.2.28"
|
|
},
|
|
"schema": {
|
|
"groups": [
|
|
{
|
|
"name": "Paperless-ngx Configuration",
|
|
"description": "Configure Paperless-ngx"
|
|
},
|
|
{
|
|
"name": "User and Group Configuration",
|
|
"description": "Configure User and Group for Paperless-ngx"
|
|
},
|
|
{
|
|
"name": "Network Configuration",
|
|
"description": "Configure Network for Paperless-ngx"
|
|
},
|
|
{
|
|
"name": "Storage Configuration",
|
|
"description": "Configure Storage for Paperless-ngx"
|
|
},
|
|
{
|
|
"name": "Labels Configuration",
|
|
"description": "Configure Labels for Paperless-ngx"
|
|
},
|
|
{
|
|
"name": "Resources Configuration",
|
|
"description": "Configure Resources for Paperless-ngx"
|
|
}
|
|
],
|
|
"questions": [
|
|
{
|
|
"variable": "TZ",
|
|
"group": "Paperless-ngx Configuration",
|
|
"label": "Timezone",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "Etc/UTC",
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/timezone"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "paperless",
|
|
"label": "",
|
|
"group": "Paperless-ngx Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "postgres_image_selector",
|
|
"label": "Postgres Image (CAUTION)",
|
|
"description": "If you are changing this after the postgres directory has been initialized,</br>\nSTOP! and make sure you have a backup of your data.</br>\nChanging this will trigger an one way database upgrade.</br>\nYou can only select newer versions of postgres.</br>\nSelecting an older version will refuse to start.</br>\nIf something goes wrong, you will have to restore from backup.\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "postgres_15_image",
|
|
"required": true,
|
|
"enum": [
|
|
{
|
|
"value": "postgres_15_image",
|
|
"description": "Postgres 15"
|
|
},
|
|
{
|
|
"value": "postgres_17_image",
|
|
"description": "Postgres 17"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "db_password",
|
|
"label": "Database Password",
|
|
"description": "The password for Paperless-ngx.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true,
|
|
"private": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "redis_password",
|
|
"label": "Redis Password",
|
|
"description": "The password for Paperless-ngx.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true,
|
|
"private": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "secret_key",
|
|
"label": "Secret Key",
|
|
"description": "The secret key for Paperless-ngx.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true,
|
|
"private": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "admin_user",
|
|
"label": "Admin User",
|
|
"description": "The admin user for Paperless-ngx.</br>\nIt is only used for the initial installation.\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true,
|
|
"immutable": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "admin_mail",
|
|
"label": "Admin Mail",
|
|
"description": "The admin mail for Paperless-ngx.</br>\nIt is only used for the initial installation.\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true,
|
|
"immutable": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "admin_password",
|
|
"label": "Admin Password",
|
|
"description": "The admin password for Paperless-ngx.</br>\nIt is only used for the initial installation.\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true,
|
|
"private": true,
|
|
"immutable": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "enable_trash",
|
|
"label": "Enable Trash",
|
|
"description": "Enable the trash feature for Paperless-ngx.</br>\nWhen enabled, documents will be moved to the trash instead of being deleted.\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "enable_tika_gotenberg",
|
|
"label": "Enable Tika and Gotenberg",
|
|
"description": "Enable Tika and Gotenberg feature for Paperless-ngx.</br>\nWhen enabled, Paperless can parse \"Office\" documents and E-Mails (such as \".doc\", \".xlsx\", \".odt\" and \".eml\")\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "gotenberg_chromium_disable_javascript",
|
|
"label": "Gotenberg Chromium Disable Javascript",
|
|
"description": "Disable Javascript in Chromium.</br>\nWhen enabled, Gotenberg will not execute Javascript in Chromium.\n",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"enable_tika_gotenberg",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"type": "boolean",
|
|
"default": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "gotenberg_chromium_allow_list_regex",
|
|
"label": "Gotenberg Chromium Allow List Regex",
|
|
"description": "Allow List of URLs that Gotenberg will allow to be rendered.</br>\nWhen empty, Gotenberg will allow all URLs to be rendered.\n",
|
|
"schema": {
|
|
"show_if": [
|
|
[
|
|
"enable_tika_gotenberg",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"type": "string",
|
|
"default": "^file:///tmp/.*"
|
|
}
|
|
},
|
|
{
|
|
"variable": "additional_envs",
|
|
"label": "Additional Environment Variables",
|
|
"description": "Configure additional environment variables for Paperless-ngx.",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "env",
|
|
"label": "Environment Variable",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "name",
|
|
"label": "Name",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "run_as",
|
|
"label": "",
|
|
"group": "User and Group Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "user",
|
|
"label": "User ID",
|
|
"description": "The user id that Paperless-ngx files will be owned by.",
|
|
"schema": {
|
|
"type": "int",
|
|
"min": 568,
|
|
"default": 568,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "group",
|
|
"label": "Group ID",
|
|
"description": "The group id that Paperless-ngx 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",
|
|
"description": "The port for Paperless-ngx WebUI",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 30070,
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/port"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "storage",
|
|
"label": "",
|
|
"group": "Storage Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "data",
|
|
"label": "Paperless-ngx Data Storage",
|
|
"description": "The path to store Paperless-ngx 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,
|
|
"immutable": true,
|
|
"default": "ix_volume",
|
|
"enum": [
|
|
{
|
|
"value": "host_path",
|
|
"description": "Host Path (Path that already exists on the system)"
|
|
},
|
|
{
|
|
"value": "ix_volume",
|
|
"description": "ixVolume (Dataset created automatically by the system)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ix_volume_config",
|
|
"label": "ixVolume Configuration",
|
|
"description": "The configuration for the ixVolume dataset.",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"ix_volume"
|
|
]
|
|
],
|
|
"$ref": [
|
|
"normalize/ix_volume"
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "acl_enable",
|
|
"label": "Enable ACL",
|
|
"description": "Enable ACL for the storage.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "dataset_name",
|
|
"label": "Dataset Name",
|
|
"description": "The name of the dataset to use for storage.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"immutable": true,
|
|
"hidden": true,
|
|
"default": "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": "media",
|
|
"label": "Paperless-ngx Media Storage",
|
|
"description": "The path to store Paperless-ngx Media.",
|
|
"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,
|
|
"immutable": true,
|
|
"default": "ix_volume",
|
|
"enum": [
|
|
{
|
|
"value": "host_path",
|
|
"description": "Host Path (Path that already exists on the system)"
|
|
},
|
|
{
|
|
"value": "ix_volume",
|
|
"description": "ixVolume (Dataset created automatically by the system)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ix_volume_config",
|
|
"label": "ixVolume Configuration",
|
|
"description": "The configuration for the ixVolume dataset.",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"ix_volume"
|
|
]
|
|
],
|
|
"$ref": [
|
|
"normalize/ix_volume"
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "acl_enable",
|
|
"label": "Enable ACL",
|
|
"description": "Enable ACL for the storage.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "dataset_name",
|
|
"label": "Dataset Name",
|
|
"description": "The name of the dataset to use for storage.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"immutable": true,
|
|
"hidden": true,
|
|
"default": "media"
|
|
}
|
|
},
|
|
{
|
|
"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": "consume",
|
|
"label": "Paperless-ngx Consume Storage",
|
|
"description": "The path to store Paperless-ngx Consume.",
|
|
"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,
|
|
"immutable": true,
|
|
"default": "ix_volume",
|
|
"enum": [
|
|
{
|
|
"value": "host_path",
|
|
"description": "Host Path (Path that already exists on the system)"
|
|
},
|
|
{
|
|
"value": "ix_volume",
|
|
"description": "ixVolume (Dataset created automatically by the system)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ix_volume_config",
|
|
"label": "ixVolume Configuration",
|
|
"description": "The configuration for the ixVolume dataset.",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"ix_volume"
|
|
]
|
|
],
|
|
"$ref": [
|
|
"normalize/ix_volume"
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "acl_enable",
|
|
"label": "Enable ACL",
|
|
"description": "Enable ACL for the storage.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "dataset_name",
|
|
"label": "Dataset Name",
|
|
"description": "The name of the dataset to use for storage.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"immutable": true,
|
|
"hidden": true,
|
|
"default": "consume"
|
|
}
|
|
},
|
|
{
|
|
"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": "trash",
|
|
"label": "Paperless-ngx Trash Storage",
|
|
"description": "The path to store Paperless-ngx Trash.",
|
|
"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,
|
|
"immutable": true,
|
|
"default": "ix_volume",
|
|
"enum": [
|
|
{
|
|
"value": "host_path",
|
|
"description": "Host Path (Path that already exists on the system)"
|
|
},
|
|
{
|
|
"value": "ix_volume",
|
|
"description": "ixVolume (Dataset created automatically by the system)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ix_volume_config",
|
|
"label": "ixVolume Configuration",
|
|
"description": "The configuration for the ixVolume dataset.",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"ix_volume"
|
|
]
|
|
],
|
|
"$ref": [
|
|
"normalize/ix_volume"
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "acl_enable",
|
|
"label": "Enable ACL",
|
|
"description": "Enable ACL for the storage.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "dataset_name",
|
|
"label": "Dataset Name",
|
|
"description": "The name of the dataset to use for storage.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"immutable": true,
|
|
"hidden": true,
|
|
"default": "trash"
|
|
}
|
|
},
|
|
{
|
|
"variable": "acl_entries",
|
|
"label": "ACL Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": []
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "host_path_config",
|
|
"label": "Host Path Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"host_path"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "acl_enable",
|
|
"label": "Enable ACL",
|
|
"description": "Enable ACL for the storage.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "acl",
|
|
"label": "ACL Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": [],
|
|
"$ref": [
|
|
"normalize/acl"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Host Path",
|
|
"description": "The host path to use for storage.",
|
|
"schema": {
|
|
"type": "hostpath",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
false
|
|
]
|
|
],
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "postgres_data",
|
|
"label": "Paperless-ngx Postgres Data Storage",
|
|
"description": "The path to store Paperless-ngx Postgres Data.",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type",
|
|
"description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"immutable": true,
|
|
"default": "ix_volume",
|
|
"enum": [
|
|
{
|
|
"value": "host_path",
|
|
"description": "Host Path (Path that already exists on the system)"
|
|
},
|
|
{
|
|
"value": "ix_volume",
|
|
"description": "ixVolume (Dataset created automatically by the system)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ix_volume_config",
|
|
"label": "ixVolume Configuration",
|
|
"description": "The configuration for the ixVolume dataset.",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"ix_volume"
|
|
]
|
|
],
|
|
"$ref": [
|
|
"normalize/ix_volume"
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "acl_enable",
|
|
"label": "Enable ACL",
|
|
"description": "Enable ACL for the storage.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "dataset_name",
|
|
"label": "Dataset Name",
|
|
"description": "The name of the dataset to use for storage.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"immutable": true,
|
|
"hidden": true,
|
|
"default": "postgres_data"
|
|
}
|
|
},
|
|
{
|
|
"variable": "acl_entries",
|
|
"label": "ACL Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": []
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "host_path_config",
|
|
"label": "Host Path Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"host_path"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "acl_enable",
|
|
"label": "Enable ACL",
|
|
"description": "Enable ACL for the storage.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "acl",
|
|
"label": "ACL Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": [],
|
|
"$ref": [
|
|
"normalize/acl"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Host Path",
|
|
"description": "The host path to use for storage.",
|
|
"schema": {
|
|
"type": "hostpath",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
false
|
|
]
|
|
],
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "auto_permissions",
|
|
"label": "Automatic Permissions",
|
|
"description": "Automatically set permissions for the host path.\nEnabling this, will check the top level directory,</br>\nIf it finds incorrect permissions, it will `chown` the\nhost path to the user and group required for the\npostgres container.\n",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false,
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
false
|
|
]
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "additional_storage",
|
|
"label": "Additional Storage",
|
|
"description": "Additional storage for Paperless-ngx.",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "storageEntry",
|
|
"label": "Storage Entry",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "type",
|
|
"label": "Type",
|
|
"description": "ixVolume: Is dataset created automatically by the system.</br>\nHost Path: Is a path that already exists on the system.</br>\nSMB Share: Is a SMB share that is mounted to as a volume.\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"default": "ix_volume",
|
|
"immutable": true,
|
|
"enum": [
|
|
{
|
|
"value": "host_path",
|
|
"description": "Host Path (Path that already exists on the system)"
|
|
},
|
|
{
|
|
"value": "ix_volume",
|
|
"description": "ixVolume (Dataset created automatically by the system)"
|
|
},
|
|
{
|
|
"value": "cifs",
|
|
"description": "SMB/CIFS Share (Mounts a volume to a SMB share)"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "read_only",
|
|
"label": "Read Only",
|
|
"description": "Mount the volume as read only.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "mount_path",
|
|
"label": "Mount Path",
|
|
"description": "The path inside the container to mount the storage.",
|
|
"schema": {
|
|
"type": "path",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "host_path_config",
|
|
"label": "Host Path Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"host_path"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "acl_enable",
|
|
"label": "Enable ACL",
|
|
"description": "Enable ACL for the storage.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "acl",
|
|
"label": "ACL Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": [],
|
|
"$ref": [
|
|
"normalize/acl"
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Host Path",
|
|
"description": "The host path to use for storage.",
|
|
"schema": {
|
|
"type": "hostpath",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
false
|
|
]
|
|
],
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "ix_volume_config",
|
|
"label": "ixVolume Configuration",
|
|
"description": "The configuration for the ixVolume dataset.",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"ix_volume"
|
|
]
|
|
],
|
|
"$ref": [
|
|
"normalize/ix_volume"
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "acl_enable",
|
|
"label": "Enable ACL",
|
|
"description": "Enable ACL for the storage.",
|
|
"schema": {
|
|
"type": "boolean",
|
|
"default": false
|
|
}
|
|
},
|
|
{
|
|
"variable": "dataset_name",
|
|
"label": "Dataset Name",
|
|
"description": "The name of the dataset to use for storage.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"immutable": true,
|
|
"default": "storage_entry"
|
|
}
|
|
},
|
|
{
|
|
"variable": "acl_entries",
|
|
"label": "ACL Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"acl_enable",
|
|
"=",
|
|
true
|
|
]
|
|
],
|
|
"attrs": [],
|
|
"$ref": [
|
|
"normalize/acl"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "cifs_config",
|
|
"label": "SMB Configuration",
|
|
"description": "The configuration for the SMB dataset.",
|
|
"schema": {
|
|
"type": "dict",
|
|
"show_if": [
|
|
[
|
|
"type",
|
|
"=",
|
|
"cifs"
|
|
]
|
|
],
|
|
"attrs": [
|
|
{
|
|
"variable": "server",
|
|
"label": "Server",
|
|
"description": "The server to mount the SMB share.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "path",
|
|
"label": "Path",
|
|
"description": "The path to mount the SMB share.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "username",
|
|
"label": "Username",
|
|
"description": "The username to use for the SMB share.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "password",
|
|
"label": "Password",
|
|
"description": "The password to use for the SMB share.",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"private": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "domain",
|
|
"label": "Domain",
|
|
"description": "The domain to use for the SMB share.",
|
|
"schema": {
|
|
"type": "string"
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "labels",
|
|
"label": "",
|
|
"group": "Labels Configuration",
|
|
"schema": {
|
|
"type": "list",
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "label",
|
|
"label": "Label",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "key",
|
|
"label": "Key",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "value",
|
|
"label": "Value",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "containers",
|
|
"label": "Containers",
|
|
"description": "Containers where the label should be applied",
|
|
"schema": {
|
|
"type": "list",
|
|
"items": [
|
|
{
|
|
"variable": "container",
|
|
"label": "Container",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"enum": [
|
|
{
|
|
"value": "paperless",
|
|
"description": "paperless"
|
|
},
|
|
{
|
|
"value": "postgres",
|
|
"description": "postgres"
|
|
},
|
|
{
|
|
"value": "redis",
|
|
"description": "redis"
|
|
},
|
|
{
|
|
"value": "tika",
|
|
"description": "tika"
|
|
},
|
|
{
|
|
"value": "gotenberg",
|
|
"description": "gotenberg"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"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 Paperless-ngx.",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 2,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "memory",
|
|
"label": "Memory (in MB)",
|
|
"description": "Memory limit for Paperless-ngx.",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 4096,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"readme": "<h1>Paperless-ngx</h1> <p><a href=\"https://docs.paperless-ngx.com\">Paperless-ngx</a> is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.</p>",
|
|
"changelog": null,
|
|
"chart_metadata": {
|
|
"app_version": "2.14.7",
|
|
"capabilities": [
|
|
{
|
|
"description": "Paperless-ngx is able to chown files.",
|
|
"name": "CHOWN"
|
|
},
|
|
{
|
|
"description": "Paperless-ngx is able to bypass permission checks.",
|
|
"name": "DAC_OVERRIDE"
|
|
},
|
|
{
|
|
"description": "Paperless-ngx is able bypass permission checks for it's sub-processes.",
|
|
"name": "FOWNER"
|
|
},
|
|
{
|
|
"description": "Paperless-ngx is able to set group ID for it's sub-processes.",
|
|
"name": "SETGID"
|
|
},
|
|
{
|
|
"description": "Paperless-ngx is able to set user ID for it's sub-processes.",
|
|
"name": "SETUID"
|
|
}
|
|
],
|
|
"categories": [
|
|
"productivity"
|
|
],
|
|
"description": "Paperless-ngx is a document management system that transforms your physical documents into a searchable online archive so you can keep, well, less paper.",
|
|
"home": "https://docs.paperless-ngx.com",
|
|
"host_mounts": [],
|
|
"icon": "https://media.sys.truenas.net/apps/paperless-ngx/icons/icon.svg",
|
|
"keywords": [
|
|
"document",
|
|
"management"
|
|
],
|
|
"lib_version": "2.1.16",
|
|
"lib_version_hash": "dac15686f882b9ce65b8549a3d5c0ed7bafe2df7a9028880d1a99b0ff4af1eff",
|
|
"maintainers": [
|
|
{
|
|
"email": "dev@ixsystems.com",
|
|
"name": "truenas",
|
|
"url": "https://www.truenas.com/"
|
|
}
|
|
],
|
|
"name": "paperless-ngx",
|
|
"run_as_context": [
|
|
{
|
|
"description": "Paperless-ngx runs as root user.",
|
|
"gid": 0,
|
|
"group_name": "root",
|
|
"uid": 0,
|
|
"user_name": "root"
|
|
},
|
|
{
|
|
"description": "Postgres runs as non-root user.",
|
|
"gid": 999,
|
|
"group_name": "postgres",
|
|
"uid": 999,
|
|
"user_name": "postgres"
|
|
},
|
|
{
|
|
"description": "Redis runs as a non-root user and root group.",
|
|
"gid": 0,
|
|
"group_name": "root",
|
|
"uid": 1001,
|
|
"user_name": "redis"
|
|
},
|
|
{
|
|
"description": "Tika runs as a non-root user.",
|
|
"gid": 35002,
|
|
"group_name": "tika",
|
|
"uid": 35002,
|
|
"user_name": "tika"
|
|
},
|
|
{
|
|
"description": "Gotenberg runs as a non-root user.",
|
|
"gid": 1001,
|
|
"group_name": "gotenberg",
|
|
"uid": 1001,
|
|
"user_name": "gotenberg"
|
|
}
|
|
],
|
|
"screenshots": [
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot1.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot2.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot3.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot4.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot5.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot6.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot7.png",
|
|
"https://media.sys.truenas.net/apps/paperless-ngx/screenshots/screenshot8.png"
|
|
],
|
|
"sources": [
|
|
"https://hub.docker.com/r/paperlessngx/paperless-ngx",
|
|
"https://github.com/paperless-ngx/paperless-ngx"
|
|
],
|
|
"title": "Paperless-ngx",
|
|
"train": "community",
|
|
"version": "1.2.28"
|
|
}
|
|
}
|
|
} |