umami/Dockerfile

53 lines
1.2 KiB
Docker
Raw Normal View History

2022-04-04 12:20:34 +02:00
# Build-time variables
ARG NODE_VERSION=16
ARG ALPINE_VERSION=3.15
# Build image
2022-04-04 12:20:34 +02:00
FROM node:${NODE_VERSION}-alpine${ALPINE_VERSION} AS build
ARG BASE_PATH
ARG DATABASE_TYPE
ENV BASE_PATH=$BASE_PATH
ENV DATABASE_URL "postgresql://umami:umami@db:5432/umami"
ENV DATABASE_TYPE=$DATABASE_TYPE
WORKDIR /build
2020-08-22 12:00:35 +02:00
RUN yarn config set --home enableTelemetry 0
COPY package.json yarn.lock /build/
2020-08-19 06:23:04 +02:00
# Install only the production dependencies
RUN yarn install --production --frozen-lockfile
2020-08-19 06:23:04 +02:00
# Cache these modules for production
RUN cp -R node_modules/ prod_node_modules/
# Install development dependencies
RUN yarn install --frozen-lockfile
COPY . /build
RUN yarn next telemetry disable
RUN yarn build
2020-08-19 06:23:04 +02:00
2022-04-04 12:20:34 +02:00
# Production image
2022-04-04 12:20:34 +02:00
FROM node:${NODE_VERSION}-alpine${ALPINE_VERSION} AS production
WORKDIR /app
# Copy cached dependencies
COPY --from=build /build/prod_node_modules ./node_modules
# Copy generated Prisma client
COPY --from=build /build/node_modules/.prisma/ ./node_modules/.prisma/
COPY --from=build /build/yarn.lock /build/package.json ./
COPY --from=build /build/.next ./.next
COPY --from=build /build/public ./public
2022-04-04 23:36:42 +02:00
COPY --from=build /build/scripts ./scripts
USER node
EXPOSE 3000
CMD ["yarn", "start"]