Refactoring of demos Docker containers

This commit is contained in:
pabloFuente 2022-09-20 15:03:57 +02:00
parent 0c2b811ead
commit 26682b8a36
19 changed files with 65 additions and 125 deletions

View File

@ -51,10 +51,10 @@ services:
ports:
- "5442:80"
environment:
- URL_OV_BASIC_VIDEOCONFERENCE=http://openvidu-basic-videoconference:80
- URL_OV_BASIC_SCREENSHARE=http://openvidu-basic-screenshare:80
- URL_OV_BASIC_VIDEOCONFERENCE=http://openvidu-basic-videoconference:5000
- URL_OV_BASIC_SCREENSHARE=http://openvidu-basic-screenshare:5000
- URL_OV_BASIC_WEBINAR=https://openvidu-basic-webinar:5000
- URL_OV_CLASSROOM=https://openvidu-classroom:5000
- URL_OV_GETAROOM=http://openvidu-getaroom:80
- URL_OV_GETAROOM=http://openvidu-getaroom:5000
- URL_OV_CALL=http://openvidu-call:5000
- REDIRECT_INDEX_TO_DOMAIN=${REDIRECT_INDEX_TO_DOMAIN:-}

View File

@ -20,6 +20,9 @@ app.use(bodyParser.urlencoded({ extended: true }));
// Allow application/json
app.use(bodyParser.json());
// Serve static resources if available
app.use(express.static(__dirname + '/public'));
// Serve application
server.listen(5000, () => {
console.log("Application started");
@ -48,3 +51,5 @@ app.post("/api/sessions/:sessionId/connections", async (req, res) => {
res.send(connection.token);
}
});
process.on('uncaughtException', err => console.error(err));

View File

@ -1,5 +1,5 @@
# Build OpenVidu Call for production
FROM node:lts-alpine3.16 as openvidu-call-build
FROM node:16-alpine3.16 as openvidu-call-build
WORKDIR /openvidu-call
@ -16,7 +16,7 @@ RUN rm openvidu-call-front/package-lock.json && \
npm run prod:build ${BASE_HREF} && \
cd ../ && rm -rf openvidu-call-front
FROM node:lts-alpine3.16
FROM node:16-alpine3.16
WORKDIR /opt/openvidu-call

View File

@ -1,18 +1,15 @@
FROM nginx:1.19.2-alpine
FROM node:16-alpine3.16
RUN apk update && \
# apk add wget && \
rm -rf /var/cache/apk/*
# Copy openvidu-basic-node
COPY ./openvidu-basic-node /var/www/openvidu-basic-node
# Install basic-videoconference
COPY ./web /var/www/openvidu-getaroom
RUN chown -R nginx:nginx /var/www/openvidu-getaroom
# Install openvidu-basic-node dependencies
RUN npm --prefix /var/www/openvidu-basic-node install
# Nginx conf
COPY ./docker/openvidu-getaroom.conf /etc/nginx/conf.d/default.conf
# Copy static files to openvidu-basic-node
RUN mkdir -p /var/www/openvidu-basic-node/public
COPY ./web /var/www/openvidu-basic-node/public
# Entrypoint
COPY ./docker/entrypoint.sh /usr/local/bin
RUN chmod +x /usr/local/bin/entrypoint.sh
WORKDIR /var/www/openvidu-basic-node
CMD /usr/local/bin/entrypoint.sh
ENTRYPOINT [ "node", "index.js" ]

View File

@ -1,5 +1,12 @@
#!/bin/bash
pushd ../
docker build -f docker/Dockerfile -t openvidu/openvidu-getaroom-demo .
docker tag openvidu/openvidu-getaroom-demo:latest openvidu/openvidu-getaroom-demo:2.18.0
cp -r ../openvidu-basic-node .
trap 'rm -rf ./openvidu-basic-node' ERR
docker build --pull --no-cache --rm=true -f docker/Dockerfile -t openvidu/openvidu-getaroom-demo .
docker tag openvidu/openvidu-getaroom-demo:latest openvidu/openvidu-getaroom-demo:2.22.0
rm -rf ./openvidu-basic-node

View File

@ -2,7 +2,7 @@ version: '3.1'
services:
app:
image: openvidu/openvidu-getaroom-demo:2.18.0
image: openvidu/openvidu-getaroom-demo:2.22.0
restart: on-failure
network_mode: host
environment:

View File

@ -1,16 +0,0 @@
#!/bin/sh
[ ! -z "${OPENVIDU_URL}" ] && echo "OPENVIDU_URL: ${OPENVIDU_URL}" || echo "OPENVIDU_URL: default"
[ ! -z "${OPENVIDU_SECRET}" ] && echo "OPENVIDU_SECRET: ${OPENVIDU_SECRET}" || echo "OPENVIDU_SECRET: default"
sed -i "s|^var OPENVIDU_SERVER_URL =.*$|var OPENVIDU_SERVER_URL = \"${OPENVIDU_URL}\";|" /var/www/openvidu-getaroom/app.js
if [ ! -z "${OPENVIDU_SECRET}" ]; then
sed -i "s/^var OPENVIDU_SERVER_SECRET =.*$/var OPENVIDU_SERVER_SECRET = \"${OPENVIDU_SECRET}\";/" /var/www/openvidu-getaroom/app.js
fi
# Run nginx
nginx -g "daemon on;"
# Show logs
tail -f /var/log/nginx/*.log

View File

@ -1,6 +0,0 @@
server {
listen 5442;
server_name localhost;
root /var/www/openvidu-getaroom;
}

View File

@ -55,11 +55,15 @@ export class AppComponent implements OnDestroy {
private androidPermissions: AndroidPermissions,
private alertController: AlertController
) {
this.generateParticipantInfo();
// WARNING!! To make easier first steps with mobile devices, this code allows
// using the demos OpenVidu deployment when no custom deployment is provided
if (this.platform.is('hybrid') && this.APPLICATION_SERVER_URL === 'http://localhost:5000/') {
// To make easier first steps with mobile devices, use demos OpenVidu deployment when no custom deployment is provided
this.APPLICATION_SERVER_URL = 'https://demos.openvidu.io/';
}
}
@HostListener('window:beforeunload')

View File

@ -1,18 +1,15 @@
FROM nginx:1.19.2-alpine
FROM node:16-alpine3.16
RUN apk update && \
# apk add wget && \
rm -rf /var/cache/apk/*
# Copy openvidu-basic-node
COPY ./openvidu-basic-node /var/www/openvidu-basic-node
# Install openvidu-js-screen-share
COPY ./web /var/www/openvidu-js-screen-share
RUN chown -R nginx:nginx /var/www/openvidu-js-screen-share
# Install openvidu-basic-node dependencies
RUN npm --prefix /var/www/openvidu-basic-node install
# Nginx conf
COPY ./docker/openvidu-js-screen-share.conf /etc/nginx/conf.d/default.conf
# Copy static files to openvidu-basic-node
RUN mkdir -p /var/www/openvidu-basic-node/public
COPY ./web /var/www/openvidu-basic-node/public
# Entrypoint
COPY ./docker/entrypoint.sh /usr/local/bin
RUN chmod +x /usr/local/bin/entrypoint.sh
WORKDIR /var/www/openvidu-basic-node
CMD /usr/local/bin/entrypoint.sh
ENTRYPOINT [ "node", "index.js" ]

View File

@ -2,7 +2,11 @@
pushd ../
docker build -f docker/Dockerfile -t openvidu/openvidu-js-screen-share-demo .
docker tag openvidu/openvidu-js-screen-share-demo:latest openvidu/openvidu-js-screen-share-demo:2.20.0
cp -r ../openvidu-basic-node .
popd
trap 'rm -rf ./openvidu-basic-node' ERR
docker build --pull --no-cache --rm=true -f docker/Dockerfile -t openvidu/openvidu-js-screen-share-demo .
docker tag openvidu/openvidu-js-screen-share-demo:latest openvidu/openvidu-js-screen-share-demo:2.22.0
rm -rf ./openvidu-basic-node

View File

@ -6,4 +6,5 @@ services:
restart: on-failure
network_mode: host
environment:
- APPLICATION_URL=https://${DOMAIN_OR_PUBLIC_IP:-}:${HTTPS_PORT:-443}
- OPENVIDU_URL=https://${DOMAIN_OR_PUBLIC_IP:-}:${HTTPS_PORT:-443}
- OPENVIDU_SECRET=${OPENVIDU_SECRET}

View File

@ -1,16 +0,0 @@
#!/bin/sh
[ ! -z "${OPENVIDU_URL}" ] && echo "OPENVIDU_URL: ${OPENVIDU_URL}" || echo "OPENVIDU_URL: default"
[ ! -z "${OPENVIDU_SECRET}" ] && echo "OPENVIDU_SECRET: ${OPENVIDU_SECRET}" || echo "OPENVIDU_SECRET: default"
sed -i "s|^var OPENVIDU_SERVER_URL =.*$|var OPENVIDU_SERVER_URL = \"${OPENVIDU_URL}\";|" /var/www/openvidu-js-screen-share/app.js
if [ ! -z "${OPENVIDU_SECRET}" ]; then
sed -i "s/^var OPENVIDU_SERVER_SECRET =.*$/var OPENVIDU_SERVER_SECRET = \"${OPENVIDU_SECRET}\";/" /var/www/openvidu-js-screen-share/app.js
fi
# Run nginx
nginx -g "daemon on;"
# Show logs
tail -f /var/log/nginx/*.log

View File

@ -1,5 +0,0 @@
server {
listen 5442;
root /var/www/openvidu-js-screen-share;
}

View File

@ -1,22 +1,15 @@
FROM nginx:1.23.1-alpine
RUN apk update && \
apk add --update npm && \
rm -rf /var/cache/apk/*
# Install openvidu-js
COPY ./web /var/www/openvidu-js
RUN chown -R nginx:nginx /var/www/openvidu-js
FROM node:16-alpine3.16
# Copy openvidu-basic-node
COPY ./openvidu-basic-node /var/www/openvidu-basic-node
# Install openvidu-basic-node dependencies
RUN npm --prefix /var/www/openvidu-basic-node install
# Nginx conf
COPY ./docker/openvidu-js.conf /etc/nginx/conf.d/default.conf
# Copy static files to openvidu-basic-node
RUN mkdir -p /var/www/openvidu-basic-node/public
COPY ./web /var/www/openvidu-basic-node/public
# Entrypoint
COPY ./docker/entrypoint.sh /usr/local/bin
RUN chmod +x /usr/local/bin/entrypoint.sh
WORKDIR /var/www/openvidu-basic-node
CMD /usr/local/bin/entrypoint.sh
ENTRYPOINT [ "node", "index.js" ]

View File

@ -6,7 +6,7 @@ cp -r ../openvidu-basic-node .
trap 'rm -rf ./openvidu-basic-node' ERR
docker build -f docker/Dockerfile -t openvidu/openvidu-js-demo .
docker build --pull --no-cache --rm=true -f docker/Dockerfile -t openvidu/openvidu-js-demo .
docker tag openvidu/openvidu-js-demo:latest openvidu/openvidu-js-demo:2.22.0
rm -rf ./openvidu-basic-node

View File

@ -6,4 +6,5 @@ services:
restart: on-failure
network_mode: host
environment:
- APPLICATION_URL=https://${DOMAIN_OR_PUBLIC_IP:-}:${HTTPS_PORT:-443}
- OPENVIDU_URL=https://${DOMAIN_OR_PUBLIC_IP:-}:${HTTPS_PORT:-443}
- OPENVIDU_SECRET=${OPENVIDU_SECRET}

View File

@ -1,21 +0,0 @@
#!/bin/sh
[ ! -z "${OPENVIDU_URL}" ] && echo "OPENVIDU_URL: ${OPENVIDU_URL}" || echo "OPENVIDU_URL: default"
[ ! -z "${OPENVIDU_SECRET}" ] && echo "OPENVIDU_SECRET: ${OPENVIDU_SECRET}" || echo "OPENVIDU_SECRET: default"
if [ ! -z "${OPENVIDU_SECRET}" ]; then
sed -i "s|^OPENVIDU_URL=.*$|OPENVIDU_URL=${OPENVIDU_URL}|" /var/www/openvidu-basic-node/.env
fi
if [ ! -z "${OPENVIDU_SECRET}" ]; then
sed -i "s/^OPENVIDU_SECRET=.*$/OPENVIDU_SECRET=${OPENVIDU_SECRET}/" /var/www/openvidu-basic-node/.env
fi
# Run openvidu-basic-node
CONFIG=/var/www/openvidu-basic-node/.env node /var/www/openvidu-basic-node/index.js > /var/log/nginx/openvidu-basic-node.log &
# Run nginx
nginx -g "daemon on;"
# Show logs
tail -f /var/log/nginx/*.log

View File

@ -1,5 +0,0 @@
server {
listen 5442;
root /var/www/openvidu-js;
}