fix: fix login image (#10355)

# Which Problems Are Solved

The broken login image is fixed.

# How the Problems Are Solved

The most important learnings from
https://github.com/zitadel/zitadel/pull/10318 are applied:
- Path in entrypoint is fixed: `exec node /runtime/apps/login/server.js`
- .dockerignore is updated so CSS styles are built into the image
- `source: .` is passed to the docker-bake action. Without this,
docker-bake builds from a remote context, which seems to be slow and not
updated on new PR commits. Looks like the bake action uploads an
artifact that [conflicts with the compile
workflow](https://github.com/zitadel/zitadel/actions/runs/16620417216/job/47023478437).
Therefore, a pattern is added to the compile workflow so only relevant
artifacts are selected.
This commit is contained in:
Elio Bischof
2025-07-31 09:51:26 +02:00
committed by GitHub
parent 3c78abca93
commit dcdea5a4fe
7 changed files with 52 additions and 25 deletions

View File

@@ -77,6 +77,7 @@ jobs:
- uses: actions/download-artifact@v4
with:
path: executables
pattern: 'zitadel-*-*'
- name: move files one folder up
run: mv */*.tar.gz . && find . -type d -empty -delete
working-directory: executables

View File

@@ -55,6 +55,7 @@ jobs:
env:
NODE_VERSION: ${{ inputs.node_version }}
with:
source: .
push: true
provenance: true
sbom: true

View File

@@ -8,6 +8,4 @@ if [ -n "${ZITADEL_SERVICE_USER_TOKEN_FILE}" ] && [ -f "${ZITADEL_SERVICE_USER_T
export ZITADEL_SERVICE_USER_TOKEN=$(cat "${ZITADEL_SERVICE_USER_TOKEN_FILE}")
fi
exec node /runtime/apps/login/apps/login/server.js
exec node /runtime/apps/login/server.js

View File

@@ -24,9 +24,9 @@ COPY . .
RUN pnpm turbo build:login:standalone
FROM scratch AS build-out
COPY --from=build /app/apps/login/.next/standalone /
COPY --from=build /app/apps/login/.next/static /.next/static
COPY --from=build /app/apps/login/public /public
COPY /apps/login/public ./apps/login/public
COPY --from=build /app/apps/login/.next/standalone ./
COPY --from=build /app/apps/login/.next/static ./apps/login/.next/static
FROM base AS login-standalone
WORKDIR /runtime
@@ -34,7 +34,7 @@ RUN addgroup --system --gid 1001 nodejs && \
adduser --system --uid 1001 nextjs
# If /.env-file/.env is mounted into the container, its variables are made available to the server before it starts up.
RUN mkdir -p /.env-file && touch /.env-file/.env && chown -R nextjs:nodejs /.env-file
COPY apps/login/scripts ./
COPY --chown=nextjs:nodejs apps/login/scripts ./
COPY --chown=nextjs:nodejs --from=build-out . .
USER nextjs
ENV HOSTNAME="0.0.0.0"

View File

@@ -8,7 +8,8 @@
!apps/login/next.config.mjs
!apps/login/next-env-vars.d.ts
!apps/login/next-env.d.ts
!apps/login/tailwind.config.js
!apps/login/tailwind.config.mjs
!apps/login/postcss.config.cjs
!apps/login/tsconfig.json
!apps/login/package.json
!apps/login/turbo.json
@@ -23,6 +24,7 @@
!packages/zitadel-proto/turbo.json
!packages/zitadel-client/package.json
!packages/zitadel-client/**/package.json
!packages/zitadel-client/src
!packages/zitadel-client/tsconfig.json
!packages/zitadel-client/tsup.config.ts
@@ -30,8 +32,7 @@
!proto
*.md
*.png
node_modules
*.test.ts
*.test.tsx
**/*.md
**/node_modules
**/*.test.ts
**/*.test.tsx

View File

@@ -30,6 +30,6 @@
},
"devDependencies": {
"@types/node": "^22.3.0",
"cypress": "^13.13.3"
"cypress": "^14.5.3"
}
}

48
pnpm-lock.yaml generated
View File

