_configuration.tpl 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  1. {{- define "immich.configuration" -}}
  2. {{- $fullname := (include "ix.v1.common.lib.chart.names.fullname" $) -}}
  3. {{- $dbHost := (printf "%s-postgres" $fullname) -}}
  4. {{- $dbUser := "immich" -}}
  5. {{- $dbName := "immich" -}}
  6. {{- $dbPass := randAlphaNum 32 -}}
  7. {{- with (lookup "v1" "Secret" .Release.Namespace (printf "%s-postgres-creds" $fullname)) -}}
  8. {{- $dbPass = ((index .data "POSTGRES_PASSWORD") | b64dec) -}}
  9. {{- end -}}
  10. {{/* Temporary set dynamic db details on values,
  11. so we can print them on the notes */}}
  12. {{- $_ := set .Values "immichDbPass" $dbPass -}}
  13. {{- $_ := set .Values "immichDbHost" $dbHost -}}
  14. {{- $redisHost := (printf "%s-redis" $fullname) -}}
  15. {{- $redisPass := randAlphaNum 32 -}}
  16. {{- with (lookup "v1" "Secret" .Release.Namespace (printf "%s-redis-creds" $fullname)) -}}
  17. {{- $redisPass = ((index .data "REDIS_PASSWORD") | b64dec) -}}
  18. {{- end -}}
  19. {{- $dbURL := (printf "postgres://%s:%s@%s:5432/%s?sslmode=disable" $dbUser $dbPass $dbHost $dbName) -}}
  20. {{- $typesenseKey := randAlphaNum 32 -}}
  21. {{- with (lookup "v1" "Secret" .Release.Namespace (printf "%s-immich-creds" $fullname)) -}}
  22. {{- $typesenseKey = ((index .data "TYPESENSE_API_KEY") | b64dec) -}}
  23. {{- end -}}
  24. {{- $mlURL := printf "http://%v-machinelearning:%v" $fullname .Values.immichNetwork.machinelearningPort }}
  25. secret:
  26. postgres-creds:
  27. enabled: true
  28. data:
  29. POSTGRES_USER: {{ $dbUser }}
  30. POSTGRES_DB: {{ $dbName }}
  31. POSTGRES_PASSWORD: {{ $dbPass }}
  32. POSTGRES_HOST: {{ $dbHost }}
  33. POSTGRES_URL: {{ $dbURL }}
  34. redis-creds:
  35. enabled: true
  36. data:
  37. ALLOW_EMPTY_PASSWORD: "no"
  38. REDIS_PASSWORD: {{ $redisPass }}
  39. REDIS_HOST: {{ $redisHost }}
  40. {{/* Server & Microservices */}}
  41. immich-creds:
  42. enabled: true
  43. data:
  44. IMMICH_MACHINE_LEARNING_ENABLED: {{ .Values.immichConfig.enableML | quote }}
  45. {{- if .Values.immichConfig.enableML }}
  46. IMMICH_MACHINE_LEARNING_URL: {{ $mlURL | quote }}
  47. {{- end }}
  48. TYPESENSE_ENABLED: {{ .Values.immichConfig.enableTypesense | quote }}
  49. TYPESENSE_API_KEY: {{ $typesenseKey }}
  50. {{- if .Values.immichConfig.enableTypesense }}
  51. TYPESENSE_PROTOCOL: http
  52. TYPESENSE_HOST: {{ printf "%v-typesense" $fullname }}
  53. TYPESENSE_PORT: {{ .Values.immichNetwork.typesensePort | quote }}
  54. {{- end }}
  55. DB_USERNAME: {{ $dbUser }}
  56. DB_PASSWORD: {{ $dbPass }}
  57. DB_HOSTNAME: {{ $dbHost }}
  58. DB_DATABASE_NAME: {{ $dbName }}
  59. DB_PORT: "5432"
  60. REDIS_HOSTNAME: {{ $redisHost }}
  61. REDIS_PASSWORD: {{ $redisPass }}
  62. REDIS_PORT: "6379"
  63. REDIS_DBINDEX: "0"
  64. {{- if .Values.immichConfig.enableTypesense }}
  65. typesense-creds:
  66. enabled: true
  67. data:
  68. TYPESENSE_API_KEY: {{ $typesenseKey }}
  69. TYPESENSE_DATA_DIR: /typesense-data
  70. {{- end }}
  71. configmap:
  72. server-config:
  73. enabled: true
  74. data:
  75. LOG_LEVEL: log
  76. NODE_ENV: production
  77. SERVER_PORT: {{ .Values.immichNetwork.serverPort | quote }}
  78. micro-config:
  79. enabled: true
  80. data:
  81. LOG_LEVEL: log
  82. NODE_ENV: production
  83. MICROSERVICES_PORT: {{ .Values.immichNetwork.microservicesPort | quote }}
  84. REVERSE_GEOCODING_DUMP_DIRECTORY: /microcache
  85. web-config:
  86. enabled: true
  87. data:
  88. NODE_ENV: production
  89. PORT: {{ .Values.immichNetwork.webPort | quote }}
  90. IMMICH_SERVER_URL: {{ printf "http://%v-server:%v" $fullname .Values.immichNetwork.serverPort }}
  91. PUBLIC_IMMICH_SERVER_URL: {{ printf "http://%v-server:%v" $fullname .Values.immichNetwork.serverPort }}
  92. {{- with .Values.immichConfig.publicLoginMessage }}
  93. PUBLIC_LOGIN_PAGE_MESSAGE: {{ . | quote }}
  94. {{- end }}
  95. proxy-config:
  96. enabled: true
  97. data:
  98. IMMICH_WEB_URL: {{ printf "http://%v-web:%v" $fullname .Values.immichNetwork.webPort }}
  99. IMMICH_SERVER_URL: {{ printf "http://%v-server:%v" $fullname .Values.immichNetwork.serverPort }}
  100. {{- if .Values.immichConfig.enableML }}
  101. ml-config:
  102. enabled: true
  103. data:
  104. NODE_ENV: production
  105. MACHINE_LEARNING_PORT: {{ .Values.immichNetwork.machinelearningPort | quote }}
  106. MACHINE_LEARNING_CACHE_FOLDER: /mlcache
  107. TRANSFORMERS_CACHE: /mlcache
  108. {{- end }}
  109. {{- end -}}