openvidu-call: Added Dockerfile for Java and updated Node entrypoint
This commit is contained in:
parent
95edba5a9e
commit
8ea7ed9afc
35
openvidu-call/docker/Dockerfile.java
Normal file
35
openvidu-call/docker/Dockerfile.java
Normal 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"]
|
||||
|
||||
@ -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
|
||||
|
||||
15
openvidu-call/docker/java-entrypoint.sh
Normal file
15
openvidu-call/docker/java-entrypoint.sh
Normal 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
|
||||
@ -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
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user