@@ -576,8 +576,8 @@ importers:
specifier: ^22.3.0
version: 22.16.5
cypress:
specifier: ^13.13.3
version: 13.17.0
specifier: ^14.5.3
version: 14.5.3
packages/zitadel-client:
dependencies:
@@ -2154,6 +2154,10 @@ packages:
resolution: {integrity: sha512-h0NFgh1mJmm1nr4jCwkGHwKneVYKghUyWe6TMNrk0B9zsjAJxpg8C4/+BAcmLgCPa1vj1V8rNUaILl+zYRUWBQ==}
engines: {node: '>= 6'}
'@cypress/request@3.0.9':
resolution: {integrity: sha512-I3l7FdGRXluAS44/0NguwWlO83J18p0vlr2FYHrJkWdNYhgVoiYo61IXPqaOsL+vNxU1ZqMACzItGK3/KKDsdw==}
engines: {node: '>= 6'}
'@cypress/xvfb@1.2.4':
resolution: {integrity: sha512-skbBzPggOVYCbnGgV+0dmBdW/s77ZkAOXIC1knS8NagwDjBrNC1LuXtQJeiN6l+m7lzmHtaoUw/ctJKdqkG57Q==}
@@ -7033,16 +7037,16 @@ packages:
cypress-wait-until@3.0.2:
resolution: {integrity: sha512-iemies796dD5CgjG5kV0MnpEmKSH+s7O83ZoJLVzuVbZmm4lheMsZqAVT73hlMx4QlkwhxbyUzhOBUOZwoOe0w==}
cypress@13.17.0:
resolution: {integrity: sha512-5xWkaPurwkIljojFidhw8lFScyxhtiFHl/i/3zov+1Z5CmY4t9tjIdvSXfu82Y3w7wt0uR9KkucbhkVvJZLQSA==}
engines: {node: ^16.0.0 || ^18.0.0 || >=20.0.0}
hasBin: true
cypress@14.5.2:
resolution: {integrity: sha512-O4E4CEBqDHLDrJD/dfStHPcM+8qFgVVZ89Li7xDU0yL/JxO/V0PEcfF2I8aGa7uA2MGNLkNUAnghPM83UcHOJw==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
cypress@14.5.3:
resolution: {integrity: sha512-syLwKjDeMg77FRRx68bytLdlqHXDT4yBVh0/PPkcgesChYDjUZbwxLqMXuryYKzAyJsPsQHUDW1YU74/IYEUIA==}
engines: {node: ^18.0.0 || ^20.0.0 || >=22.0.0}
hasBin: true
cytoscape-cose-bilkent@4.1.0:
resolution: {integrity: sha512-wgQlVIUJF13Quxiv5e1gstZ08rnZj2XaLHGoFMYXz7SkNfCDOOteKBE6SYRfA9WxxI/iBc3ajfDoc6hb/MRAHQ==}
peerDependencies:
@@ -16904,6 +16908,27 @@ snapshots:
tunnel-agent: 0.6.0
uuid: 8.3.2
'@cypress/request@3.0.9':
dependencies:
aws-sign2: 0.7.0
aws4: 1.13.2
caseless: 0.12.0
combined-stream: 1.0.8
extend: 3.0.2
forever-agent: 0.6.1
form-data: 4.0.4
http-signature: 1.4.0
is-typedarray: 1.0.0
isstream: 0.1.2
json-stringify-safe: 5.0.1
mime-types: 2.1.35
performance-now: 2.1.0
qs: 6.14.0
safe-buffer: 5.2.1
tough-cookie: 5.1.2
tunnel-agent: 0.6.0
uuid: 8.3.2
'@cypress/xvfb@1.2.4(supports-color@8.1.1)':
dependencies:
debug: 3.2.7(supports-color@8.1.1)
@@ -23170,7 +23195,7 @@ snapshots:
cypress-wait-until@3.0.2: {}
cypress@13.17.0:
cypress@14.5.2:
dependencies:
'@cypress/request': 3.0.8
'@cypress/xvfb': 1.2.4(supports-color@8.1.1)
@@ -23185,7 +23210,7 @@ snapshots:
check-more-types: 2.24.0
ci-info: 4.3.0
cli-cursor: 3.1.0
cli-table3: 0.6.5
cli-table3: 0.6.1
commander: 6.2.1
common-tags: 1.8.2
dayjs: 1.11.13
@@ -23198,6 +23223,7 @@ snapshots:
figures: 3.2.0
fs-extra: 9.1.0
getos: 3.2.1
hasha: 5.2.2
is-installed-globally: 0.4.0
lazy-ass: 1.6.0
listr2: 3.14.0(enquirer@2.4.1)
@@ -23216,9 +23242,9 @@ snapshots:
untildify: 4.0.0
yauzl: 2.10.0
cypress@14.5.2:
cypress@14.5.3:
dependencies:
'@cypress/request': 3.0.8
'@cypress/request': 3.0.9
'@cypress/xvfb': 1.2.4(supports-color@8.1.1)
'@types/sinonjs__fake-timers': 8.1.1
'@types/sizzle': 2.3.9