Explorar o código

Use runtime env var for login page message to lower web container startup time (#577)

* Use runtime env var for loginPageMessage

* Rename VITE_LOGIN_PAGE_MESSAGE to PUBLIC_LOGIN_PAGE_MESSAGE in .env.example

* Move docker image `npm run build` step into Dockerfile

* Remove comment from web Dockerfile
bo0tzz %!s(int64=2) %!d(string=hai) anos
pai
achega
564ace3ddf
Modificáronse 4 ficheiros con 6 adicións e 7 borrados
  1. 2 2
      docker/.env.example
  2. 2 3
      web/Dockerfile
  3. 0 1
      web/entrypoint.sh
  4. 2 1
      web/src/lib/constants.ts

+ 2 - 2
docker/.env.example

@@ -61,6 +61,6 @@ MAPBOX_KEY=
 ####################################################################################
 
 # Custom message on the login page, should be written in HTML form.
-# For example VITE_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>"
+# For example PUBLIC_LOGIN_PAGE_MESSAGE="This is a demo instance of Immich.<br><br>Email: <i>demo@demo.de</i><br>Password: <i>demo</i>"
 
-VITE_LOGIN_PAGE_MESSAGE=
+PUBLIC_LOGIN_PAGE_MESSAGE=

+ 2 - 3
web/Dockerfile

@@ -13,6 +13,8 @@ RUN npm ci
 
 COPY --chown=node:node . .
 
+RUN npm run build
+
 EXPOSE 3000
 
 FROM base AS dev
@@ -22,6 +24,3 @@ CMD ["npm", "run", "dev"]
 
 FROM base as prod
 ENV NODE_ENV=production
-
-
-# Issue build command in entrypoint.sh to capture user .env file instead of the builder .env file.

+ 0 - 1
web/entrypoint.sh

@@ -1,4 +1,3 @@
-npm run build
 if [ `id -u` -eq 0 ] && [ -n "$PUID" ] && [ -n "$PGID" ]; then
     exec setpriv --reuid $PUID --regid $PGID --clear-groups node /usr/src/app/build/index.js
 else

+ 2 - 1
web/src/lib/constants.ts

@@ -1 +1,2 @@
-export const loginPageMessage: string = import.meta.env.VITE_LOGIN_PAGE_MESSAGE;
+import { env } from '$env/dynamic/public';
+export const loginPageMessage: string = env.PUBLIC_LOGIN_PAGE_MESSAGE;