Commit new Chart releases for TrueCharts
Signed-off-by: TrueCharts-Bot <bot@truecharts.org>
This commit is contained in:
parent
ea67fe0e6d
commit
a41ac3b91d
|
@ -0,0 +1,11 @@
|
|||
# Changelog
|
||||
|
||||
|
||||
|
||||
## [immich-0.0.1]immich-0.0.1 (2022-09-28)
|
||||
|
||||
### Feat
|
||||
|
||||
- add immich ([#3942](https://github.com/truecharts/charts/issues/3942))
|
||||
|
||||
|
|
@ -0,0 +1,12 @@
|
|||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 10.6.4
|
||||
- name: postgresql
|
||||
repository: https://charts.truecharts.org/
|
||||
version: 8.0.88
|
||||
- name: redis
|
||||
repository: https://charts.truecharts.org
|
||||
version: 3.0.85
|
||||
digest: sha256:30efd46858717b8c1689ca9990a510b87c2e9eb223e6297bcd93fdafbf86ec1e
|
||||
generated: "2022-09-28T22:11:10.605387717Z"
|
|
@ -0,0 +1,34 @@
|
|||
apiVersion: v2
|
||||
appVersion: "1.29.5_44"
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: https://library-charts.truecharts.org
|
||||
version: 10.6.4
|
||||
- condition: postgresql.enabled
|
||||
name: postgresql
|
||||
repository: https://charts.truecharts.org/
|
||||
version: 8.0.88
|
||||
- condition: redis.enabled
|
||||
name: redis
|
||||
repository: https://charts.truecharts.org
|
||||
version: 3.0.85
|
||||
description: High performance self-hosted photo and video backup solution.
|
||||
home: https://truecharts.org/docs/charts/incubator/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/incubator/immich
|
||||
- https://github.com/immich-app/immich
|
||||
version: 0.0.1
|
||||
annotations:
|
||||
truecharts.org/catagories: |
|
||||
- media
|
||||
truecharts.org/SCALE-support: "true"
|
||||
truecharts.org/grade: U
|
|
@ -0,0 +1,108 @@
|
|||
# immich
|
||||
|
||||
High performance self-hosted photo and video backup solution.
|
||||
|
||||
TrueCharts can be installed as both *normal* Helm Charts or as Apps on TrueNAS SCALE.
|
||||
|
||||
This readme is just an automatically generated general guide on installing our Helm Charts and Apps.
|
||||
For more information, please click here: [immich](https://truecharts.org/docs/charts/incubator/immich)
|
||||
|
||||
**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)**
|
||||
|
||||
## Source Code
|
||||
|
||||
* <https://github.com/truecharts/charts/tree/master/charts/incubator/immich>
|
||||
* <https://github.com/immich-app/immich>
|
||||
|
||||
## Requirements
|
||||
|
||||
Kubernetes: `>=1.16.0-0`
|
||||
|
||||
## Dependencies
|
||||
|
||||
| Repository | Name | Version |
|
||||
|------------|------|---------|
|
||||
| https://charts.truecharts.org/ | postgresql | 8.0.88 |
|
||||
| https://charts.truecharts.org | redis | 3.0.85 |
|
||||
| https://library-charts.truecharts.org | common | 10.6.4 |
|
||||
|
||||
## Installing the Chart
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
To install this Chart on TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Installing-an-App).
|
||||
|
||||
### Helm
|
||||
|
||||
To install the chart with the release name `immich`
|
||||
|
||||
```console
|
||||
helm repo add TrueCharts https://charts.truecharts.org
|
||||
helm repo update
|
||||
helm install immich TrueCharts/immich
|
||||
```
|
||||
|
||||
## Uninstall
|
||||
|
||||
### TrueNAS SCALE
|
||||
|
||||
**Upgrading, Rolling Back and Uninstalling the Chart**
|
||||
|
||||
To upgrade, rollback or delete this Chart from TrueNAS SCALE check our [Quick-Start Guide](https://truecharts.org/docs/manual/SCALE%20Apps/Upgrade-rollback-delete-an-App).
|
||||
|
||||
### Helm
|
||||
|
||||
To uninstall the `immich` deployment
|
||||
|
||||
```console
|
||||
helm uninstall immich
|
||||
```
|
||||
|
||||
## Configuration
|
||||
|
||||
### Helm
|
||||
|
||||
#### Available Settings
|
||||
|
||||
Read through the values.yaml file. It has several commented out suggested values.
|
||||
Other values may be used from the [values.yaml](https://github.com/truecharts/library-charts/tree/main/charts/stable/common/values.yaml) from the [common library](https://github.com/k8s-at-home/library-charts/tree/main/charts/stable/common).
|
||||
|
||||
#### Configure using the command line
|
||||
|
||||
Specify each parameter using the `--set key=value[,key=value]` argument to `helm install`.
|
||||
|
||||
```console
|
||||
helm install immich \
|
||||
--set env.TZ="America/New York" \
|
||||
TrueCharts/immich
|
||||
```
|
||||
|
||||
#### Configure using a yaml file
|
||||
|
||||
Alternatively, a YAML file that specifies the values for the above parameters can be provided while installing the chart.
|
||||
|
||||
```console
|
||||
helm install immich TrueCharts/immich -f values.yaml
|
||||
```
|
||||
|
||||
#### Connecting to other charts
|
||||
|
||||
If you need to connect this Chart to other Charts on TrueNAS SCALE, please refer to our [Linking Charts Internally](https://truecharts.org/docs/manual/SCALE%20Apps/linking-apps) quick-start guide.
|
||||
|
||||
## Support
|
||||
|
||||
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/docs/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/apps/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
|
|
@ -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/docs/charts/incubator/immich](https://truecharts.org/docs/charts/incubator/immich)
|
||||
|
||||
---
|
||||
|
||||
TrueCharts can only exist due to the incredible effort of our staff.
|
||||
Please consider making a [donation](https://truecharts.org/docs/about/sponsor) or contributing back to the project any way you can!
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -0,0 +1,99 @@
|
|||
image:
|
||||
repository: tccr.io/truecharts/immich-server
|
||||
tag: 1.29.5_44@sha256:8245bc309da22c436eb29a838d2292f504d77e24f4d098d6c0e65df877180ff3
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
imageML:
|
||||
repository: tccr.io/truecharts/immich-ml
|
||||
tag: 1.29.5_44@sha256:2df7b6368beb52ff1ffd946aaacc4df21f278b97ee3c592e2021118b3dcb5fec
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
imageWeb:
|
||||
repository: tccr.io/truecharts/immich-web
|
||||
tag: 1.29.5_44@sha256:c17ec4c2a174bac8fc2c58ebaedc7db70600fa2480695cf0920d54127c8bb32e
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
imageProxy:
|
||||
repository: tccr.io/truecharts/immich-proxy
|
||||
tag: 1.29.5_44@sha256:a4c24a70cc1e1bbbdecc3df371af08528430846709ef22ca16e2a923aa8da509
|
||||
pullPolicy: IfNotPresent
|
||||
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- chmod +x ./start-server.sh && ./start-server.sh
|
||||
|
||||
securityContext:
|
||||
readOnlyRootFilesystem: false
|
||||
runAsNonRoot: false
|
||||
|
||||
podSecurityContext:
|
||||
runAsUser: 0
|
||||
runAsGroup: 0
|
||||
|
||||
immich:
|
||||
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
|
||||
readines:
|
||||
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
|
||||
|
||||
persistence:
|
||||
uploads:
|
||||
enabled: true
|
||||
mountPath: /usr/src/app/upload
|
||||
proxy-conf:
|
||||
enabled: true
|
||||
noMount: true
|
||||
type: custom
|
||||
mountPath: /etc/nginx/
|
||||
volumeSpec:
|
||||
configMap:
|
||||
name: '{{ include "tc.common.names.fullname" . }}-proxy-config'
|
||||
items:
|
||||
- key: nginx.conf
|
||||
path: nginx.conf
|
||||
|
||||
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
|
@ -0,0 +1,142 @@
|
|||
{{/* 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:
|
||||
NODE_ENV: production
|
||||
{{/* User Defined */}}
|
||||
PUBLIC_LOGIN_PAGE_MESSAGE: {{ .Values.immich.public_login_page_message }}
|
||||
LOG_LEVEL: {{ .Values.immich.log_level }}
|
||||
---
|
||||
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: {{ $proxyConfigName }}
|
||||
labels:
|
||||
{{- include "tc.common.labels" . | nindent 4 }}
|
||||
data:
|
||||
nginx.conf: |
|
||||
worker_processes auto;
|
||||
error_log /var/log/nginx/error.log;
|
||||
pid /tmp/nginx.pid;
|
||||
|
||||
# Load dynamic modules. See /usr/share/doc/nginx/README.dynamic.
|
||||
include /usr/share/nginx/modules/*.conf;
|
||||
|
||||
events {
|
||||
worker_connections 1024;
|
||||
}
|
||||
|
||||
http {
|
||||
map $http_upgrade $connection_upgrade {
|
||||
default upgrade;
|
||||
'' close;
|
||||
}
|
||||
|
||||
client_body_temp_path /tmp/client_temp;
|
||||
proxy_temp_path /tmp/proxy_temp_path;
|
||||
fastcgi_temp_path /tmp/fastcgi_temp;
|
||||
uwsgi_temp_path /tmp/uwsgi_temp;
|
||||
scgi_temp_path /tmp/scgi_temp;
|
||||
|
||||
# events {
|
||||
# worker_connections 1000;
|
||||
# }
|
||||
|
||||
server {
|
||||
gzip on;
|
||||
gzip_min_length 1000;
|
||||
gunzip on;
|
||||
|
||||
client_max_body_size 50000M;
|
||||
|
||||
listen {{ .Values.service.main.ports.main.port }};
|
||||
access_log off;
|
||||
|
||||
location /api {
|
||||
# Compression
|
||||
gzip_static on;
|
||||
gzip_min_length 1000;
|
||||
gzip_comp_level 2;
|
||||
|
||||
proxy_buffering off;
|
||||
proxy_buffer_size 16k;
|
||||
proxy_busy_buffers_size 24k;
|
||||
proxy_buffers 64 4k;
|
||||
proxy_force_ranges on;
|
||||
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
|
||||
rewrite /api/(.*) /$1 break;
|
||||
|
||||
# Server Container
|
||||
proxy_pass http://localhost:3001;
|
||||
}
|
||||
|
||||
location / {
|
||||
# Compression
|
||||
gzip_static on;
|
||||
gzip_min_length 1000;
|
||||
gzip_comp_level 2;
|
||||
|
||||
proxy_buffering off;
|
||||
proxy_buffer_size 16k;
|
||||
proxy_busy_buffers_size 24k;
|
||||
proxy_buffers 64 4k;
|
||||
proxy_force_ranges on;
|
||||
|
||||
proxy_http_version 1.1;
|
||||
proxy_set_header Host $host;
|
||||
proxy_set_header X-Real-IP $remote_addr;
|
||||
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
|
||||
proxy_set_header X-Forwarded-Proto $scheme;
|
||||
proxy_set_header Upgrade $http_upgrade;
|
||||
proxy_set_header Connection "upgrade";
|
||||
proxy_set_header Host $host;
|
||||
|
||||
# Web Container
|
||||
proxy_pass http://localhost:3000;
|
||||
}
|
||||
}
|
||||
}
|
||||
{{- end -}}
|
|
@ -0,0 +1,49 @@
|
|||
{{/* 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
|
||||
- -c
|
||||
- ./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'
|
||||
#TODO: Add probes, probably checking if process is running?
|
||||
# readinessProbe:
|
||||
# httpGet:
|
||||
# path: /
|
||||
# port: {{ .Values.service.main.ports.main.port }}
|
||||
# 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: {{ .Values.service.main.ports.main.port }}
|
||||
# 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: {{ .Values.service.main.ports.main.port }}
|
||||
# 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 -}}
|
|
@ -0,0 +1,49 @@
|
|||
{{/* Define the ml container */}}
|
||||
{{- define "immich.ml" -}}
|
||||
image: {{ .Values.imageML.repository }}:{{ .Values.imageML.tag }}
|
||||
imagePullPolicy: {{ .Values.imageML.pullPolicy }}
|
||||
securityContext:
|
||||
runAsUser: {{ .Values.podSecurityContext.runAsUser }}
|
||||
runAsGroup: {{ .Values.podSecurityContext.runAsGroup }}
|
||||
readOnlyRootFilesystem: {{ .Values.securityContext.readOnlyRootFilesystem }}
|
||||
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- chmod +x ./entrypoint.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'
|
||||
#TODO: Add probes, probably checking if process is running?
|
||||
# readinessProbe:
|
||||
# httpGet:
|
||||
# path: /
|
||||
# port: {{ .Values.service.main.ports.main.port }}
|
||||
# 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: {{ .Values.service.main.ports.main.port }}
|
||||
# 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: {{ .Values.service.main.ports.main.port }}
|
||||
# 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 -}}
|
|
@ -0,0 +1,44 @@
|
|||
{{/* Define the proxy container */}}
|
||||
{{- define "immich.proxy" -}}
|
||||
image: {{ .Values.imageProxy.repository }}:{{ .Values.imageProxy.tag }}
|
||||
imagePullPolicy: {{ .Values.imageProxy.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'
|
||||
volumeMounts:
|
||||
- name: proxy-conf
|
||||
mountPath: /etc/nginx
|
||||
readOnly: true
|
||||
ports:
|
||||
- containerPort: {{ .Values.service.main.ports.main.port }}
|
||||
name: main
|
||||
readinessProbe:
|
||||
httpGet:
|
||||
path: /api/server-info/ping
|
||||
port: {{ .Values.service.main.ports.main.port }}
|
||||
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.port }}
|
||||
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.port }}
|
||||
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 -}}
|
|
@ -0,0 +1,27 @@
|
|||
{{/* 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: {{ . }}
|
||||
{{- end }}
|
||||
{{- end }}
|
|
@ -0,0 +1,41 @@
|
|||
{{/* Define the web container */}}
|
||||
{{- define "immich.web" -}}
|
||||
image: {{ .Values.imageWeb.repository }}:{{ .Values.imageWeb.tag }}
|
||||
imagePullPolicy: {{ .Values.imageWeb.pullPolicy }}
|
||||
securityContext:
|
||||
runAsUser: {{ .Values.podSecurityContext.runAsUser }}
|
||||
runAsGroup: {{ .Values.podSecurityContext.runAsGroup }}
|
||||
readOnlyRootFilesystem: {{ .Values.securityContext.readOnlyRootFilesystem }}
|
||||
runAsNonRoot: {{ .Values.securityContext.runAsNonRoot }}
|
||||
command:
|
||||
- /bin/sh
|
||||
- -c
|
||||
- chmod +x ./entrypoint.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 -}}
|
|
@ -0,0 +1,15 @@
|
|||
{{/* 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) -}}
|
||||
{{- $_ := set .Values.additionalContainers "ml" (include "immich.ml" . | fromYaml) -}}
|
||||
|
||||
{{/* Render the templates */}}
|
||||
{{ include "tc.common.loader.apply" . }}
|
|
@ -0,0 +1,4 @@
|
|||
icon_url: https://truecharts.org/img/hotlink-ok/chart-icons/immich.png
|
||||
categories:
|
||||
- media
|
||||
|
Loading…
Reference in New Issue