You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

90 lines
2.8 KiB

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;"]