40 lines
938 B
Docker

# Build OpenVidu Call for production
FROM node:lts-alpine3.16 as openvidu-call-build
WORKDIR /openvidu-call
ARG BASE_HREF=/
COPY . .
RUN npm install --location=global npm
# Build OpenVidu Call frontend
RUN rm openvidu-call-front/package-lock.json && \
# Install frontend dependencies and build it for production
cd openvidu-call-front && npm install && \
npm run prod:build ${BASE_HREF} && \
cd ../ && rm -rf openvidu-call-front
FROM node:lts-alpine3.16
WORKDIR /opt/openvidu-call
COPY --from=openvidu-call-build /openvidu-call/openvidu-call-back .
RUN npm install --location=global npm
# Install backend dependencies and build it for production
RUN npm install && \
npm run build
# Move frontend build to dist
RUN mv public dist/
# Entrypoint
COPY docker/node-entrypoint.sh /usr/local/bin/entrypoint.sh
RUN apk add curl && \
chmod +x /usr/local/bin/entrypoint.sh
CMD ["/usr/local/bin/entrypoint.sh"]