/
Dockerfile.frontend
27 lines (25 loc) · 1.04 KB
/
Dockerfile.frontend
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
FROM node:16.11.1-alpine AS base
WORKDIR /app/frontend
COPY ./frontend/public ./public
COPY ./frontend/src ./src
COPY ./frontend/package.json ./package.json
COPY ./frontend/package-lock.json ./package-lock.json
COPY ./frontend/tailwind.config.js ./tailwind.config.js
COPY ./frontend/tsconfig.json ./tsconfig.json
COPY ./frontend/webpack.config.js ./webpack.config.js
COPY ./frontend/postcss.config.js ./postcss.config.js
COPY ./frontend/.eslintrc.js ./.eslintrc.js
FROM base AS builder
RUN npm install && npm run build
FROM nginx:1.21.3-alpine
EXPOSE 3000
COPY ./scripts/nginx/nginx.frontend.conf /etc/nginx/conf.d/default.conf
COPY --from=builder /app/frontend/dist /usr/share/nginx/html
RUN addgroup -g 1001 appgroup && \
adduser -u 1000 -S appuser -g 1001 -G appgroup && \
chown -R appuser:appgroup /var/cache/nginx && \
chown -R appuser:appgroup /var/log/nginx && \
chown -R appuser:appgroup /etc/nginx/conf.d && \
touch /var/run/nginx.pid && \
chown -R appuser:appgroup /var/run/nginx.pid
ENTRYPOINT ["nginx", "-g", "daemon off;"]