Skip to content

Commit 8d0247e

Browse files
committed
Improve frontend
1 parent e04ec3b commit 8d0247e

File tree

4 files changed

+55
-20
lines changed

4 files changed

+55
-20
lines changed

frontend/docker/Dockerfile

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,24 @@ FROM node:22-alpine AS base
44
FROM base AS builder
55
# Check https://github.com/nodejs/docker-node/tree/b4117f9333da4138b03a546ec926ef50a31506c3#nodealpine
66
# to understand why libc6-compat might be needed.
7-
ENV PNPM_HOME="/pnpm"
7+
ENV APK_CACHE_DIR="/app/.cache/apk" \
8+
APK_SYMLINK_DIR="/etc/apk/cache" \
9+
NPM_CACHE="/app/.npm" \
10+
PNPM_HOME="/pnpm"
11+
812
ENV PATH="$PNPM_HOME:$PATH"
913

10-
RUN apk add --no-cache libc6-compat
14+
RUN mkdir -p ${APK_CACHE_DIR} ${APK_SYMLINK_DIR} && \
15+
ln -s ${APK_CACHE_DIR} ${APK_SYMLINK_DIR}
16+
17+
RUN --mount=type=cache,target=${APK_CACHE_DIR} \
18+
apk add libc6-compat
19+
1120
WORKDIR /app
21+
22+
RUN --mount=type=cache,target=${NPM_CACHE} \
23+
npm install --ignore-scripts -g pnpm --cache ${NPM_CACHE}
1224

13-
RUN npm install --ignore-scripts -g pnpm
1425
COPY --chmod=444 package.json pnpm-lock.yaml ./
1526
RUN --mount=type=cache,id=pnpm,target=/pnpm/store \
1627
pnpm install --frozen-lockfile --ignore-scripts

frontend/docker/Dockerfile.e2e.test

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
FROM mcr.microsoft.com/playwright:v1.52.0-jammy
22

3-
ENV PNPM_HOME="/pnpm"
4-
ENV FORCE_COLOR=1 \
5-
NPM_CONFIG_RETRY=5 \
3+
ENV NPM_CACHE="/app/.npm" \
4+
PNPM_HOME="/pnpm"
5+
6+
ENV NPM_CONFIG_RETRY=5 \
67
NPM_CONFIG_TIMEOUT=30000 \
78
PATH="$PNPM_HOME:$PATH"
89

10+
RUN --mount=type=cache,target=${NPM_CACHE} \
11+
npm install --ignore-scripts -g pnpm --cache ${NPM_CACHE}
912

1013
WORKDIR /app
1114

1215
COPY --chmod=444 package.json pnpm-lock.yaml ./
13-
RUN npm install --ignore-scripts -g pnpm
1416
RUN --mount=type=cache,id=pnpm,target=/pnpm/store \
1517
pnpm install --frozen-lockfile --ignore-scripts
1618

frontend/docker/Dockerfile.local

Lines changed: 29 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,27 @@ FROM node:22-alpine AS builder
22

33
SHELL ["/bin/sh", "-o", "pipefail", "-c"]
44

5-
RUN apk update && \
6-
apk add --no-cache git && \
7-
mkdir -p /home/owasp && \
8-
chown -R node:node /home/owasp && \
9-
npm install --ignore-scripts -g pnpm
5+
ENV APK_CACHE_DIR="/home/owasp/.cache/apk" \
6+
APK_SYMLINK_DIR="/etc/apk/cache" \
7+
NPM_CACHE="/home/owasp/.npm" \
8+
PNPM_HOME="/pnpm"
109

11-
ENV PNPM_HOME="/pnpm"
1210
ENV NPM_CONFIG_RETRY=5 \
1311
NPM_CONFIG_TIMEOUT=30000 \
1412
PATH="$PNPM_HOME:$PATH"
1513

14+
RUN mkdir -p ${APK_CACHE_DIR} ${APK_SYMLINK_DIR} && \
15+
ln -s ${APK_CACHE_DIR} ${APK_SYMLINK_DIR}
16+
17+
RUN --mount=type=cache,target=${APK_CACHE_DIR} \
18+
apk update && \
19+
apk add git && \
20+
mkdir -p /home/owasp && \
21+
chown -R node:node /home/owasp
22+
23+
RUN --mount=type=cache,target=${NPM_CACHE} \
24+
npm install --ignore-scripts -g pnpm --cache ${NPM_CACHE}
25+
1626
WORKDIR /home/owasp
1727

1828
COPY --chmod=444 --chown=node:node package.json pnpm-lock.yaml ./
@@ -23,11 +33,21 @@ FROM node:22-alpine
2333

2434
SHELL ["/bin/sh", "-o", "pipefail", "-c"]
2535

26-
RUN apk update && \
36+
ENV APK_CACHE_DIR="/home/owasp/.cache/apk" \
37+
APK_SYMLINK_DIR="/etc/apk/cache" \
38+
NPM_CACHE="/home/owasp/.npm"
39+
40+
RUN mkdir -p ${APK_CACHE_DIR} ${APK_SYMLINK_DIR} && \
41+
ln -s ${APK_CACHE_DIR} ${APK_SYMLINK_DIR}
42+
43+
RUN --mount=type=cache,target=${APK_CACHE_DIR} \
44+
apk update && \
2745
apk add --no-cache git && \
2846
mkdir -p /home/owasp/.next && \
29-
chown -R node:node /home/owasp && \
30-
npm install --ignore-scripts -g pnpm
47+
chown -R node:node /home/owasp
48+
49+
RUN --mount=type=cache,target=${NPM_CACHE} \
50+
npm install --ignore-scripts -g pnpm --cache ${NPM_CACHE}
3151

3252
COPY --from=builder --chmod=755 --chown=node:node /home/owasp/node_modules /home/owasp/node_modules
3353

frontend/docker/Dockerfile.unit.test

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,18 @@
11
FROM node:22-alpine
22

3-
ENV PNPM_HOME="/pnpm"
4-
ENV FORCE_COLOR=1 \
5-
NPM_CONFIG_RETRY=5 \
3+
ENV NPM_CACHE="/app/.npm" \
4+
PNPM_HOME="/pnpm"
5+
6+
ENV NPM_CONFIG_RETRY=5 \
67
NPM_CONFIG_TIMEOUT=30000 \
78
PATH="$PNPM_HOME:$PATH"
89

10+
RUN --mount=type=cache,target=${NPM_CACHE} \
11+
npm install --ignore-scripts -g pnpm --cache ${NPM_CACHE}
912

1013
WORKDIR /app
1114

1215
COPY --chmod=444 package.json pnpm-lock.yaml ./
13-
RUN npm install --ignore-scripts -g pnpm
1416
RUN --mount=type=cache,id=pnpm,target=/pnpm/store \
1517
pnpm install --frozen-lockfile --ignore-scripts && \
1618
chown node:node /app

0 commit comments

Comments
 (0)