diff --git a/catalog.json b/catalog.json index d492547b4f..e75eb36ce7 100644 --- a/catalog.json +++ b/catalog.json @@ -30,7 +30,7 @@ "latest_version": "1.0.79", "latest_app_version": "2023.4.5", "latest_human_version": "2023.4.5_1.0.79", - "last_update": "2023-04-15 08:38:05", + "last_update": "2023-04-19 12:32:55", "name": "home-assistant", "recommended": false, "title": "Home Assistant", @@ -200,7 +200,7 @@ "latest_version": "1.7.38", "latest_app_version": "1.32.0.6950", "latest_human_version": "1.32.0.6950_1.7.38", - "last_update": "2023-04-13 12:39:59", + "last_update": "2023-04-19 12:32:55", "name": "plex", "recommended": false, "title": "Plex", @@ -460,6 +460,25 @@ "icon": "https://raw.githubusercontent.com/dani-garcia/vaultwarden/main/src/static/images/vaultwarden-icon.png", "icon_url": null }, + "nginx-proxy-manager": { + "app_readme": "

Nginx Proxy Manager

\n

Nginx Proxy Manager Expose your services easily and securely

\n
\n

Application requires to run as root. This is a limitation of the application.

\n
", + "categories": [ + "media", + "series" + ], + "description": "Expose your services easily and securely", + "healthy": true, + "healthy_error": null, + "location": "/__w/charts/charts/community/nginx-proxy-manager", + "latest_version": "1.0.0", + "latest_app_version": "2.10.2", + "latest_human_version": "2.10.2_1.0.0", + "last_update": null, + "name": "nginx-proxy-manager", + "recommended": false, + "title": "Nginx Proxy Manager", + "icon_url": "https://nginxproxymanager.com/logo.png" + }, "gitea": { "app_readme": "

Gitea

\n

Gitea - Git with a cup of tea

\n
\n

When application is installed, a container will be launched with root privileges.\nThis is required in order to apply the correct permissions to the gitea directories.\nAfterward, the gitea container will run as a non-root user (Default: 568).\nSame applies to the postgres container. This will run afterwards as a non-root user (999).\nOn each upgrade, a container will be launched with root privileges in order to apply the correct\npermissions to the postgres backups directory. Container that performs the backup will run as a non-root user (999) afterwards.\nKeep in mind the permissions on the backup directory will be changed to 999:999 on every update.\nBut will only be changed once for the gitea and postgres data directories.

\n
\n

On initial startup a setup wizard will be launched with settings for database, ports, path, and domain prefilled.\nKeep them as they are, fill anything you want in the optional settings section and click on Install Gitea.

", "categories": [ diff --git a/community/nginx-proxy-manager/1.0.0/Chart.lock b/community/nginx-proxy-manager/1.0.0/Chart.lock new file mode 100644 index 0000000000..c45b5f9c51 --- /dev/null +++ b/community/nginx-proxy-manager/1.0.0/Chart.lock @@ -0,0 +1,6 @@ +dependencies: +- name: common + repository: file://../../../common + version: 1.0.5 +digest: sha256:cf1db8c2ae650987a3e3d8d98767caab62c341bd0fb15309213b00dce87111cc +generated: "2023-04-12T17:17:40.41107506+03:00" diff --git a/community/nginx-proxy-manager/1.0.0/Chart.yaml b/community/nginx-proxy-manager/1.0.0/Chart.yaml new file mode 100644 index 0000000000..fa74f840c2 --- /dev/null +++ b/community/nginx-proxy-manager/1.0.0/Chart.yaml @@ -0,0 +1,25 @@ +name: nginx-proxy-manager +description: Expose your services easily and securely +annotations: + title: Nginx Proxy Manager +type: application +version: 1.0.0 +apiVersion: v2 +appVersion: '2.10.2' +kubeVersion: '>=1.16.0-0' +maintainers: + - name: truenas + url: https://www.truenas.com/ +dependencies: + - name: common + repository: file://../../../common + version: 1.0.5 +home: https://nginxproxymanager.com/ +icon: https://nginxproxymanager.com/logo.png +sources: + - https://nginxproxymanager.com/ + - https://github.com/truenas/charts/tree/master/community/nginx-proxy-manager + - https://hub.docker.com/r/jc21/nginx-proxy-manager +keywords: + - nginx + - proxy diff --git a/community/nginx-proxy-manager/1.0.0/README.md b/community/nginx-proxy-manager/1.0.0/README.md new file mode 100644 index 0000000000..9ab47b8479 --- /dev/null +++ b/community/nginx-proxy-manager/1.0.0/README.md @@ -0,0 +1,5 @@ +# Nginx Proxy Manager + +[Nginx Proxy Manager](https://nginxproxymanager.com) Expose your services easily and securely + +> Application requires to run as root. This is a limitation of the application. diff --git a/community/nginx-proxy-manager/1.0.0/app-readme.md b/community/nginx-proxy-manager/1.0.0/app-readme.md new file mode 100644 index 0000000000..9ab47b8479 --- /dev/null +++ b/community/nginx-proxy-manager/1.0.0/app-readme.md @@ -0,0 +1,5 @@ +# Nginx Proxy Manager + +[Nginx Proxy Manager](https://nginxproxymanager.com) Expose your services easily and securely + +> Application requires to run as root. This is a limitation of the application. diff --git a/community/nginx-proxy-manager/1.0.0/charts/common-1.0.5.tgz b/community/nginx-proxy-manager/1.0.0/charts/common-1.0.5.tgz new file mode 100644 index 0000000000..f817b7c941 Binary files /dev/null and b/community/nginx-proxy-manager/1.0.0/charts/common-1.0.5.tgz differ diff --git a/community/nginx-proxy-manager/1.0.0/ci/basic-values.yaml b/community/nginx-proxy-manager/1.0.0/ci/basic-values.yaml new file mode 100644 index 0000000000..1eb88502e2 --- /dev/null +++ b/community/nginx-proxy-manager/1.0.0/ci/basic-values.yaml @@ -0,0 +1,12 @@ +npmNetwork: + webPort: 31000 + httpPort: 31001 + httpsPort: 31002 + +npmStorage: + data: + type: hostPath + hostPath: /mnt/{{ .Release.Name }}/data + certs: + type: hostPath + hostPath: /mnt/{{ .Release.Name }}/certs diff --git a/community/nginx-proxy-manager/1.0.0/ix_values.yaml b/community/nginx-proxy-manager/1.0.0/ix_values.yaml new file mode 100644 index 0000000000..8f3cf5b41e --- /dev/null +++ b/community/nginx-proxy-manager/1.0.0/ix_values.yaml @@ -0,0 +1,28 @@ +image: + repository: jc21/nginx-proxy-manager + pullPolicy: IfNotPresent + tag: '2.10.2' +resources: + limits: + cpu: 4000m + memory: 8Gi +npmConfig: + additionalEnvs: [] +npmNetwork: + webPort: 30000 + httpPort: 30001 + httpsPort: 30002 +npmStorage: + data: + type: ixVolume + hostPath: '' + datasetName: data + certs: + type: ixVolume + hostPath: '' + datasetName: certs +notes: + custom: | + Default credentials: + - username: admin@example.com + - password: changeme diff --git a/community/nginx-proxy-manager/1.0.0/questions.yaml b/community/nginx-proxy-manager/1.0.0/questions.yaml new file mode 100644 index 0000000000..a32a6b7528 --- /dev/null +++ b/community/nginx-proxy-manager/1.0.0/questions.yaml @@ -0,0 +1,204 @@ +groups: + - name: Nginx Proxy Manager Configuration + description: Configure Nginx Proxy Manager + - name: User and Group Configuration + description: Configure User and Group for Nginx Proxy Manager + - name: Network Configuration + description: Configure Network for Nginx Proxy Manager + - name: Storage Configuration + description: Configure Storage for Nginx Proxy Manager + - name: Resources Configuration + description: Configure Resources for Nginx Proxy Manager + +portals: + web_portal: + protocols: + - "$kubernetes-resource_configmap_portal_protocol" + host: + - "$kubernetes-resource_configmap_portal_host" + ports: + - "$kubernetes-resource_configmap_portal_port" + path: "$kubernetes-resource_configmap_portal_path" + +questions: + - variable: TZ + group: Nginx Proxy Manager Configuration + label: Timezone + schema: + type: string + default: Etc/UTC + required: true + $ref: + - definitions/timezone + + - variable: npmConfig + label: "" + group: Nginx Proxy Manager Configuration + schema: + type: dict + attrs: + - variable: additionalEnvs + label: Additional Environment Variables + description: Configure additional environment variables for Nginx Proxy Manager. + 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: npmNetwork + label: "" + group: Network Configuration + schema: + type: dict + attrs: + - variable: webPort + label: Web Port + description: The port for the Nginx Proxy Manager Web UI. + schema: + type: int + default: 30000 + min: 9000 + max: 65535 + required: true + - variable: httpPort + label: HTTP Port + description: The HTTP port for the Nginx Proxy Manager. + schema: + type: int + default: 30001 + min: 9000 + max: 65535 + required: true + - variable: httpsPort + label: HTTPS Port + description: The HTTP port for the Nginx Proxy Manager. + schema: + type: int + default: 30002 + min: 9000 + max: 65535 + required: true + + - variable: npmStorage + label: "" + group: Storage Configuration + schema: + type: dict + attrs: + - variable: data + label: Nginx Proxy Manager Data Storage + description: The path to store Nginx Proxy Manager Data. + schema: + type: dict + attrs: + - variable: type + label: Type + description: | + ixVolume: Is dataset created automatically by the system.
+ Host Path: Is a path that already exists on the system. + schema: + type: string + required: true + default: "ixVolume" + enum: + - value: "hostPath" + description: Host Path (Path that already exists on the system) + - value: "ixVolume" + description: ixVolume (Dataset created automatically by the system) + - variable: datasetName + label: Dataset Name + schema: + type: string + show_if: [["type", "=", "ixVolume"]] + required: true + hidden: true + immutable: true + default: "data" + $ref: + - "normalize/ixVolume" + - variable: hostPath + label: Host Path + schema: + type: hostpath + show_if: [["type", "=", "hostPath"]] + immutable: true + required: true + - variable: certs + label: Nginx Proxy Manager Certificate Storage + description: The path to store Nginx Proxy Manager Certificate. + schema: + type: dict + attrs: + - variable: type + label: Type + description: | + ixVolume: Is dataset created automatically by the system.
+ Host Path: Is a path that already exists on the system. + schema: + type: string + required: true + default: "ixVolume" + enum: + - value: "hostPath" + description: Host Path (Path that already exists on the system) + - value: "ixVolume" + description: ixVolume (Dataset created automatically by the system) + - variable: datasetName + label: Dataset Name + schema: + type: string + show_if: [["type", "=", "ixVolume"]] + required: true + hidden: true + immutable: true + default: "certs" + $ref: + - "normalize/ixVolume" + - variable: hostPath + label: Host Path + schema: + type: hostpath + show_if: [["type", "=", "hostPath"]] + immutable: true + required: true + + - variable: resources + group: Resources Configuration + label: "" + schema: + type: dict + attrs: + - variable: limits + label: Limits + schema: + type: dict + attrs: + - variable: cpu + label: CPU + description: CPU limit for Nginx Proxy Manager. + schema: + type: string + default: "4000m" + required: true + - variable: memory + label: Memory + description: Memory limit for Nginx Proxy Manager. + schema: + type: string + default: "8Gi" + required: true diff --git a/community/nginx-proxy-manager/1.0.0/templates/NOTES.txt b/community/nginx-proxy-manager/1.0.0/templates/NOTES.txt new file mode 100644 index 0000000000..ba4e01146c --- /dev/null +++ b/community/nginx-proxy-manager/1.0.0/templates/NOTES.txt @@ -0,0 +1 @@ +{{ include "ix.v1.common.lib.chart.notes" $ }} diff --git a/community/nginx-proxy-manager/1.0.0/templates/_npm.tpl b/community/nginx-proxy-manager/1.0.0/templates/_npm.tpl new file mode 100644 index 0000000000..e9eb76886f --- /dev/null +++ b/community/nginx-proxy-manager/1.0.0/templates/_npm.tpl @@ -0,0 +1,105 @@ +{{- define "npm.workload" -}} +workload: + npm: + enabled: true + primary: true + type: Deployment + podSpec: + hostNetwork: false + securityContext: + fsGroup: 1000 + containers: + npm: + enabled: true + primary: true + imageSelector: image + securityContext: + runAsUser: 0 + runAsGroup: 0 + readOnlyRootFilesystem: false + runAsNonRoot: false + capabilities: + add: + # Needed for: s6-applyuidgid: fatal: unable to setuid: Operation not permitted + - SETUID + # Needed for: s6-applyuidgid: fatal: unable to set supplementary group list: Operation not permitted + - SETGID + # Needed for: Used in some s6-overlay startup scripts + - CHOWN + - DAC_OVERRIDE + # Needed for: Nginx Service + - FOWNER + fixedEnv: + # FIXME: Revisit once upstream irons out some issues in regarids with PUID. + # Make sure 568 PUID works before exposing + PUID: 1000 + env: + DISABLE_IPV6: true + DB_SQLITE_FILE: /data/database.sqlite + {{ with .Values.npmConfig.additionalEnvs }} + {{ range $env := . }} + {{ $env.name }}: {{ $env.value }} + {{ end }} + {{ end }} + probes: + liveness: + enabled: true + type: exec + command: /bin/check-health + readiness: + enabled: true + type: exec + command: /bin/check-health + startup: + enabled: true + type: exec + command: /bin/check-health +{{/* Service */}} +service: + npm: + enabled: true + primary: true + type: NodePort + targetSelector: npm + ports: + webui: + enabled: true + primary: true + port: {{ .Values.npmNetwork.webPort }} + nodePort: {{ .Values.npmNetwork.webPort }} + targetPort: 81 + targetSelector: npm + http: + enabled: true + port: {{ .Values.npmNetwork.httpPort }} + nodePort: {{ .Values.npmNetwork.httpPort }} + targetPort: 80 + targetSelector: npm + https: + enabled: true + port: {{ .Values.npmNetwork.httpsPort }} + nodePort: {{ .Values.npmNetwork.httpsPort }} + targetPort: 443 + targetSelector: npm + +{{/* Persistence */}} +persistence: + data: + enabled: true + type: {{ .Values.npmStorage.data.type }} + datasetName: {{ .Values.npmStorage.data.datasetName | default "" }} + hostPath: {{ .Values.npmStorage.data.hostPath | default "" }} + targetSelector: + npm: + npm: + mountPath: /data + certs: + enabled: true + type: {{ .Values.npmStorage.certs.type }} + datasetName: {{ .Values.npmStorage.certs.datasetName | default "" }} + hostPath: {{ .Values.npmStorage.certs.hostPath | default "" }} + targetSelector: + npm: + npm: + mountPath: /etc/letsencrypt +{{- end -}} diff --git a/community/nginx-proxy-manager/1.0.0/templates/_portal.tpl b/community/nginx-proxy-manager/1.0.0/templates/_portal.tpl new file mode 100644 index 0000000000..4d2ca959b3 --- /dev/null +++ b/community/nginx-proxy-manager/1.0.0/templates/_portal.tpl @@ -0,0 +1,12 @@ +{{- define "npm.portal" -}} +--- +apiVersion: v1 +kind: ConfigMap +metadata: + name: portal +data: + path: "/" + port: {{ .Values.npmNetwork.webPort | quote }} + protocol: http + host: $node_ip +{{- end -}} diff --git a/community/nginx-proxy-manager/1.0.0/templates/common.yaml b/community/nginx-proxy-manager/1.0.0/templates/common.yaml new file mode 100644 index 0000000000..185c880134 --- /dev/null +++ b/community/nginx-proxy-manager/1.0.0/templates/common.yaml @@ -0,0 +1,9 @@ +{{- include "ix.v1.common.loader.init" . -}} + +{{/* Merge the templates with Values */}} +{{- $_ := mustMergeOverwrite .Values (include "npm.workload" $ | fromYaml) -}} + +{{/* Create the configmap for portal manually*/}} +{{- include "npm.portal" $ -}} + +{{- include "ix.v1.common.loader.apply" . -}} diff --git a/community/nginx-proxy-manager/item.yaml b/community/nginx-proxy-manager/item.yaml new file mode 100644 index 0000000000..e2a8eaa90c --- /dev/null +++ b/community/nginx-proxy-manager/item.yaml @@ -0,0 +1,4 @@ +icon_url: https://nginxproxymanager.com/logo.png +categories: + - media + - series