mirror of
https://github.com/MAGICGrants/truenas-apps.git
synced 2026-01-08 04:03:51 -05:00
638 lines
25 KiB
YAML
638 lines
25 KiB
YAML
groups:
|
|
- name: FreshRSS Configuration
|
|
description: Configure FreshRSS
|
|
- name: Network Configuration
|
|
description: Configure Network for FreshRSS
|
|
- name: Storage Configuration
|
|
description: Configure Storage for FreshRSS
|
|
- name: Labels Configuration
|
|
description: Configure Labels for FreshRSS
|
|
- name: Resources Configuration
|
|
description: Configure Resources for FreshRSS
|
|
|
|
questions:
|
|
- variable: TZ
|
|
group: FreshRSS Configuration
|
|
label: Timezone
|
|
schema:
|
|
type: string
|
|
default: Etc/UTC
|
|
required: true
|
|
$ref:
|
|
- definitions/timezone
|
|
|
|
- variable: fresh_rss
|
|
label: ""
|
|
group: FreshRSS 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>
|
|
STOP! and make sure you have a backup of your data.</br>
|
|
Changing this will trigger an one way database upgrade.</br>
|
|
You can only select newer versions of postgres.</br>
|
|
Selecting an older version will refuse to start.</br>
|
|
If something goes wrong, you will have to restore from backup.
|
|
schema:
|
|
type: string
|
|
default: postgres_18_image
|
|
required: true
|
|
enum:
|
|
- value: postgres_15_image
|
|
description: Postgres 15 (Deprecated)
|
|
- value: postgres_17_image
|
|
description: Postgres 17
|
|
- value: postgres_18_image
|
|
description: Postgres 18
|
|
- variable: default_admin_user
|
|
label: Default Admin User
|
|
description: The default admin user for FreshRSS.
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
- variable: default_admin_password
|
|
label: Default Admin Password
|
|
description: The default admin password for FreshRSS.
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
private: false
|
|
- variable: cron_min
|
|
label: Cron Min
|
|
description: |
|
|
A valid cron expression for cron minutes.</br>
|
|
For example: */15 or */5 or 0,30
|
|
schema:
|
|
type: string
|
|
default: "*/15"
|
|
required: true
|
|
- variable: db_user
|
|
label: Database User
|
|
description: The user for the database.
|
|
schema:
|
|
type: string
|
|
default: "fresh_rss"
|
|
required: true
|
|
hidden: true
|
|
- variable: db_name
|
|
label: Database Name
|
|
description: The name for the database.
|
|
schema:
|
|
type: string
|
|
default: "fresh_rss"
|
|
required: true
|
|
hidden: true
|
|
- variable: db_password
|
|
label: Database Password
|
|
description: The password for FreshRSS.
|
|
schema:
|
|
type: string
|
|
default: ""
|
|
required: true
|
|
private: 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>
|
|
- Publish: The port will be published on the host for external access.</br>
|
|
- Expose: The port will be exposed for inter-container communication.</br>
|
|
- None: The port will not be exposed or published.</br>
|
|
Note: If the Dockerfile defines an EXPOSE directive,
|
|
the port will still be exposed for inter-container communication regardless of this setting.
|
|
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: 30108
|
|
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: data
|
|
label: FreshRSS Data Storage
|
|
description: The path to store FreshRSS Data.
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
- variable: type
|
|
label: Type
|
|
description: |
|
|
ixVolume: Is dataset created automatically by the system.</br>
|
|
Host Path: Is a path that already exists on the system.
|
|
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: extensions
|
|
label: FreshRSS Extensions Storage
|
|
description: The path to store FreshRSS Extensions.
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
- variable: type
|
|
label: Type
|
|
description: |
|
|
ixVolume: Is dataset created automatically by the system.</br>
|
|
Host Path: Is a path that already exists on the system.
|
|
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: "extensions"
|
|
- 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: FreshRSS Postgres Data Storage
|
|
description: The path to store FreshRSS Postgres Data.
|
|
schema:
|
|
type: dict
|
|
attrs:
|
|
- variable: type
|
|
label: Type
|
|
description: |
|
|
ixVolume: Is dataset created automatically by the system.</br>
|
|
Host Path: Is a path that already exists on the system.
|
|
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: "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.
|
|
Enabling this, will check the top level directory,</br>
|
|
If it finds incorrect permissions, it will `chown` the
|
|
host path to the user and group required for the
|
|
postgres container.
|
|
schema:
|
|
type: boolean
|
|
default: false
|
|
show_if: [["acl_enable", "=", false]]
|
|
- 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>
|
|
Host Path: Is a path that already exists on the system.</br>
|
|
SMB Share: Is a SMB share that is mounted to as a volume.</br>
|
|
NFS Share: Is a NFS share that is mounted to as a volume.
|
|
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: fresh_rss
|
|
description: fresh_rss
|
|
- value: postgres
|
|
description: postgres
|
|
- 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 FreshRSS.
|
|
schema:
|
|
type: int
|
|
default: 2
|
|
required: true
|
|
- variable: memory
|
|
label: Memory (in MB)
|
|
description: Memory limit for FreshRSS.
|
|
schema:
|
|
type: int
|
|
default: 4096
|
|
required: true
|