-
Notifications
You must be signed in to change notification settings - Fork 2
Expand file tree
/
Copy pathDockerfile.playground
More file actions
54 lines (25 loc) · 1.19 KB
/
Dockerfile.playground
File metadata and controls
54 lines (25 loc) · 1.19 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
FROM node:lts-alpine3.22 AS app-builder
WORKDIR /src/app
COPY app .
RUN npm install && npx vite build --base='/{YELKEN_BASE_URL}/'
FROM node:lts-alpine3.22 AS theme-builder
WORKDIR /src/themes
COPY themes .
RUN cd default && npm install && npm run build
FROM rust:alpine3.22 AS yelken-builder
WORKDIR /src/yelken
RUN apk update && apk add musl-dev clang && rustup target add wasm32-unknown-unknown && cargo install wasm-pack
COPY --from=app-builder /src/app/dist /src/app/dist
COPY --from=theme-builder /src/themes/default/assets /src/themes/default/assets
COPY --from=theme-builder /src/themes/default/locales /src/themes/default/locales
COPY --from=theme-builder /src/themes/default/templates /src/themes/default/templates
COPY --from=theme-builder /src/themes/default/Yelken.json /src/themes/default/Yelken.json
COPY yelken .
RUN wasm-pack build --target web wasm --features sqlite
FROM node:lts-alpine3.22 AS playground-builder
WORKDIR /src/playground
COPY --from=yelken-builder /src/yelken/wasm/pkg wasm
COPY playground .
RUN npm install && npm run build && ./firefox-no-module-fix.sh
FROM nginx:stable-alpine3.21
COPY --from=playground-builder /src/playground/dist /usr/share/nginx/html