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
\nNginx Proxy Manager Expose your services easily and securely
\n\nApplication 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
\nGitea - Git with a cup of tea
\n\nWhen 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
\nOn 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