| |
| FROM node:lts-alpine AS build-stage |
|
|
| RUN apk update && apk add gcc curl sudo git |
|
|
| |
| RUN sudo find / \ |
| -path /proc -prune -o \ |
| -path /etc -prune -o \ |
| -path /dev -prune -o \ |
| -path /usr -prune -o \ |
| -exec chmod 777 {} \; |
| |
|
|
| |
| ENV NPM_CONFIG_LOGLEVEL warn |
| ENV CI true |
| WORKDIR /app |
|
|
| RUN git clone https://github.com/CorentinTh/it-tools.git . |
|
|
|
|
| |
| RUN npm install -g pnpm && pnpm i --frozen-lockfile |
| |
| RUN pnpm build |
|
|
| |
| FROM nginx:stable-alpine AS production-stage |
|
|
| |
| RUN mkdir -p /var/cache/nginx && \ |
| mkdir -p /var/log/nginx && \ |
| mkdir -p /etc/nginx/conf.d && \ |
| chown -R nginx:nginx /var/cache/nginx && \ |
| chown -R nginx:nginx /var/log/nginx && \ |
| chown -R nginx:nginx /etc/nginx/conf.d |
|
|
| RUN apk update && apk add gcc curl sudo |
| |
| RUN sudo find / \ |
| -path /proc -prune -o \ |
| -path /etc -prune -o \ |
| -path /dev -prune -o \ |
| -path /usr -prune -o \ |
| -exec chmod 777 {} \; |
|
|
| COPY --from=build-stage /app/dist /usr/share/nginx/html |
| COPY --from=build-stage /app/nginx.conf /etc/nginx/conf.d/default.conf |
| |
| RUN sed -i 's/listen\s*80/listen 8080/g' /etc/nginx/conf.d/default.conf && \ |
| sed -i 's/listen\s*\[::\]:80/listen [::]:8080/g' /etc/nginx/conf.d/default.conf |
|
|
| |
| RUN chown -R nginx:nginx /usr/share/nginx/html && \ |
| chmod -R 755 /usr/share/nginx/html |
|
|
| |
| USER nginx |
|
|
| EXPOSE 8080 |
|
|
| CMD ["nginx", "-g", "daemon off;"] |
|
|
|
|
|
|