FROM nginx:alpine AS base LABEL org.label-schema.name="ocelot.social:maintenance" LABEL org.label-schema.description="Maintenance page of the Social Network Software ocelot.social" LABEL org.label-schema.usage="https://github.com/Ocelot-Social-Community/Ocelot-Social/blob/master/README.md" LABEL org.label-schema.url="https://ocelot.social" LABEL org.label-schema.vcs-url="https://github.com/Ocelot-Social-Community/Ocelot-Social/tree/master/webapp" LABEL org.label-schema.vendor="ocelot.social Community" LABEL org.label-schema.schema-version="1.0" LABEL maintainer="devops@ocelot.social" FROM node:20.12.1-alpine AS build ENV NODE_ENV="production" RUN apk --no-cache add git python3 make g++ bash jq RUN mkdir -p /app WORKDIR /app COPY assets assets COPY components/LocaleSwitch/ components/LocaleSwitch COPY components/Dropdown.vue components/Dropdown.vue COPY layouts/blank.vue layouts/blank.vue COPY locales locales COPY mixins mixins COPY plugins/i18n.js plugins/v-tooltip.js plugins/styleguide.js plugins/ COPY static static COPY constants constants COPY nuxt.config.js nuxt.config.js COPY config/ config/ COPY tools/ tools/ COPY maintenance/nginx maintenance/nginx COPY maintenance/source maintenance/source COPY package.json yarn.lock ./ ONBUILD COPY ./branding . ONBUILD RUN tools/merge-locales.sh ONBUILD RUN yarn install --production=false --frozen-lockfile --non-interactive ONBUILD RUN cp -r maintenance/source/* ./ ONBUILD RUN yarn run generate FROM build AS production_build FROM base AS production COPY --from=production_build ./app/dist/ /usr/share/nginx/html/ COPY --from=production_build ./app/maintenance/nginx/custom.conf /etc/nginx/conf.d/default.conf