_configuration.tpl 4.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  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. {{- $redisHost := (printf "%s-redis" $fullname) -}}
  11. {{- $redisPass := randAlphaNum 32 -}}
  12. {{- with (lookup "v1" "Secret" .Release.Namespace (printf "%s-redis-creds" $fullname)) -}}
  13. {{- $redisPass = ((index .data "REDIS_PASSWORD") | b64dec) -}}
  14. {{- end -}}
  15. {{- $dbURL := (printf "postgres://%s:%s@%s:5432/%s?sslmode=disable" $dbUser $dbPass $dbHost $dbName) -}}
  16. {{- $typesenseKey := randAlphaNum 32 -}}
  17. {{- with (lookup "v1" "Secret" .Release.Namespace (printf "%s-immich-creds" $fullname)) -}}
  18. {{- $typesenseKey = ((index .data "TYPESENSE_API_KEY") | b64dec) -}}
  19. {{- end -}}
  20. {{- $mlURL := "false" -}}
  21. {{- if .Values.immichConfig.enableML -}}
  22. {{- $mlURL = printf "http://%v-machinelearning:%v" $fullname .Values.immichNetwork.microservicesPort -}}
  23. {{- end }}
  24. secret:
  25. postgres-creds:
  26. enabled: true
  27. data:
  28. POSTGRES_USER: {{ $dbUser }}
  29. POSTGRES_DB: {{ $dbName }}
  30. POSTGRES_PASSWORD: {{ $dbPass }}
  31. POSTGRES_HOST: {{ $dbHost }}
  32. POSTGRES_URL: {{ $dbURL }}
  33. redis-creds:
  34. enabled: true
  35. data:
  36. ALLOW_EMPTY_PASSWORD: "no"
  37. REDIS_PASSWORD: {{ $redisPass }}
  38. REDIS_HOST: {{ $redisHost }}
  39. {{/* Server & Microservices */}}
  40. immich-creds:
  41. enabled: true
  42. data:
  43. IMMICH_MACHINE_LEARNING_URL: {{ $mlURL | quote }}
  44. TYPESENSE_ENABLED: {{ .Values.immichConfig.enableTypesense | quote }}
  45. TYPESENSE_API_KEY: {{ $typesenseKey }}
  46. {{- if .Values.immichConfig.enableTypesense }}
  47. TYPESENSE_PROTOCOL: http
  48. TYPESENSE_HOST: {{ printf "%v-typesense" $fullname }}
  49. TYPESENSE_PORT: {{ .Values.immichNetwork.typesensePort | quote }}
  50. {{- end }}
  51. DB_USERNAME: {{ $dbUser }}
  52. DB_PASSWORD: {{ $dbPass }}
  53. DB_HOSTNAME: {{ $dbHost }}
  54. DB_DATABASE_NAME: {{ $dbName }}
  55. DB_PORT: "5432"
  56. REDIS_HOSTNAME: {{ $redisHost }}
  57. REDIS_PASSWORD: {{ $redisPass }}
  58. REDIS_PORT: "6379"
  59. REDIS_DBINDEX: "0"
  60. {{- if .Values.immichConfig.enableTypesense }}
  61. typesense-creds:
  62. enabled: true
  63. data:
  64. TYPESENSE_API_KEY: {{ $typesenseKey }}
  65. TYPESENSE_DATA_DIR: /typesense-data
  66. {{- end }}
  67. configmap:
  68. server-config:
  69. enabled: true
  70. data:
  71. LOG_LEVEL: log
  72. NODE_ENV: production
  73. SERVER_PORT: {{ .Values.immichNetwork.serverPort | quote }}
  74. micro-config:
  75. enabled: true
  76. data:
  77. LOG_LEVEL: log
  78. NODE_ENV: production
  79. MICROSERVICES_PORT: {{ .Values.immichNetwork.microservicesPort | quote }}
  80. DISABLE_REVERSE_GEOCODING: {{ .Values.immichConfig.disableReverseGeocoding | quote }}
  81. {{- if not .Values.immichConfig.disableReverseGeocoding }}
  82. REVERSE_GEOCODING_PRECISION: {{ .Values.immichConfig.reverseGeocodingPrecision | quote }}
  83. {{- end }}
  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 -}}