openvidu-call: Added Dockerfile for Java and updated Node entrypoint

This commit is contained in:
csantosm 2022-08-29 12:59:59 +02:00
parent 95edba5a9e
commit 8ea7ed9afc
4 changed files with 62 additions and 6 deletions

View File

@ -0,0 +1,35 @@
# 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-java ${BASE_HREF} && \
cd ../ && rm -rf openvidu-call-front
FROM maven
WORKDIR /opt/openvidu-call
COPY --from=openvidu-call-build /openvidu-call/openvidu-call-back-java .
# Install backend dependencies and build it for production
RUN mvn clean install package
# Entrypoint
COPY docker/java-entrypoint.sh /usr/local/bin/entrypoint.sh
RUN cat /usr/local/bin/entrypoint.sh
RUN apt-get install curl && \
chmod +x /usr/local/bin/entrypoint.sh
CMD ["/usr/local/bin/entrypoint.sh"]

View File

@ -7,12 +7,14 @@ ARG BASE_HREF=/
COPY . .
# Build OpenVidu call
RUN npm install --location=global npm
# Build OpenVidu Call frontend
RUN rm openvidu-call-front/package-lock.json && \
# Install openvidu-call-front dependencies and build it for production
# Install frontend dependencies and build it for production
cd openvidu-call-front && npm install && \
cd ../ && npm run build-prod ${BASE_HREF} --prefix openvidu-call-front && \
rm -rf openvidu-call-front
npm run prod:build ${BASE_HREF} && \
cd ../ && rm -rf openvidu-call-front
FROM node:lts-alpine3.16
@ -20,12 +22,14 @@ WORKDIR /opt/openvidu-call
COPY --from=openvidu-call-build /openvidu-call/openvidu-call-back .
# Install openvidu-call-back dependencies and build it for production
RUN npm install --location=global npm
# Install backend dependencies and build it for production
RUN npm install && \
npm run build
# Entrypoint
COPY docker/entrypoint.sh /usr/local/bin
COPY docker/node-entrypoint.sh /usr/local/bin/entrypoint.sh
RUN apk add curl && \
chmod +x /usr/local/bin/entrypoint.sh

View File

@ -0,0 +1,15 @@
#!/bin/sh
[[ -z "${OPENVIDU_URL}" ]] && export OPENVIDU_URL=$(curl -s ifconfig.co)
[[ -z "${OPENVIDU_SECRET}" ]] && export OPENVIDU_SECRET=$(cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
cd /opt/openvidu-call
[ ! -z "${OPENVIDU_URL}" ] && JAVA_PROPERTIES=" -DOPENVIDU_URL=${OPENVIDU_URL}"
[ ! -z "${OPENVIDU_SECRET}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -DOPENVIDU_SECRET=${OPENVIDU_SECRET}"
[ ! -z "${SERVER_PORT}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dserver.port=${SERVER_PORT}"
[ ! -z "${ADMIN_SECRET}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -DADMIN_SECRET=${ADMIN_SECRET}"
[ ! -z "${RECORDING}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -DRECORDING=${RECORDING}"
[ ! -z "${SERVER_PORT}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dserver.port=${SERVER_PORT}"
java ${JAVA_PROPERTIES} -jar target/openvidu-call-back-java.jar

View File

@ -8,6 +8,8 @@ cat>/opt/openvidu-call/.env<<EOF
SERVER_PORT=${SERVER_PORT}
OPENVIDU_URL=${OPENVIDU_URL}
OPENVIDU_SECRET=${OPENVIDU_SECRET}
ADMIN_SECRET=${ADMIN_SECRET}
RECORDING=${RECORDING}
CALL_OPENVIDU_CERTTYPE=${CALL_OPENVIDU_CERTTYPE}
EOF