Commit new Chart releases for TrueCharts

Signed-off-by: TrueCharts-Bot <bot@truecharts.org>
This commit is contained in:
TrueCharts-Bot 2023-01-15 14:18:11 +00:00
parent 85463e4c9b
commit 78946b80ef
18 changed files with 2449 additions and 0 deletions

View File

@ -0,0 +1,99 @@
**Important:**
*for the complete changelog, please refer to the website*
## [immich-5.0.0](https://github.com/truecharts/charts/compare/immich-4.0.29...immich-5.0.0) (2023-01-15)
### Chore
- update immich to v1.41.1_64 (minor) ([#6355](https://github.com/truecharts/charts/issues/6355))
- update container image tccr.io/truecharts/immich-proxy to v1.41.1_64
## [immich-4.0.29](https://github.com/truecharts/charts/compare/immich-4.0.28...immich-4.0.29) (2023-01-13)
### Chore
- update container image tccr.io/truecharts/immich-server to v1.41.1_64
## [immich-4.0.28](https://github.com/truecharts/charts/compare/immich-4.0.27...immich-4.0.28) (2023-01-11)
### Chore
- update container image tccr.io/truecharts/immich-web to v1.41.1_64
- update container image tccr.io/truecharts/immich-server to v1.41.0_64
## [immich-4.0.27](https://github.com/truecharts/charts/compare/immich-4.0.26...immich-4.0.27) (2023-01-10)
### Chore
- update container image tccr.io/truecharts/immich-proxy to v1.41.0_64
## [immich-4.0.26](https://github.com/truecharts/charts/compare/immich-4.0.25...immich-4.0.26) (2023-01-07)
### Chore
- update helm general non-major ([#6121](https://github.com/truecharts/charts/issues/6121))
## [immich-4.0.25](https://github.com/truecharts/charts/compare/immich-4.0.24...immich-4.0.25) (2023-01-03)
### Chore
- update container image tccr.io/truecharts/immich-web to v1.40.1_63
- update container image tccr.io/truecharts/immich-server to v1.40.1_63
### Fix
- encode all keys in secret
## [immich-4.0.24](https://github.com/truecharts/charts/compare/immich-4.0.23...immich-4.0.24) (2023-01-01)
### Chore
- update container image tccr.io/truecharts/immich-proxy to v1.40.1_63
## [immich-4.0.23](https://github.com/truecharts/charts/compare/immich-4.0.22...immich-4.0.23) (2022-12-30)
### Chore
- update container image tccr.io/truecharts/immich-ml to v1.40.1_63
## [immich-4.0.22](https://github.com/truecharts/charts/compare/immich-4.0.21...immich-4.0.22) (2022-12-27)
### Chore
- update helm general non-major ([#5856](https://github.com/truecharts/charts/issues/5856))
## [immich-4.0.21](https://github.com/truecharts/charts/compare/immich-4.0.20...immich-4.0.21) (2022-12-27)
### Chore
- update helm general non-major ([#5848](https://github.com/truecharts/charts/issues/5848))

View File

@ -0,0 +1,34 @@
apiVersion: v2
appVersion: "1.41.1_64"
dependencies:
- name: common
repository: https://library-charts.truecharts.org
version: 11.1.2
- condition: postgresql.enabled
name: postgresql
repository: https://charts.truecharts.org/
version: 11.0.18
- condition: redis.enabled
name: redis
repository: https://charts.truecharts.org
version: 5.0.24
description: High performance self-hosted photo and video backup solution.
home: https://truecharts.org/charts/stable/immich
icon: https://truecharts.org/img/hotlink-ok/chart-icons/immich.png
keywords:
- photos
kubeVersion: ">=1.16.0-0"
maintainers:
- email: info@truecharts.org
name: TrueCharts
url: https://truecharts.org
name: immich
sources:
- https://github.com/truecharts/charts/tree/master/charts/stable/immich
- https://github.com/immich-app/immich
version: 5.0.0
annotations:
truecharts.org/catagories: |
- media
truecharts.org/SCALE-support: "true"
truecharts.org/grade: U

View File

@ -0,0 +1,27 @@
# README
## General Info
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
However only installations using the TrueNAS SCALE Apps system are supported.
For more information about this App, please check the docs on the TrueCharts [website](https://truecharts.org/charts/stable/)
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
## Support
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE%20Apps/Important-MUST-READ).
- See the [Website](https://truecharts.org)
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
---
## Sponsor TrueCharts
TrueCharts can only exist due to the incredible effort of our staff.
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
*All Rights Reserved - The TrueCharts Project*

View File

@ -0,0 +1,10 @@
## [immich-5.0.0](https://github.com/truecharts/charts/compare/immich-4.0.29...immich-5.0.0) (2023-01-15)
### Chore
- update immich to v1.41.1_64 (minor) ([#6355](https://github.com/truecharts/charts/issues/6355))
- update container image tccr.io/truecharts/immich-proxy to v1.41.1_64

View File

@ -0,0 +1,8 @@
High performance self-hosted photo and video backup solution.
This App is supplied by TrueCharts, for more information visit the manual: [https://truecharts.org/charts/stable/immich](https://truecharts.org/charts/stable/immich)
---
TrueCharts can only exist due to the incredible effort of our staff.
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -0,0 +1,89 @@
image:
repository: tccr.io/truecharts/immich-server
tag: 1.41.1_64@sha256:e28a36ee635c6151f2c4de50aa7fee7d2eddd3b9d112bc6ea1551cb073bc8fbe
pullPolicy: IfNotPresent
mlImage:
repository: tccr.io/truecharts/immich-ml
tag: 1.41.1_64@sha256:5b5acd62edd988e6eeb346bb496e559544996020ed75fc04309305344edb0032
pullPolicy: IfNotPresent
webImage:
repository: tccr.io/truecharts/immich-web
tag: 1.41.1_64@sha256:6ae7c91f77702abbea207180980dba795693bc448dc093ca3ae9b5f68b06630d
pullPolicy: IfNotPresent
proxyImage:
repository: tccr.io/truecharts/immich-proxy
tag: 1.41.1_64@sha256:8f5c90ffdf09cc6952376988aee4449555a161458e3686a9b3ff1468df9dbf0f
pullPolicy: IfNotPresent
command:
- /bin/sh
- ./start-server.sh
securityContext:
readOnlyRootFilesystem: false
runAsNonRoot: false
podSecurityContext:
runAsUser: 0
runAsGroup: 0
immich:
enable_ml: true
public_login_page_message: Immich
disable_reverse_geocoding: false
reverse_geocoding_precision: 3
# simple | verbose
log_level: simple
mapbox_enable: false
mapbox_key: ""
envFrom:
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-server-config'
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-common-config'
- secretRef:
name: '{{ include "tc.common.names.fullname" . }}-immich-secret'
probes:
liveness:
path: /server-info/ping
type: HTTP
port: 3001
readiness:
path: /server-info/ping
type: HTTP
port: 3001
startup:
path: /server-info/ping
type: HTTP
port: 3001
service:
main:
ports:
main:
port: 10323
protocol: HTTP
targetPort: 8080
persistence:
uploads:
enabled: true
mountPath: /usr/src/app/upload
postgresql:
enabled: true
existingSecret: dbcreds
postgresqlUsername: immich
postgresqlDatabase: immich
redis:
enabled: true
existingSecret: rediscreds
portal:
enabled: true

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,51 @@
{{/* Define the configmap */}}
{{- define "immich.config" -}}
{{- $serverConfigName := printf "%s-server-config" (include "tc.common.names.fullname" .) -}}
{{- $commonConfigName := printf "%s-common-config" (include "tc.common.names.fullname" .) -}}
{{- $proxyConfigName := printf "%s-proxy-config" (include "tc.common.names.fullname" .) }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $serverConfigName }}
labels:
{{- include "tc.common.labels" . | nindent 4 }}
data:
DB_HOSTNAME: {{ printf "%v-%v" .Release.Name "postgresql" }}
DB_USERNAME: {{ .Values.postgresql.postgresqlUsername }}
DB_DATABASE_NAME: {{ .Values.postgresql.postgresqlDatabase }}
DB_PORT: "5432"
REDIS_HOSTNAME: {{ printf "%v-%v" .Release.Name "redis" }}
REDIS_PORT: "6379"
REDIS_DBINDEX: "0"
{{/* User Defined */}}
DISABLE_REVERSE_GEOCODING: {{ .Values.immich.disable_reverse_geocoding | quote }}
REVERSE_GEOCODING_PRECISION: {{ .Values.immich.reverse_geocoding_precision | quote }}
ENABLE_MAPBOX: {{ .Values.immich.mapbox_enable | quote }}
---
apiVersion: v1
kind: ConfigMap
metadata:
name: {{ $commonConfigName }}
labels:
{{- include "tc.common.labels" . | nindent 4 }}
data:
IMMICH_WEB_URL: http://localhost:3000
IMMICH_SERVER_URL: http://localhost:3001
IMMICH_MACHINE_LEARNING_URL: http://localhost:3003
{{/*
It's unclear where this URL is being used, but poking in their code, seems to be used internally?
It's set to the value of IMMICH_SERVER_URL on their compose. If something doesn't work remotely,
This is the place to start looking
https://github.com/immich-app/immich/blob/b5d75e20167b92de12cc50a816da214779cb0807/web/src/api/api.ts#L55
*/}}
PUBLIC_IMMICH_SERVER_URL: http://localhost:3001
NODE_ENV: production
{{/* User Defined */}}
{{- with .Values.immich.public_login_page_message }}
PUBLIC_LOGIN_PAGE_MESSAGE: {{ . }}
{{- end }}
LOG_LEVEL: {{ .Values.immich.log_level }}
{{- end -}}

View File

@ -0,0 +1,56 @@
{{/* Define the ml container */}}
{{- define "immich.microservices" -}}
image: {{ .Values.image.repository }}:{{ .Values.image.tag }}
imagePullPolicy: {{ .Values.image.pullPolicy }}
securityContext:
runAsUser: {{ .Values.podSecurityContext.runAsUser }}
runAsGroup: {{ .Values.podSecurityContext.runAsGroup }}
readOnlyRootFilesystem: {{ .Values.securityContext.readOnlyRootFilesystem }}
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
command:
- /bin/sh
- ./start-microservices.sh
volumeMounts:
- name: uploads
mountPath: {{ .Values.persistence.uploads.mountPath }}
envFrom:
- secretRef:
name: '{{ include "tc.common.names.fullname" . }}-immich-secret'
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-common-config'
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-server-config'
readinessProbe:
exec:
command:
- /bin/sh
- -c
- |
ps -a | grep -v grep | grep -q microservices || exit 1
initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
livenessProbe:
exec:
command:
- /bin/sh
- -c
- |
ps -a | grep -v grep | grep -q microservices || exit 1
initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
startupProbe:
exec:
command:
- /bin/sh
- -c
- |
ps -a | grep -v grep | grep -q microservices || exit 1
initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
{{- end -}}

View File

@ -0,0 +1,60 @@
{{/* Define the ml container */}}
{{- define "immich.ml" -}}
{{- if hasKey .Values "imageML" -}} {{/* For smooth upgrade, Remove later*/}}
{{- $img := .Values.imageML -}}
{{- $_ := set .Values "mlImage" (dict "repository" $img.repository "tag" $img.tag "pullPolicy" $img.pullPolicy) -}}
{{- end }}
image: {{ .Values.mlImage.repository }}:{{ .Values.mlImage.tag }}
imagePullPolicy: {{ .Values.mlImage.pullPolicy }}
securityContext:
runAsUser: {{ .Values.podSecurityContext.runAsUser }}
runAsGroup: {{ .Values.podSecurityContext.runAsGroup }}
readOnlyRootFilesystem: {{ .Values.securityContext.readOnlyRootFilesystem }}
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
command:
- /bin/sh
- ./entrypoint.sh
volumeMounts:
- name: uploads
mountPath: {{ .Values.persistence.uploads.mountPath }}
envFrom:
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-common-config'
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-server-config'
- secretRef:
name: '{{ include "tc.common.names.fullname" . }}-immich-secret'
readinessProbe:
exec:
command:
- /bin/sh
- -c
- |
grep -q main.js /proc/1/cmdline || exit 1
initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
livenessProbe:
exec:
command:
- /bin/sh
- -c
- |
grep -q main.js /proc/1/cmdline || exit 1
initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
startupProbe:
exec:
command:
- /bin/sh
- -c
- |
grep -q main.js /proc/1/cmdline || exit 1
initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
{{- end -}}

View File

@ -0,0 +1,47 @@
{{/* Define the proxy container */}}
{{- define "immich.proxy" -}}
{{- if hasKey .Values "imageProxy" -}} {{/* For smooth upgrade, Remove later */}}
{{- $img := .Values.imageProxy -}}
{{- $_ := set .Values "proxyImage" (dict "repository" $img.repository "tag" $img.tag "pullPolicy" $img.pullPolicy) -}}
{{- end -}}
{{- if not .Values.service.main.ports.main.targetPort -}} {{/* For smooth upgrade, Remove later */}}
{{- $_ := set .Values.service.main.ports.main "targetPort" 8080 -}}
{{- end }}
image: {{ .Values.proxyImage.repository }}:{{ .Values.proxyImage.tag }}
imagePullPolicy: {{ .Values.proxyImage.pullPolicy }}
securityContext:
runAsUser: {{ .Values.podSecurityContext.runAsUser }}
runAsGroup: {{ .Values.podSecurityContext.runAsGroup }}
readOnlyRootFilesystem: {{ .Values.securityContext.readOnlyRootFilesystem }}
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
envFrom:
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-common-config'
ports:
- containerPort: {{ .Values.service.main.ports.main.targetPort }}
name: main
readinessProbe:
httpGet:
path: /api/server-info/ping
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
livenessProbe:
httpGet:
path: /api/server-info/ping
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
startupProbe:
httpGet:
path: /api/server-info/ping
port: {{ .Values.service.main.ports.main.targetPort }}
initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
{{- end -}}

View File

@ -0,0 +1,25 @@
{{/* Define the secret */}}
{{- define "immich.secret" -}}
{{- $secretName := printf "%s-immich-secret" (include "tc.common.names.fullname" .) }}
---
apiVersion: v1
kind: Secret
type: Opaque
metadata:
name: {{ $secretName }}
labels:
{{- include "tc.common.labels" . | nindent 4 }}
data:
{{/* Secret Key */}}
{{- with (lookup "v1" "Secret" .Release.Namespace $secretName) }}
JWT_SECRET: {{ index .data "JWT_SECRET" }}
{{- else }}
JWT_SECRET: {{ randAlphaNum 32 | b64enc }}
{{- end }}
DB_PASSWORD: {{ .Values.postgresql.postgresqlPassword | trimAll "\"" | b64enc }}
REDIS_PASSWORD: {{ .Values.redis.redisPassword | trimAll "\"" | b64enc }}
{{- with .Values.immich.mapbox_key }}
MAPBOX_KEY: {{ . | b64enc}}
{{- end }}
{{- end }}

View File

@ -0,0 +1,44 @@
{{/* Define the web container */}}
{{- define "immich.web" -}}
{{- if hasKey .Values "imageWeb" -}} {{/* For smooth upgrade, Remove later */}}
{{- $img := .Values.imageWeb -}}
{{- $_ := set .Values "webImage" (dict "repository" $img.repository "tag" $img.tag "pullPolicy" $img.pullPolicy) -}}
{{- end }}
image: {{ .Values.webImage.repository }}:{{ .Values.webImage.tag }}
imagePullPolicy: {{ .Values.webImage.pullPolicy }}
securityContext:
runAsUser: {{ .Values.podSecurityContext.runAsUser }}
runAsGroup: {{ .Values.podSecurityContext.runAsGroup }}
readOnlyRootFilesystem: {{ .Values.securityContext.readOnlyRootFilesystem }}
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
command:
- /bin/sh
- ./entrypoint.sh
envFrom:
- configMapRef:
name: '{{ include "tc.common.names.fullname" . }}-common-config'
readinessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: {{ .Values.probes.readiness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.readiness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.readiness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.readiness.spec.failureThreshold }}
livenessProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: {{ .Values.probes.liveness.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.liveness.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.liveness.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.liveness.spec.failureThreshold }}
startupProbe:
httpGet:
path: /
port: 3000
initialDelaySeconds: {{ .Values.probes.startup.spec.initialDelaySeconds }}
timeoutSeconds: {{ .Values.probes.startup.spec.timeoutSeconds }}
periodSeconds: {{ .Values.probes.startup.spec.periodSeconds }}
failureThreshold: {{ .Values.probes.startup.spec.failureThreshold }}
{{- end -}}

View File

@ -0,0 +1,18 @@
{{/* Make sure all variables are set properly */}}
{{- include "tc.common.loader.init" . }}
{{/* Render secret */}}
{{- include "immich.secret" . }}
{{/* Render config */}}
{{- include "immich.config" . }}
{{- $_ := set .Values.additionalContainers "proxy" (include "immich.proxy" . | fromYaml) -}}
{{- $_ := set .Values.additionalContainers "web" (include "immich.web" . | fromYaml) -}}
{{- if .Values.immich.enable_ml -}}
{{- $_ := set .Values.additionalContainers "ml" (include "immich.ml" . | fromYaml) -}}
{{- end -}}
{{- $_ := set .Values.additionalContainers "microservices" (include "immich.microservices" . | fromYaml) -}}
{{/* Render the templates */}}
{{ include "tc.common.loader.apply" . }}

View File