-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy pathDockerfile
More file actions
33 lines (29 loc) · 1.48 KB
/
Dockerfile
File metadata and controls
33 lines (29 loc) · 1.48 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
# Creates an all-in-one Docker image
ARG NODE_IMAGE=node:24.12.0-alpine
FROM $NODE_IMAGE AS build
WORKDIR /usr/src/app
COPY . .
RUN npm ci
RUN node --no-warnings --loader ts-node/esm create-app-info.ts
RUN npm run build
FROM $NODE_IMAGE AS aasportal
RUN apk upgrade --update-cache --available && apk add openssl && rm -rf /var/cache/apk/*
WORKDIR /usr/src/app
COPY --from=build /usr/src/app/projects/aas-node/package.json package.json
RUN npm install --omit=dev
COPY --from=build /usr/src/app/projects/aas-node/src/assets assets/
COPY --from=build /usr/src/app/projects/aas-node/dist/ .
COPY --from=build /usr/src/app/projects/aas-core/dist/ node_modules/aas-core/dist/
COPY --from=build /usr/src/app/projects/aas-core/package.json node_modules/aas-core/package.json
COPY --from=build /usr/src/app/projects/aas-package/dist/ node_modules/aas-package/dist/
COPY --from=build /usr/src/app/projects/aas-package/package.json node_modules/aas-package/package.json
COPY --from=build /usr/src/app/projects/aas-portal/dist/browser/ wwwroot/
COPY --from=build /usr/src/app/projects/aas-portal/src/config.js wwwroot/config.js.template
COPY --from=build /usr/src/app/welcome/ wwwroot/assets/welcome/
COPY docker-entrypoint-aas-portal.sh /usr/src/app/docker-entrypoint-aas-portal.sh
RUN chmod +x /usr/src/app/docker-entrypoint-aas-portal.sh
ENV AAS_NODE_PORT=80
ENV ENDPOINTS=["\"file:///endpoints/samples?name=Samples\""]
EXPOSE 80
ENTRYPOINT ["/usr/src/app/docker-entrypoint-aas-portal.sh"]
CMD ["node", "aas-node.js" ]