diff --git a/charts/incubator/hexchat/Chart.yaml b/charts/incubator/hexchat/Chart.yaml index 58d913ea000..bd2e45bd761 100644 --- a/charts/incubator/hexchat/Chart.yaml +++ b/charts/incubator/hexchat/Chart.yaml @@ -1,8 +1,3 @@ -annotations: - truecharts.org/SCALE-support: "true" - truecharts.org/catagories: | - - Productivity - - Tools-Utilities apiVersion: v2 appVersion: "latest" dependencies: @@ -29,4 +24,9 @@ sources: - https://registry.hub.docker.com/r/binhex/arch-hexchat/ - https://github.com/binhex/documentation type: application -version: 0.0.22 +version: 0.0.23 +annotations: + truecharts.org/SCALE-support: "true" + truecharts.org/catagories: | + - Productivity + - Tools-Utilities diff --git a/charts/incubator/hexchat/questions.yaml b/charts/incubator/hexchat/questions.yaml index 1c2be52bfbb..4513d13c244 100644 --- a/charts/incubator/hexchat/questions.yaml +++ b/charts/incubator/hexchat/questions.yaml @@ -12,55 +12,58 @@ questions: # Include{recreate} # Include{controllerExpert} # Include{controllerExpertExtraArgs} - - variable: env + - variable: secretEnv group: "Container Configuration" - label: "Image Environment" + label: "Image Secrets" + schema: + additional_attrs: true + type: dict + attrs: + - variable: VNC_PASSWORD + label: VNC_PASSWORD + schema: + type: string + private: true + default: "" + - variable: env + group: Container Configuration + label: Image Environment schema: additional_attrs: true type: dict attrs: - variable: WEBPAGE_TITLE - label: "WEBPAGE_TITLE" + label: WEBPAGE_TITLE schema: type: string - default: "HexChat" - - variable: VNC_PASSWORD - label: "VNC_PASSWORD" - schema: - type: string - default: "" - - variable: UMASK - label: "UMASK" - schema: - type: string - default: "000" + default: HexChat # Include{containerConfig} # Include{serviceRoot} - variable: main - label: "Main Service" - description: "The Primary service on which the healthcheck runs, often the webUI" + label: Main Service + description: The Primary service on which the healthcheck runs, often the webUI schema: additional_attrs: true type: dict attrs: # Include{serviceSelector} - variable: main - label: "Main Service Port Configuration" + label: Main Service Port Configuration schema: additional_attrs: true type: dict attrs: - variable: port - label: "Port" - description: "This port exposes the container port on the service" + label: Port + description: This port exposes the container port on the service schema: type: int - default: 6080 + default: 10307 required: true # Include{advancedPortTCP} - variable: targetPort - label: "Target Port" - description: "The internal(!) port on the container the Application runs on" + label: Target Port + description: The internal(!) port on the container the Application runs on schema: type: int default: 6080 @@ -70,7 +73,7 @@ questions: # Include{serviceList} # Include{persistenceRoot} - variable: config - label: "config Storage" + label: config Storage schema: additional_attrs: true type: dict @@ -80,7 +83,7 @@ questions: # Include{persistenceList} # Include{ingressRoot} - variable: main - label: "Main Ingress" + label: Main Ingress schema: additional_attrs: true type: dict @@ -93,42 +96,42 @@ questions: # Include{security} # Include{securityContextAdvancedRoot} - variable: privileged - label: "Privileged mode" + label: Privileged mode schema: type: boolean default: false - variable: readOnlyRootFilesystem - label: "ReadOnly Root Filesystem" + label: ReadOnly Root Filesystem schema: type: boolean default: false - variable: allowPrivilegeEscalation - label: "Allow Privilege Escalation" + label: Allow Privilege Escalation schema: type: boolean default: false - variable: runAsNonRoot - label: "runAsNonRoot" + label: runAsNonRoot schema: type: boolean default: false # Include{securityContextAdvanced} # Include{podSecurityContextRoot} - variable: runAsUser - label: "runAsUser" - description: "The UserID of the user running the application" + label: runAsUser + description: The UserID of the user running the application schema: type: int default: 0 - variable: runAsGroup - label: "runAsGroup" - description: The groupID this App of the user running the application" + label: runAsGroup + description: The groupID this App of the user running the application schema: type: int default: 0 - variable: fsGroup - label: "fsGroup" - description: "The group that should own ALL storage." + label: fsGroup + description: The group that should own ALL storage. schema: type: int default: 568 diff --git a/charts/incubator/hexchat/values.yaml b/charts/incubator/hexchat/values.yaml index 04cf513ed9c..c512632a812 100644 --- a/charts/incubator/hexchat/values.yaml +++ b/charts/incubator/hexchat/values.yaml @@ -1,28 +1,34 @@ -env: - UMASK: "000" - VNC_PASSWORD: "" - WEBPAGE_TITLE: HexChat image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/hexchat tag: latest@sha256:9bb2452cbd7b8364ef7d6e1ce8d68c69398339f2c67a8a502849db52c4d12e7f -persistence: - config: - enabled: true - mountPath: /config + podSecurityContext: runAsGroup: 0 runAsUser: 0 + securityContext: readOnlyRootFilesystem: false runAsNonRoot: false + +secretEnv: + VNC_PASSWORD: "" + +env: + WEBPAGE_TITLE: HexChat + service: main: ports: main: - port: 6080 - protocol: TCP + port: 10307 + protocol: HTTP targetPort: 6080 +persistence: + config: + enabled: true + mountPath: /config + portal: enabled: true diff --git a/charts/incubator/hexo-blog/Chart.yaml b/charts/incubator/hexo-blog/Chart.yaml index 1452919f6b7..3388a815ba6 100644 --- a/charts/incubator/hexo-blog/Chart.yaml +++ b/charts/incubator/hexo-blog/Chart.yaml @@ -1,7 +1,3 @@ -annotations: - truecharts.org/SCALE-support: "true" - truecharts.org/catagories: | - - Productivity apiVersion: v2 appVersion: "latest" dependencies: @@ -26,4 +22,8 @@ sources: - https://github.com/fletchto99/hexo-dev-docker - https://hub.docker.com/r/fletchto99/hexo-dev-blog/ type: application -version: 0.0.22 +version: 0.0.23 +annotations: + truecharts.org/SCALE-support: "true" + truecharts.org/catagories: | + - Productivity diff --git a/charts/incubator/hexo-blog/questions.yaml b/charts/incubator/hexo-blog/questions.yaml index 08e9ce931b0..de23c24eb57 100644 --- a/charts/incubator/hexo-blog/questions.yaml +++ b/charts/incubator/hexo-blog/questions.yaml @@ -1,5 +1,7 @@ # Include{groups} -portals: {} +portals: + open: +# Include{portalLink} questions: # Include{global} # Include{controller} @@ -11,63 +13,113 @@ questions: # Include{controllerExpert} # Include{controllerExpertExtraArgs} - variable: env - group: "Container Configuration" - label: "Image Environment" + group: Container Configuration + label: Image Environment schema: additional_attrs: true type: dict attrs: - variable: HEXO_PLUGINS - label: "HEXO_PLUGINS" - description: "A space seperated list of hexo plugins to install" + label: HEXO Plugins + description: A space separated list of hexo plugins to install schema: type: string default: "" +# Include{containerConfig} +# Include{serviceRoot} + - variable: main + label: "Main Service" + description: "The Primary service on which the healthcheck runs, often the webUI" + schema: + additional_attrs: true + type: dict + attrs: +# Include{serviceSelector} + - variable: main + label: "Main Service Port Configuration" + schema: + additional_attrs: true + type: dict + attrs: + - variable: port + label: "Port" + description: "This port exposes the container port on the service" + schema: + type: int + default: 10306 + required: true +# Include{advancedPortTCP} + - variable: targetPort + label: "Target Port" + description: "The internal(!) port on the container the Application runs on" + schema: + type: int + default: 8080 # Include{serviceExpertRoot} default: false # Include{serviceExpert} # Include{serviceList} +# Include{persistenceRoot} + - variable: config + label: "config Storage" + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} # Include{persistenceList} +# Include{ingressRoot} + - variable: main + label: "Main Ingress" + schema: + additional_attrs: true + type: dict + attrs: +# Include{ingressDefault} +# Include{ingressTLS} +# Include{ingressTraefik} +# Include{ingressExpert} # Include{ingressList} # Include{security} # Include{securityContextAdvancedRoot} - variable: privileged - label: "Privileged mode" + label: Privileged mode schema: type: boolean default: false - variable: readOnlyRootFilesystem - label: "ReadOnly Root Filesystem" + label: ReadOnly Root Filesystem schema: type: boolean default: false - variable: allowPrivilegeEscalation - label: "Allow Privilege Escalation" + label: Allow Privilege Escalation schema: type: boolean default: false - variable: runAsNonRoot - label: "runAsNonRoot" + label: runAsNonRoot schema: type: boolean default: false # Include{securityContextAdvanced} # Include{podSecurityContextRoot} - variable: runAsUser - label: "runAsUser" - description: "The UserID of the user running the application" + label: runAsUser + description: The UserID of the user running the application schema: type: int default: 0 - variable: runAsGroup - label: "runAsGroup" - description: The groupID this App of the user running the application" + label: runAsGroup + description: The groupID this App of the user running the application schema: type: int default: 0 - variable: fsGroup - label: "fsGroup" - description: "The group that should own ALL storage." + label: fsGroup + description: The group that should own ALL storage. schema: type: int default: 568 diff --git a/charts/incubator/hexo-blog/values.yaml b/charts/incubator/hexo-blog/values.yaml index 410568fb6a5..ddadc0ae104 100644 --- a/charts/incubator/hexo-blog/values.yaml +++ b/charts/incubator/hexo-blog/values.yaml @@ -1,29 +1,31 @@ -env: - HEXO_PLUGINS: "" image: pullPolicy: IfNotPresent repository: tccr.io/truecharts/hexo-blog tag: latest@sha256:8d7dbd82cace536140f4058be8bd8744b22cba63bc8c886df993db4d7a993f5c -persistence: {} -podSecurityContext: - runAsGroup: 0 - runAsUser: 0 -probes: - liveness: - enabled: false - readiness: - enabled: false - startup: - enabled: false + securityContext: readOnlyRootFilesystem: false runAsNonRoot: false + +podSecurityContext: + runAsGroup: 0 + runAsUser: 0 + +env: + HEXO_PLUGINS: "" + service: main: - enabled: false ports: main: - enabled: false + port: 10306 + protocol: HTTP + targetPort: 8080 + +persistence: + config: + enabled: true + mountPath: /config portal: enabled: false diff --git a/charts/incubator/qbitmanage/Chart.yaml b/charts/incubator/qbitmanage/Chart.yaml index 64bddcc1269..e0b533d8425 100644 --- a/charts/incubator/qbitmanage/Chart.yaml +++ b/charts/incubator/qbitmanage/Chart.yaml @@ -1,8 +1,3 @@ -annotations: - truecharts.org/SCALE-support: "true" - truecharts.org/catagories: | - - Downloaders - - MediaApp-Other apiVersion: v2 appVersion: "latest" dependencies: @@ -25,7 +20,12 @@ maintainers: name: qbitmanage sources: - https://github.com/truecharts/charts/tree/master/charts/incubator/qbitmanage - - https://hotio.dev/containers/qbitmanage - - https://hub.docker.com/r/hotio/qbitmanage + - https://github.com/StuffAnThings/qbit_manage/wiki/Docker-Installation + - https://hub.docker.com/r/bobokun/qbit_manage type: application -version: 0.0.25 +version: 0.0.26 +annotations: + truecharts.org/SCALE-support: "true" + truecharts.org/catagories: | + - Downloaders + - MediaApp-Other diff --git a/charts/incubator/qbitmanage/questions.yaml b/charts/incubator/qbitmanage/questions.yaml index 0c8117c4366..7feaa48a44a 100644 --- a/charts/incubator/qbitmanage/questions.yaml +++ b/charts/incubator/qbitmanage/questions.yaml @@ -11,26 +11,111 @@ questions: # Include{controllerExpert} # Include{controllerExpertExtraArgs} - variable: env - group: "Container Configuration" - label: "Image Environment" + group: Container Configuration + label: Image Environment schema: additional_attrs: true type: dict attrs: - - variable: UMASK - label: "UMASK" - description: "Container Variable UMASK" + - variable: QBT_RUN + label: QBT_RUN + description: Run without the scheduler. Script will exit after completion. + schema: + type: boolean + default: false + - variable: QBT_RUN + label: QBT_SCHEDULE + description: Schedule to run every x minutes. + schema: + type: int + default: 30 + - variable: QBT_CROSS_SEED + label: QBT_CROSS_SEED + description: Use this after running cross-seed script to add torrents from the cross-seed output folder to qBittorrent + schema: + type: boolean + default: false + - variable: QBT_RECHECK + label: QBT_RECHECK + description: Recheck paused torrents sorted by lowest size. Resume if Completed. + schema: + type: boolean + default: false + - variable: QBT_CAT_UPDATE + label: QBT_CAT_UPDATE + description: Use this if you would like to update your categories or move from one category to another. + schema: + type: boolean + default: false + - variable: QBT_TAG_UPDATE + label: QBT_TAG_UPDATE + description: Use this if you would like to update your tags. (Only adds tags to untagged torrents) + schema: + type: boolean + default: false + - variable: QBT_REM_UNREGISTERED + label: QBT_REM_UNREGISTERED + description: Use this if you would like to remove unregistered torrents. (It will the delete data & torrent if it is not being cross-seeded, otherwise it will just remove the torrent without deleting data) + schema: + type: boolean + default: false + - variable: QBT_REM_ORPHANED + label: QBT_REM_ORPHANED + description: Use this if you would like to remove orphaned files from your root_dir directory that are not referenced by any torrents. It will scan your root_dir directory and compare it with what is in qBittorrent. Any data not referenced in qBittorrent will be moved into /data/torrents/orphaned_data folder for you to review/delete. + schema: + type: boolean + default: false + - variable: QBT_TAG_NOHARDLINKS + label: QBT_TAG_NOHARDLINKS + description: Use this to tag any torrents that do not have any hard links associated with any of the files. This is useful for those that use Sonarr/Radarr that hard links your media files with the torrents for seeding. When files get upgraded they no longer become linked with your media therefore will be tagged with a new tag noHL. You can then safely delete/remove these torrents to free up any extra space that is not being used by your media folder. + schema: + type: boolean + default: false + - variable: QBT_SKIP_RECYCLE + label: QBT_SKIP_RECYCLE + description: Use this to skip emptying the Recycle Bin folder (/root_dir/.RecycleBin). + schema: + type: boolean + default: false + - variable: QBT_DRY_RUN + label: QBT_DRY_RUN + description: If you would like to see what is gonna happen but not actually move/delete or tag/categorize anything. + schema: + type: boolean + default: false + - variable: QBT_LOG_LEVEL + label: QBT_LOG_LEVEL + description: Change the output log level. schema: type: string - default: "" -# Include{serviceExpertRoot} - default: false -# Include{serviceExpert} + default: INFO + - variable: QBT_DIVIDER + label: QBT_DIVIDER + description: Character that divides the sections. + schema: + type: string + default: "=" + - variable: QBT_WIDTH + label: QBT_WIDTH + description: Screen Width. + schema: + type: int + default: 100 +# Include{containerConfig} # Include{serviceList} # Include{persistenceRoot} - variable: config - label: "config Storage" - description: "Container Path config" + label: App Config Storage + description: Stores the Application Configuration. + schema: + additional_attrs: true + type: dict + attrs: +# Include{persistenceBasic} +# Include{persistenceAdvanced} + - variable: data + label: App Data/Torrent Storage + description: Stores the Application Configuration. schema: additional_attrs: true type: dict @@ -42,42 +127,42 @@ questions: # Include{security} # Include{securityContextAdvancedRoot} - variable: privileged - label: "Privileged mode" + label: Privileged mode schema: type: boolean default: false - variable: readOnlyRootFilesystem - label: "ReadOnly Root Filesystem" + label: ReadOnly Root Filesystem schema: type: boolean default: false - variable: allowPrivilegeEscalation - label: "Allow Privilege Escalation" + label: Allow Privilege Escalation schema: type: boolean default: false - variable: runAsNonRoot - label: "runAsNonRoot" + label: runAsNonRoot schema: type: boolean default: false # Include{securityContextAdvanced} # Include{podSecurityContextRoot} - variable: runAsUser - label: "runAsUser" - description: "The UserID of the user running the application" + label: runAsUser + description: The UserID of the user running the application schema: type: int default: 0 - variable: runAsGroup - label: "runAsGroup" - description: The groupID this App of the user running the application" + label: runAsGroup + description: The groupID this App of the user running the application schema: type: int default: 0 - variable: fsGroup - label: "fsGroup" - description: "The group that should own ALL storage." + label: fsGroup + description: The group that should own ALL storage. schema: type: int default: 568 diff --git a/charts/incubator/qbitmanage/values.yaml b/charts/incubator/qbitmanage/values.yaml index c616fe9e688..68c565d2b06 100644 --- a/charts/incubator/qbitmanage/values.yaml +++ b/charts/incubator/qbitmanage/values.yaml @@ -1,16 +1,32 @@ -env: - UMASK: "" image: - pullPolicy: IfNotPresent repository: tccr.io/truecharts/qbitmanage - tag: latest@sha256:eee5eb84edb83eb944cc7898d1bd6bc226238255ce1191be0e44720e374629f2 -persistence: - config: - enabled: true - mountPath: /config + pullPolicy: IfNotPresent + tag: v3.2.6@sha256:401b64bdd155e0be2bfd76901ffd15ddfcb8000aa216d97a5b3465516ce3b5fb + podSecurityContext: runAsGroup: 0 runAsUser: 0 + +securityContext: + readOnlyRootFilesystem: false + runAsNonRoot: false + +env: + QBT_RUN: false + QBT_SCHEDULE: 30 + QBT_CROSS_SEED: false + QBT_RECHECK: false + QBT_CAT_UPDATE: false + QBT_TAG_UPDATE: false + QBT_REM_UNREGISTERED: false + QBT_REM_ORPHANED: false + QBT_TAG_NOHARDLINKS: false + QBT_SKIP_RECYCLE: false + QBT_DRY_RUN: false + QBT_LOG_LEVEL: INFO + QBT_DIVIDER: "=" + QBT_WIDTH: 100 + probes: liveness: enabled: false @@ -18,9 +34,7 @@ probes: enabled: false startup: enabled: false -securityContext: - readOnlyRootFilesystem: false - runAsNonRoot: false + service: main: enabled: false @@ -28,5 +42,13 @@ service: main: enabled: false +persistence: + config: + enabled: true + mountPath: /config + data: + enabled: true + mountPath: /data + portal: enabled: false diff --git a/charts/incubator/whisparr/Chart.yaml b/charts/incubator/whisparr/Chart.yaml index e2d38852a9d..a137f6db07b 100644 --- a/charts/incubator/whisparr/Chart.yaml +++ b/charts/incubator/whisparr/Chart.yaml @@ -1,8 +1,3 @@ -annotations: - truecharts.org/SCALE-support: "true" - truecharts.org/catagories: | - - Downloaders - - MediaApp-Other apiVersion: v2 appVersion: "nightly" dependencies: @@ -25,7 +20,11 @@ maintainers: name: whisparr sources: - https://github.com/truecharts/charts/tree/master/charts/incubator/whisparr - - https://hotio.dev/containers/whisparr - - https://hub.docker.com/r/hotio/whisparr + - https://github.com/onedr0p/containers/tree/main/apps/whisparr type: application -version: 0.0.21 +version: 0.0.22 +annotations: + truecharts.org/SCALE-support: "true" + truecharts.org/catagories: | + - Downloaders + - MediaApp-Other diff --git a/charts/incubator/whisparr/questions.yaml b/charts/incubator/whisparr/questions.yaml index a85acb4eae6..6bd46766b97 100644 --- a/charts/incubator/whisparr/questions.yaml +++ b/charts/incubator/whisparr/questions.yaml @@ -12,46 +12,33 @@ questions: # Include{recreate} # Include{controllerExpert} # Include{controllerExpertExtraArgs} - - variable: env - group: "Container Configuration" - label: "Image Environment" - schema: - additional_attrs: true - type: dict - attrs: - - variable: UMASK - label: "UMASK" - description: "Container Variable UMASK" - schema: - type: string - default: "" # Include{containerConfig} # Include{serviceRoot} - variable: main - label: "Main Service" - description: "The Primary service on which the healthcheck runs, often the webUI" + label: Main Service + description: The Primary service on which the healthcheck runs, often the webUI schema: additional_attrs: true type: dict attrs: # Include{serviceSelector} - variable: main - label: "Main Service Port Configuration" + label: Main Service Port Configuration schema: additional_attrs: true type: dict attrs: - variable: port - label: "Port" - description: "This port exposes the container port on the service" + label: Port + description: This port exposes the container port on the service schema: type: int default: 6969 required: true -# Include{advancedPortTCP} +# Include{advancedPortHTTP} - variable: targetPort - label: "Target Port" - description: "The internal(!) port on the container the Application runs on" + label: Target Port + description: The internal(!) port on the container the Application runs on schema: type: int default: 6969 @@ -61,8 +48,8 @@ questions: # Include{serviceList} # Include{persistenceRoot} - variable: config - label: "config Storage" - description: "Container Path config" + label: App Config Storage + description: Stores the Application Configuration. schema: additional_attrs: true type: dict @@ -72,7 +59,7 @@ questions: # Include{persistenceList} # Include{ingressRoot} - variable: main - label: "Main Ingress" + label: Main Ingress schema: additional_attrs: true type: dict @@ -85,42 +72,42 @@ questions: # Include{security} # Include{securityContextAdvancedRoot} - variable: privileged - label: "Privileged mode" + label: Privileged mode schema: type: boolean default: false - variable: readOnlyRootFilesystem - label: "ReadOnly Root Filesystem" + label: ReadOnly Root Filesystem schema: type: boolean - default: false + default: true - variable: allowPrivilegeEscalation - label: "Allow Privilege Escalation" + label: Allow Privilege Escalation schema: type: boolean default: false - variable: runAsNonRoot - label: "runAsNonRoot" + label: runAsNonRoot schema: type: boolean - default: false + default: true # Include{securityContextAdvanced} # Include{podSecurityContextRoot} - variable: runAsUser - label: "runAsUser" - description: "The UserID of the user running the application" + label: runAsUser + description: The UserID of the user running the application schema: type: int - default: 0 + default: 568 - variable: runAsGroup - label: "runAsGroup" - description: The groupID this App of the user running the application" + label: runAsGroup + description: The groupID this App of the user running the application schema: type: int - default: 0 + default: 568 - variable: fsGroup - label: "fsGroup" - description: "The group that should own ALL storage." + label: fsGroup + description: The group that should own ALL storage. schema: type: int default: 568 diff --git a/charts/incubator/whisparr/values.yaml b/charts/incubator/whisparr/values.yaml index b4a87b770f4..cb140205f27 100644 --- a/charts/incubator/whisparr/values.yaml +++ b/charts/incubator/whisparr/values.yaml @@ -1,26 +1,41 @@ -env: - UMASK: "" image: - pullPolicy: IfNotPresent repository: tccr.io/truecharts/whisparr - tag: vnightly -persistence: - config: + pullPolicy: IfNotPresent + tag: v0.1.0.49@sha256:5887cb2e9e0b08732e03ee8040308134d0524138f13ef6d92023243708c01179 + +probes: + liveness: enabled: true - mountPath: /config -podSecurityContext: - runAsGroup: 0 - runAsUser: 0 -securityContext: - readOnlyRootFilesystem: false - runAsNonRoot: false + ## Set this to true if you wish to specify your own livenessProbe + custom: true + ## The spec field contains the values for the default livenessProbe. + ## If you selected custom: true, this field holds the definition of the livenessProbe. + spec: + exec: + command: + - /usr/bin/env + - bash + - -c + - curl --fail localhost:6969/api/v3/system/status?apiKey=`IFS=\> && while + read -d \< E C; do if [[ $E = "ApiKey" ]]; then echo $C; fi; done < /config/config.xml` + failureThreshold: 5 + initialDelaySeconds: 60 + periodSeconds: 10 + successThreshold: 1 + timeoutSeconds: 10 + service: main: ports: main: port: 6969 - protocol: TCP + protocol: HTTP targetPort: 6969 +persistence: + config: + enabled: true + mountPath: /config + portal: enabled: true diff --git a/cspell.config.yaml b/cspell.config.yaml index e801ab4330a..855d0aca972 100644 --- a/cspell.config.yaml +++ b/cspell.config.yaml @@ -43,6 +43,7 @@ words: - GUNICORN - healthcheck - healthchecks + - hexo - hostpath - hyperconverged - hyperthread @@ -98,6 +99,7 @@ words: - nocaptcha - nodeport - nodeports + - NOHARDLINKS - notebookbar - ornias - ovpn @@ -116,6 +118,7 @@ words: - putregexhere - pvcname - pvcpath + - qbitmanage - quotum - radarr - raknet @@ -180,5 +183,6 @@ words: - websockets - weejewel - wger + - whisparr - xsystems - zwavejs