mirror of
https://github.com/MAGICGrants/truenas-apps.git
synced 2026-01-08 20:18:01 -05:00
1545 lines
92 KiB
JSON
1545 lines
92 KiB
JSON
{
|
|
"1.2.23": {
|
|
"healthy": true,
|
|
"supported": true,
|
|
"healthy_error": null,
|
|
"location": "/__w/apps/apps/trains/community/piwigo/1.2.23",
|
|
"last_update": "2025-12-03 13:09:21",
|
|
"required_features": [],
|
|
"human_version": "16.1.0_1.2.23",
|
|
"version": "1.2.23",
|
|
"app_metadata": {
|
|
"annotations": {
|
|
"min_scale_version": "24.10.2.2"
|
|
},
|
|
"app_version": "16.1.0",
|
|
"capabilities": [
|
|
{
|
|
"description": "Piwigo is able to change file ownership arbitrarily",
|
|
"name": "CHOWN"
|
|
},
|
|
{
|
|
"description": "Piwigo is able to bypass file permission checks",
|
|
"name": "DAC_OVERRIDE"
|
|
},
|
|
{
|
|
"description": "Piwigo is able to bypass permission checks for file operations",
|
|
"name": "FOWNER"
|
|
},
|
|
{
|
|
"description": "Piwigo is able to bind to privileged ports (< 1024)",
|
|
"name": "NET_BIND_SERVICE"
|
|
},
|
|
{
|
|
"description": "Piwigo is able to change group ID of processes",
|
|
"name": "SETGID"
|
|
},
|
|
{
|
|
"description": "Piwigo is able to change user ID of processes",
|
|
"name": "SETUID"
|
|
}
|
|
],
|
|
"categories": [
|
|
"media"
|
|
],
|
|
"changelog_url": "https://piwigo.org/forum/viewforum.php?id=23",
|
|
"date_added": "2024-09-19",
|
|
"description": "Piwigo is a photo gallery software for the web that comes with powerful features to publish and manage your collection of pictures.",
|
|
"home": "https://piwigo.org",
|
|
"host_mounts": [],
|
|
"icon": "https://media.sys.truenas.net/apps/piwigo/icons/icon.svg",
|
|
"keywords": [
|
|
"photo",
|
|
"gallery"
|
|
],
|
|
"lib_version": "2.1.65",
|
|
"lib_version_hash": "f92a9ee78c78fc77f86e7d8b545bd4c605c31c599e2c5da59f1615aa516cb8b5",
|
|
"maintainers": [
|
|
{
|
|
"email": "dev@truenas.com",
|
|
"name": "truenas",
|
|
"url": "https://www.truenas.com/"
|
|
}
|
|
],
|
|
"name": "piwigo",
|
|
"run_as_context": [
|
|
{
|
|
"description": "Piwigo runs as root user.",
|
|
"gid": 0,
|
|
"group_name": "root",
|
|
"uid": 0,
|
|
"user_name": "root"
|
|
},
|
|
{
|
|
"description": "MariaDB runs as non-root user.",
|
|
"gid": 999,
|
|
"group_name": "mariadb",
|
|
"uid": 999,
|
|
"user_name": "mariadb"
|
|
}
|
|
],
|
|
"screenshots": [
|
|
"https://media.sys.truenas.net/apps/piwigo/screenshots/screenshot1.png",
|
|
"https://media.sys.truenas.net/apps/piwigo/screenshots/screenshot2.png"
|
|
],
|
|
"sources": [
|
|
"https://github.com/linuxserver/docker-piwigo"
|
|
],
|
|
"title": "Piwigo",
|
|
"train": "community",
|
|
"version": "1.2.23"
|
|
},
|
|
"schema": {
|
|
"groups": [
|
|
{
|
|
"name": "Piwigo Configuration",
|
|
"description": "Configure Piwigo"
|
|
},
|
|
{
|
|
"name": "User and Group Configuration",
|
|
"description": "Configure User and Group for Piwigo"
|
|
},
|
|
{
|
|
"name": "Network Configuration",
|
|
"description": "Configure Network for Piwigo"
|
|
},
|
|
{
|
|
"name": "Storage Configuration",
|
|
"description": "Configure Storage for Piwigo"
|
|
},
|
|
{
|
|
"name": "Labels Configuration",
|
|
"description": "Configure Labels for Piwigo"
|
|
},
|
|
{
|
|
"name": "Resources Configuration",
|
|
"description": "Configure Resources for Piwigo"
|
|
}
|
|
],
|
|
"questions": [
|
|
{
|
|
"variable": "piwigo",
|
|
"label": "",
|
|
"group": "Piwigo Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "db_password",
|
|
"label": "Database Password",
|
|
"description": "The database password for Piwigo.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true,
|
|
"private": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "db_root_password",
|
|
"label": "Root Database Password",
|
|
"description": "The root database password for Piwigo.",
|
|
"schema": {
|
|
"type": "string",
|
|
"default": "",
|
|
"required": true,
|
|
"private": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "admin_name",
|
|
"label": "Admin Name",
|
|
"description": "The admin name for Piwigo.</br>\nOnly used when Piwigo is first installed.</br>\nYou can change it later in the Piwigo WebUI.\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"immutable": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "admin_password",
|
|
"label": "Admin Password",
|
|
"description": "The admin password for Piwigo.</br>\nOnly used when Piwigo is first installed.</br>\nYou can change it later in the Piwigo WebUI.\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"immutable": true,
|
|
"password": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "admin_email",
|
|
"label": "Admin Mail",
|
|
"description": "The admin mail for Piwigo.</br>\nOnly used when Piwigo is first installed.</br>\nYou can change it later in the Piwigo WebUI.\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"valid_chars": "^.+@.+\\..+$",
|
|
"valid_chars_error": "The email address is not valid.",
|
|
"required": true,
|
|
"immutable": true,
|
|
"default": ""
|
|
}
|
|
},
|
|
{
|
|
"variable": "language",
|
|
"label": "Language",
|
|
"description": "The language for Piwigo.</br>\nOnly used when Piwigo is first installed.\n",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"immutable": true,
|
|
"default": "en_UK",
|
|
"enum": [
|
|
{
|
|
"value": "af_ZA",
|
|
"description": "Afrikaans [ZA]"
|
|
},
|
|
{
|
|
"value": "es_AR",
|
|
"description": "Argentina [AR]"
|
|
},
|
|
{
|
|
"value": "az_AZ",
|
|
"description": "Az\u0259rbaycanca [AZ]"
|
|
},
|
|
{
|
|
"value": "id_ID",
|
|
"description": "Bahasa Indonesia [ID]"
|
|
},
|
|
{
|
|
"value": "pt_BR",
|
|
"description": "Brasil [BR]"
|
|
},
|
|
{
|
|
"value": "br_FR",
|
|
"description": "Brezhoneg [FR]"
|
|
},
|
|
{
|
|
"value": "ca_ES",
|
|
"description": "Catal\u00e0 [CA]"
|
|
},
|
|
{
|
|
"value": "da_DK",
|
|
"description": "Dansk [DK]"
|
|
},
|
|
{
|
|
"value": "de_DE",
|
|
"description": "Deutsch [DE]"
|
|
},
|
|
{
|
|
"value": "dv_MV",
|
|
"description": "Dhivehi [MV]"
|
|
},
|
|
{
|
|
"value": "en_GB",
|
|
"description": "English [GB]"
|
|
},
|
|
{
|
|
"value": "en_UK",
|
|
"description": "English [UK]"
|
|
},
|
|
{
|
|
"value": "en_US",
|
|
"description": "English [US]"
|
|
},
|
|
{
|
|
"value": "es_ES",
|
|
"description": "Espa\u00f1ol [ES]"
|
|
},
|
|
{
|
|
"value": "eo_EO",
|
|
"description": "Esperanto [EO]"
|
|
},
|
|
{
|
|
"value": "et_EE",
|
|
"description": "Estonian [EE]"
|
|
},
|
|
{
|
|
"value": "eu_ES",
|
|
"description": "Euskara [ES]"
|
|
},
|
|
{
|
|
"value": "fi_FI",
|
|
"description": "Finnish [FI]"
|
|
},
|
|
{
|
|
"value": "fr_FR",
|
|
"description": "Fran\u00e7ais [FR]"
|
|
},
|
|
{
|
|
"value": "fr_CA",
|
|
"description": "Fran\u00e7ais [QC]"
|
|
},
|
|
{
|
|
"value": "ga_IE",
|
|
"description": "Gaeilge [IE]"
|
|
},
|
|
{
|
|
"value": "gl_ES",
|
|
"description": "Galego [ES]"
|
|
},
|
|
{
|
|
"value": "hr_HR",
|
|
"description": "Hrvatski [HR]"
|
|
},
|
|
{
|
|
"value": "it_IT",
|
|
"description": "Italiano [IT]"
|
|
},
|
|
{
|
|
"value": "lv_LV",
|
|
"description": "Latvie\u0161u [LV]"
|
|
},
|
|
{
|
|
"value": "lt_LT",
|
|
"description": "Lietuviu [LT]"
|
|
},
|
|
{
|
|
"value": "lb_LU",
|
|
"description": "L\u00ebtzebuergesch [LU]"
|
|
},
|
|
{
|
|
"value": "hu_HU",
|
|
"description": "Magyar [HU]"
|
|
},
|
|
{
|
|
"value": "ms_MY",
|
|
"description": "Malay [MY]"
|
|
},
|
|
{
|
|
"value": "es_MX",
|
|
"description": "M\u00e9xico [MX]"
|
|
},
|
|
{
|
|
"value": "nl_NL",
|
|
"description": "Nederlands [NL]"
|
|
},
|
|
{
|
|
"value": "nb_NO",
|
|
"description": "Norsk bokm\u00e5l [NO]"
|
|
},
|
|
{
|
|
"value": "nn_NO",
|
|
"description": "Norwegian nynorsk [NO]"
|
|
},
|
|
{
|
|
"value": "pl_PL",
|
|
"description": "Polski [PL]"
|
|
},
|
|
{
|
|
"value": "pt_PT",
|
|
"description": "Portugu\u00eas [PT]"
|
|
},
|
|
{
|
|
"value": "ro_RO",
|
|
"description": "Rom\u00e2n\u0103 [RO]"
|
|
},
|
|
{
|
|
"value": "sk_SK",
|
|
"description": "Slovensky [SK]"
|
|
},
|
|
{
|
|
"value": "sl_SI",
|
|
"description": "Sloven\u0161cina [SI]"
|
|
},
|
|
{
|
|
"value": "sh_RS",
|
|
"description": "Srpski [SR]"
|
|
},
|
|
{
|
|
"value": "sv_SE",
|
|
"description": "Svenska [SE]"
|
|
},
|
|
{
|
|
"value": "vi_VN",
|
|
"description": "Ti\u1ebfng Vi\u1ec7t [VN]"
|
|
},
|
|
{
|
|
"value": "tr_TR",
|
|
"description": "T\u00fcrk\u00e7e [TR]"
|
|
},
|
|
{
|
|
"value": "wo_SN",
|
|
"description": "Wolof [SN]"
|
|
},
|
|
{
|
|
"value": "is_IS",
|
|
"description": "\u00cdslenska [IS]"
|
|
},
|
|
{
|
|
"value": "cs_CZ",
|
|
"description": "\u010cesky [CZ]"
|
|
},
|
|
{
|
|
"value": "el_GR",
|
|
"description": "\u0395\u03bb\u03bb\u03b7\u03bd\u03b9\u03ba\u03ac [GR]"
|
|
},
|
|
{
|
|
"value": "bg_BG",
|
|
"description": "\u0411\u044a\u043b\u0433\u0430\u0440\u0441\u043a\u0438 [BG]"
|
|
},
|
|
{
|
|
"value": "mk_MK",
|
|
"description": "\u041c\u0430\u043a\u0435\u0434\u043e\u043d\u0441\u043a\u0438 [MK]"
|
|
},
|
|
{
|
|
"value": "mn_MN",
|
|
"description": "\u041c\u043e\u043d\u0433\u043e\u043b [MN]"
|
|
},
|
|
{
|
|
"value": "ru_RU",
|
|
"description": "\u0420\u0443\u0441\u0441\u043a\u0438\u0439 [RU]"
|
|
},
|
|
{
|
|
"value": "sr_RS",
|
|
"description": "\u0421\u0440\u043f\u0441\u043a\u0438 [SR]"
|
|
},
|
|
{
|
|
"value": "uk_UA",
|
|
"description": "\u0423\u043a\u0440\u0430\u0457\u043d\u0441\u044c\u043a\u0430 [UA]"
|
|
},
|
|
{
|
|
"value": "he_IL",
|
|
"description": "\u05e2\u05d1\u05e8\u05d9\u05ea [IL]"
|
|
},
|
|
{
|
|
"value": "ar_EG",
|
|
"description": "\u0627\u0644\u0639\u0631\u0628\u064a\u0629 (\u0645\u0635"
|
|
},
|
|
{
|
|
"value": "ar_SA",
|
|
"description": "\u0627\u0644\u0639\u0631\u0628\u064a\u0629 [AR]"
|
|
},
|
|
{
|
|
"value": "ar_MA",
|
|
"description": "\u0627\u0644\u0639\u0631\u0628\u064a\u0629 [MA]"
|
|
},
|
|
{
|
|
"value": "fa_IR",
|
|
"description": "\u067e\u0627\u0631\u0633\u06cc [IR]"
|
|
},
|
|
{
|
|
"value": "kok_IN",
|
|
"description": "\u0915\u094b\u0902\u0915\u0923\u0940 [IN]"
|
|
},
|
|
{
|
|
"value": "bn_IN",
|
|
"description": "\u09ac\u09be\u0982\u09b2\u09be[IN]"
|
|
},
|
|
{
|
|
"value": "gu_IN",
|
|
"description": "\u0a97\u0ac1\u0a9c\u0ab0\u0abe\u0aa4\u0ac0[IN]"
|
|
},
|
|
{
|
|
"value": "ta_IN",
|
|
"description": "\u0ba4\u0bae\u0bbf\u0bb4\u0bcd [IN]"
|
|
},
|
|
{
|
|
"value": "kn_IN",
|
|
"description": "\u0c95\u0ca8\u0ccd\u0ca8\u0ca1 [IN]"
|
|
},
|
|
{
|
|
"value": "th_TH",
|
|
"description": "\u0e20\u0e32\u0e29\u0e32\u0e44\u0e17\u0e22 [TH]"
|
|
},
|
|
{
|
|
"value": "ka_GE",
|
|
"description": "\u10e5\u10d0\u10e0\u10d7\u10e3\u10da\u10d8 [GE]"
|
|
},
|
|
{
|
|
"value": "km_KH",
|
|
"description": "\u1781\u17d2\u1798\u17c2\u179a [KH]"
|
|
},
|
|
{
|
|
"value": "zh_TW",
|
|
"description": "\u4e2d\u6587 (\u7e41\u9ad4) [TW]"
|
|
},
|
|
{
|
|
"value": "zh_HK",
|
|
"description": "\u4e2d\u6587 (\u9999\u6e2f) [HK]"
|
|
},
|
|
{
|
|
"value": "ja_JP",
|
|
"description": "\u65e5\u672c\u8a9e [JP]"
|
|
},
|
|
{
|
|
"value": "zh_CN",
|
|
"description": "\u7b80\u4f53\u4e2d\u6587 [CN]"
|
|
},
|
|
{
|
|
"value": "ko_KR",
|
|
"description": "\ud55c\uad6d\uc5b4 [KR]"
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"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 Piwigo files will be owned by.",
|
|
"schema": {
|
|
"type": "int",
|
|
"min": 568,
|
|
"default": 568,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "group",
|
|
"label": "Group ID",
|
|
"description": "The group id that Piwigo 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",
|
|
"show_if": [
|
|
[
|
|
"bind_mode",
|
|
"=",
|
|
"published"
|
|
]
|
|
],
|
|
"default": 30066,
|
|
"min": 1,
|
|
"max": 65535,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "host_ips",
|
|
"label": "Host IPs",
|
|
"description": "IPs on the host to bind this port",
|
|
"schema": {
|
|
"type": "list",
|
|
"show_if": [
|
|
[
|
|
"bind_mode",
|
|
"=",
|
|
"published"
|
|
]
|
|
],
|
|
"default": [],
|
|
"items": [
|
|
{
|
|
"variable": "host_ip",
|
|
"label": "Host IP",
|
|
"schema": {
|
|
"type": "string",
|
|
"required": true,
|
|
"$ref": [
|
|
"definitions/node_bind_ip"
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"variable": "storage",
|
|
"label": "",
|
|
"group": "Storage Configuration",
|
|
"schema": {
|
|
"type": "dict",
|
|
"attrs": [
|
|
{
|
|
"variable": "config",
|
|
"label": "Piwigo Config Storage",
|
|
"description": "The path to store Piwigo 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": "gallery",
|
|
"label": "Piwigo Gallery Storage",
|
|
"description": "The path to store Piwigo Gallery.",
|
|
"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": "mariadb_data",
|
|
"label": "Piwigo MariaDB Data Storage",
|
|
"description": "The path to store Piwigo 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": "piwigo",
|
|
"description": "piwigo"
|
|
},
|
|
{
|
|
"value": "mariadb",
|
|
"description": "mariadb"
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
},
|
|
{
|
|
"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 Piwigo.",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 2,
|
|
"required": true
|
|
}
|
|
},
|
|
{
|
|
"variable": "memory",
|
|
"label": "Memory (in MB)",
|
|
"description": "Memory limit for Piwigo.",
|
|
"schema": {
|
|
"type": "int",
|
|
"default": 4096,
|
|
"required": true
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
}
|
|
}
|
|
]
|
|
},
|
|
"readme": "<h1>Piwigo</h1> <p><a href=\"https://piwigo.org/\">Piwigo</a> is a photo gallery software for the web that comes with powerful features to publish and manage your collection of pictures.</p>",
|
|
"changelog": null,
|
|
"chart_metadata": {
|
|
"annotations": {
|
|
"min_scale_version": "24.10.2.2"
|
|
},
|
|
"app_version": "16.1.0",
|
|
"capabilities": [
|
|
{
|
|
"description": "Piwigo is able to change file ownership arbitrarily",
|
|
"name": "CHOWN"
|
|
},
|
|
{
|
|
"description": "Piwigo is able to bypass file permission checks",
|
|
"name": "DAC_OVERRIDE"
|
|
},
|
|
{
|
|
"description": "Piwigo is able to bypass permission checks for file operations",
|
|
"name": "FOWNER"
|
|
},
|
|
{
|
|
"description": "Piwigo is able to bind to privileged ports (< 1024)",
|
|
"name": "NET_BIND_SERVICE"
|
|
},
|
|
{
|
|
"description": "Piwigo is able to change group ID of processes",
|
|
"name": "SETGID"
|
|
},
|
|
{
|
|
"description": "Piwigo is able to change user ID of processes",
|
|
"name": "SETUID"
|
|
}
|
|
],
|
|
"categories": [
|
|
"media"
|
|
],
|
|
"changelog_url": "https://piwigo.org/forum/viewforum.php?id=23",
|
|
"date_added": "2024-09-19",
|
|
"description": "Piwigo is a photo gallery software for the web that comes with powerful features to publish and manage your collection of pictures.",
|
|
"home": "https://piwigo.org",
|
|
"host_mounts": [],
|
|
"icon": "https://media.sys.truenas.net/apps/piwigo/icons/icon.svg",
|
|
"keywords": [
|
|
"photo",
|
|
"gallery"
|
|
],
|
|
"lib_version": "2.1.65",
|
|
"lib_version_hash": "f92a9ee78c78fc77f86e7d8b545bd4c605c31c599e2c5da59f1615aa516cb8b5",
|
|
"maintainers": [
|
|
{
|
|
"email": "dev@truenas.com",
|
|
"name": "truenas",
|
|
"url": "https://www.truenas.com/"
|
|
}
|
|
],
|
|
"name": "piwigo",
|
|
"run_as_context": [
|
|
{
|
|
"description": "Piwigo runs as root user.",
|
|
"gid": 0,
|
|
"group_name": "root",
|
|
"uid": 0,
|
|
"user_name": "root"
|
|
},
|
|
{
|
|
"description": "MariaDB runs as non-root user.",
|
|
"gid": 999,
|
|
"group_name": "mariadb",
|
|
"uid": 999,
|
|
"user_name": "mariadb"
|
|
}
|
|
],
|
|
"screenshots": [
|
|
"https://media.sys.truenas.net/apps/piwigo/screenshots/screenshot1.png",
|
|
"https://media.sys.truenas.net/apps/piwigo/screenshots/screenshot2.png"
|
|
],
|
|
"sources": [
|
|
"https://github.com/linuxserver/docker-piwigo"
|
|
],
|
|
"title": "Piwigo",
|
|
"train": "community",
|
|
"version": "1.2.23"
|
|
}
|
|
}
|
|
} |