1
0
Fork 0
mirror of https://github.com/muerwre/vault-frontend.git synced 2025-04-24 20:36:40 +07:00
vault-frontend/docker/nextjs-standalone/Dockerfile
Fedor Katurov a676e98174
All checks were successful
Build & Publish / Build & Publish (push) Successful in 3m35s
add standalone build
2025-03-24 18:22:25 +07:00

51 lines
No EOL
1.6 KiB
Docker

# As written here:
# https://dev.to/leduc1901/reduce-docker-image-size-for-your-nextjs-app-5911
# Base ───────────────────────────────────────────────────────────────────────
FROM node:14-alpine as base
WORKDIR /opt/app
ENV PATH /opt/app/node_modules/.bin:$PATH
# Build ──────────────────────────────────────────────────────────────────────
FROM base as builder
ARG NEXT_PUBLIC_API_HOST
ARG NEXT_PUBLIC_REMOTE_CURRENT
ARG NEXT_PUBLIC_PUBLIC_HOST
ARG NEXT_PUBLIC_BOT_USERNAME
ENV NEXT_PUBLIC_API_HOST $NEXT_PUBLIC_API_HOST
ENV NEXT_PUBLIC_REMOTE_CURRENT $NEXT_PUBLIC_REMOTE_CURRENT
ENV NEXT_PUBLIC_PUBLIC_HOST $NEXT_PUBLIC_PUBLIC_HOST
ENV NEXT_PUBLIC_BOT_USERNAME $NEXT_PUBLIC_BOT_USERNAME
# ENV NEXT_PUBLIC_API_HOST https://vault48.org/api/
# ENV NEXT_PUBLIC_REMOTE_CURRENT https://vault48.org/static/
# ENV NEXT_PUBLIC_PUBLIC_HOST https://vault48.org/
# ENV NEXT_PUBLIC_BOT_USERNAME vault48bot
COPY package.json .
COPY yarn.lock .
RUN true \
&& yarn install --frozen-lockfile\
&& true
COPY . /opt/app
# pkg packs nodejs with given script, so we don't need it in next section
RUN yarn next build
FROM node:14-alpine as runner
WORKDIR /opt/app
COPY --from=builder /opt/app/public ./public
COPY --from=builder /opt/app/.next/standalone .
COPY --from=builder /opt/app/.next/static ./.next/static
EXPOSE 3000
ENTRYPOINT ["node", "server.js"]