FROM node:alpine as builder WORKDIR /build-clips COPY apps/clips/package.json apps/clips/package-lock.json ./ RUN npm install && mkdir /clips && cp -r node_modules/ /clips WORKDIR /clips COPY apps/clips . RUN $(npm bin)/ng build --target=production --environment=prod --aot --build-optimizer --output-hashing=none WORKDIR /build-gifted-subs COPY apps/gifted-subs/package.json apps/gifted-subs/package-lock.json ./ RUN npm install && mkdir /gifted-subs && cp -r node_modules/ /gifted-subs WORKDIR /gifted-subs COPY apps/gifted-subs . RUN $(npm bin)/ng build --target=production --environment=prod --aot --build-optimizer --output-hashing=none WORKDIR /build-merchandise COPY apps/merchandise/package.json apps/merchandise/package-lock.json ./ RUN npm install && mkdir /merchandise && cp -r node_modules/ /merchandise WORKDIR /merchandise COPY apps/merchandise . RUN $(npm bin)/ng build --target=production --environment=prod --aot --build-optimizer --output-hashing=none WORKDIR /build-quotes COPY apps/quotes/package.json apps/quotes/package-lock.json ./ RUN npm install && mkdir /quotes && cp -r node_modules/ /quotes WORKDIR /quotes COPY apps/quotes . RUN $(npm bin)/ng build --target=production --environment=prod --aot --build-optimizer --output-hashing=none WORKDIR /build-regular-subs COPY apps/regular-subs/package.json apps/regular-subs/package-lock.json ./ RUN npm install && mkdir /regular-subs && cp -r node_modules/ /regular-subs WORKDIR /regular-subs COPY apps/regular-subs . RUN $(npm bin)/ng build --target=production --environment=prod --aot --build-optimizer --output-hashing=none WORKDIR /build-schedule COPY apps/schedule/package.json apps/schedule/package-lock.json ./ RUN npm install && mkdir /schedule && cp -r node_modules/ /schedule WORKDIR /schedule COPY apps/schedule . RUN $(npm bin)/ng build --target=production --environment=prod --aot --build-optimizer --output-hashing=none WORKDIR /build-twitch-logs COPY apps/twitch-logs/package.json apps/twitch-logs/package-lock.json ./ RUN npm install && mkdir /twitch-logs && cp -r node_modules/ /twitch-logs WORKDIR /twitch-logs COPY apps/twitch-logs . RUN $(npm bin)/ng build --target=production --environment=prod --aot --build-optimizer --output-hashing=none FROM nginx:alpine COPY nginx/nginx.conf /etc/nginx/nginx.conf COPY --from=builder /clips/dist /clips/clips/assets COPY --from=builder /gifted-subs/dist /gifted-subs/gifted-subs/assets COPY --from=builder /merchandise/dist /merchandise/merchandise/assets COPY --from=builder /quotes/dist /quotes/quotes/assets COPY --from=builder /regular-subs/dist /regular-subs/regular-subs/assets COPY --from=builder /schedule/dist /schedule/schedule/assets COPY --from=builder /twitch-logs/dist /twitch-logs/twitch-logs/assets RUN addgroup -g 9999 lilia EXPOSE 80 ENTRYPOINT ["nginx", "-g", "daemon off;"]