forked from ToolJet/ToolJet
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathclient.Dockerfile
More file actions
44 lines (31 loc) · 1.31 KB
/
client.Dockerfile
File metadata and controls
44 lines (31 loc) · 1.31 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
# pull official base image
FROM node:14.17.3-buster AS builder
RUN npm i -g npm@7.20.0
# set working directory
WORKDIR /app
COPY ./package.json ./package.json
# Fix for heap limit allocation issue
ENV NODE_OPTIONS="--max-old-space-size=4096"
# Build plugins
COPY ./plugins/package.json ./plugins/package-lock.json ./plugins/
RUN npm --prefix plugins install
COPY ./plugins/ ./plugins/
RUN NODE_ENV=production npm --prefix plugins run build
RUN npm --prefix plugins prune --production
# Build frontend
COPY ./frontend/package.json ./frontend/package-lock.json ./frontend/
RUN npm --prefix frontend install
COPY ./frontend ./frontend
RUN SERVE_CLIENT=false npm --prefix frontend run build --production
RUN npm --prefix frontend prune --production
FROM openresty/openresty:1.19.9.1rc1-buster-fat
RUN apt-get update && apt-get -y install --no-install-recommends wget \
gnupg ca-certificates apt-utils curl luarocks \
make build-essential g++ gcc autoconf
RUN luarocks install lua-resty-auto-ssl
RUN mkdir /etc/resty-auto-ssl /var/log/openresty /var/www /etc/fallback-certs
COPY --from=builder /app/frontend/build /var/www
COPY ./frontend/config/nginx.conf.template /etc/openresty/nginx.conf.template
COPY ./frontend/config/entrypoint.sh /entrypoint.sh
RUN chgrp -R 0 /var/www && chmod -R g=u /var/www
ENTRYPOINT ["./entrypoint.sh"]