# Builder FROM node:18-alpine3.18 AS builder WORKDIR /build COPY package.json . COPY yarn.lock . COPY server/package.json ./server/ COPY client/package.json ./client/ RUN yarn install --frozen-lockfile COPY server/tsconfig.json ./server/ COPY server/src ./server/src/ COPY client/tsconfig.json ./client/ COPY client/src ./client/src COPY client/public ./client/public COPY types ./types/ WORKDIR /build/server RUN yarn build WORKDIR /build/client RUN yarn build # Runner FROM node:18-alpine3.18 ENV LANG cs_CZ.UTF-8 ENV NODE_ENV production WORKDIR /app COPY --from=builder /build/node_modules ./node_modules COPY --from=builder /build/server/dist ./ COPY --from=builder /build/client/build ./public COPY /server/.env.production ./server/src EXPOSE 3000 CMD [ "node", "./server/src/index.js" ]