Update new docker build of demos structure
This commit is contained in:
parent
f002113eb8
commit
98b3eb8728
@ -1,15 +1,71 @@
|
||||
#!/bin/bash
|
||||
set -eu -o pipefail
|
||||
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "No version argument provided. Usage: \"./create_images.sh 2.17.0\""
|
||||
echo "No version argument provided. Usage: \"./create_images.sh X.Y.Z\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for folder in */ ; do
|
||||
echo
|
||||
echo "Building image of $folder"
|
||||
echo
|
||||
cd "$folder" || exit
|
||||
./create_image.sh $1
|
||||
cd ..
|
||||
done
|
||||
pushd ..
|
||||
|
||||
# =======================
|
||||
# Building tutorials
|
||||
# =======================
|
||||
|
||||
# Build openvidu-js-screenshare
|
||||
pushd openvidu-js-screen-share/docker || exit 1
|
||||
./create_image.sh "$1"
|
||||
popd || exit 1
|
||||
|
||||
# Build openvidu-js-screenshare
|
||||
pushd openvidu-js/docker || exit 1
|
||||
./create_image.sh "$1"
|
||||
popd || exit 1
|
||||
|
||||
# Build openvidu-js-screenshare
|
||||
pushd openvidu-roles-java/docker || exit 1
|
||||
./create_image.sh "$1"
|
||||
popd || exit 1
|
||||
|
||||
# Build openvidu-js-screenshare
|
||||
pushd openvidu-getaroom/docker || exit 1
|
||||
./create_image.sh "$1"
|
||||
popd || exit 1
|
||||
|
||||
# Build openvidu-js-screenshare
|
||||
pushd ../classroom-demo/docker || exit 1
|
||||
./create_image.sh "$1"
|
||||
popd || exit 1
|
||||
|
||||
# =======================
|
||||
# Building Basic application servers
|
||||
# =======================
|
||||
pushd openvidu-basic-node/docker || exit 1
|
||||
./create_image.sh "$1"
|
||||
popd || exit 1
|
||||
|
||||
popd || exit 1
|
||||
|
||||
# =======================
|
||||
# Building Demos Proxy
|
||||
# =======================
|
||||
pushd openvidu-demo-proxy || exit 1
|
||||
./create_image.sh "$1"
|
||||
popd || exit 1
|
||||
|
||||
# Retag images for demos
|
||||
docker tag openvidu/openvidu-js:"$1" openvidu/openvidu-js-demo:"$1"
|
||||
docker rmi openvidu/openvidu-js:"$1"
|
||||
|
||||
docker tag openvidu/openvidu-js-screen-share:"$1" openvidu/openvidu-js-screen-share-demo:"$1"
|
||||
docker rmi openvidu/openvidu-js-screen-share:"$1"
|
||||
|
||||
docker tag openvidu/openvidu-roles-java:"$1" openvidu/openvidu-roles-java-demo:"$1"
|
||||
docker rmi openvidu/openvidu-roles-java:"$1"
|
||||
|
||||
docker tag openvidu/openvidu-getaroom:"$1" openvidu/openvidu-getaroom-demo:"$1"
|
||||
docker rmi openvidu/openvidu-getaroom:"$1"
|
||||
|
||||
docker tag openvidu/openvidu-basic-node:"$1" openvidu/openvidu-basic-node-demo:"$1"
|
||||
docker rmi openvidu/openvidu-basic-node:"$1"
|
||||
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
FROM nginx:1.21.3-alpine
|
||||
|
||||
ARG OPENVIDU_TUTORIALS_VERSION
|
||||
|
||||
RUN apk update && \
|
||||
apk add wget && \
|
||||
rm -rf /var/cache/apk/*
|
||||
|
||||
# Install basic-videoconference
|
||||
RUN mkdir -p /var/www/openvidu-basic-screenshare && \
|
||||
wget -L -O /tmp/openvidu-tutorials.tar.gz \
|
||||
"https://github.com/OpenVidu/openvidu-tutorials/archive/v${OPENVIDU_TUTORIALS_VERSION}.tar.gz" && \
|
||||
tar zxf /tmp/openvidu-tutorials.tar.gz -C /tmp && \
|
||||
rm /tmp/openvidu-tutorials.tar.gz && \
|
||||
cp -r /tmp/openvidu-tutorials*/openvidu-js-screen-share/web/* /var/www/openvidu-basic-screenshare && \
|
||||
rm -r /tmp/openvidu-tutorials* && \
|
||||
chown -R nginx:nginx /var/www/openvidu-basic-screenshare
|
||||
|
||||
# Nginx conf
|
||||
COPY ./openvidu-basic-screenshare.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
# Entrypoint
|
||||
COPY ./entrypoint.sh /usr/local/bin
|
||||
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||
|
||||
CMD /usr/local/bin/entrypoint.sh
|
||||
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
docker build --pull --no-cache --rm=true --build-arg OPENVIDU_TUTORIALS_VERSION="$1" -t openvidu/openvidu-basic-screenshare .
|
||||
docker tag openvidu/openvidu-basic-screenshare:latest openvidu/openvidu-basic-screenshare:$1
|
||||
@ -1,18 +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_URL}" ]; then
|
||||
sed -i "s/^var OPENVIDU_SERVER_URL =.*$/var OPENVIDU_SERVER_URL = \"$(echo "${OPENVIDU_URL}" | sed 's#/#\\/#g')\";/" /var/www/openvidu-basic-screenshare/app.js
|
||||
fi
|
||||
|
||||
if [ ! -z "${OPENVIDU_SECRET}" ]; then
|
||||
sed -i "s/^var OPENVIDU_SERVER_SECRET =.*$/var OPENVIDU_SERVER_SECRET = \"${OPENVIDU_SECRET}\";/" /var/www/openvidu-basic-screenshare/app.js
|
||||
fi
|
||||
|
||||
# Run nginx
|
||||
nginx -g "daemon on;"
|
||||
|
||||
# Show logs
|
||||
tail -f /var/log/nginx/*.log
|
||||
@ -1,6 +0,0 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name localhost;
|
||||
|
||||
root /var/www/openvidu-basic-screenshare;
|
||||
}
|
||||
@ -1,26 +0,0 @@
|
||||
FROM nginx:1.21.3-alpine
|
||||
|
||||
ARG OPENVIDU_TUTORIALS_VERSION
|
||||
|
||||
RUN apk update && \
|
||||
apk add wget && \
|
||||
rm -rf /var/cache/apk/*
|
||||
|
||||
# Install basic-videoconference
|
||||
RUN mkdir -p /var/www/openvidu-basic-videoconference && \
|
||||
wget -L -O /tmp/openvidu-tutorials.tar.gz \
|
||||
"https://github.com/OpenVidu/openvidu-tutorials/archive/v${OPENVIDU_TUTORIALS_VERSION}.tar.gz" && \
|
||||
tar zxf /tmp/openvidu-tutorials.tar.gz -C /tmp && \
|
||||
rm /tmp/openvidu-tutorials.tar.gz && \
|
||||
cp -r /tmp/openvidu-tutorials*/openvidu-js/web/* /var/www/openvidu-basic-videoconference && \
|
||||
rm -r /tmp/openvidu-tutorials* && \
|
||||
chown -R nginx:nginx /var/www/openvidu-basic-videoconference
|
||||
|
||||
# Nginx conf
|
||||
COPY ./openvidu-basic-videoconference.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
# Entrypoint
|
||||
COPY ./entrypoint.sh /usr/local/bin
|
||||
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||
|
||||
CMD /usr/local/bin/entrypoint.sh
|
||||
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
docker build --pull --no-cache --rm=true --build-arg OPENVIDU_TUTORIALS_VERSION="$1" -t openvidu/openvidu-basic-videoconference .
|
||||
docker tag openvidu/openvidu-basic-videoconference:latest openvidu/openvidu-basic-videoconference:$1
|
||||
@ -1,18 +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_URL}" ]; then
|
||||
sed -i "s/^var OPENVIDU_SERVER_URL =.*$/var OPENVIDU_SERVER_URL = \"$(echo "${OPENVIDU_URL}" | sed 's#/#\\/#g')\";/" /var/www/openvidu-basic-videoconference/app.js
|
||||
fi
|
||||
|
||||
if [ ! -z "${OPENVIDU_SECRET}" ]; then
|
||||
sed -i "s/^var OPENVIDU_SERVER_SECRET =.*$/var OPENVIDU_SERVER_SECRET = \"${OPENVIDU_SECRET}\";/" /var/www/openvidu-basic-videoconference/app.js
|
||||
fi
|
||||
|
||||
# Run nginx
|
||||
nginx -g "daemon on;"
|
||||
|
||||
# Show logs
|
||||
tail -f /var/log/nginx/*.log
|
||||
@ -1,6 +0,0 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name localhost;
|
||||
|
||||
root /var/www/openvidu-basic-videoconference;
|
||||
}
|
||||
@ -1,19 +0,0 @@
|
||||
FROM alpine:3.13
|
||||
|
||||
ARG OPENVIDU_TUTORIALS_VERSION
|
||||
|
||||
RUN apk update && \
|
||||
apk add wget && \
|
||||
apk add openjdk8-jre && \
|
||||
rm -rf /var/cache/apk/*
|
||||
|
||||
# Install basic-videoconference
|
||||
RUN mkdir -p /opt/openvidu-basic-webinar && \
|
||||
wget -L -O /opt/openvidu-roles-java.jar \
|
||||
"https://github.com/OpenVidu/openvidu-tutorials/releases/download/v${OPENVIDU_TUTORIALS_VERSION}/openvidu-roles-java-${OPENVIDU_TUTORIALS_VERSION}.jar"
|
||||
|
||||
# Entrypoint
|
||||
COPY ./entrypoint.sh /usr/local/bin
|
||||
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||
|
||||
CMD /usr/local/bin/entrypoint.sh
|
||||
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
docker build --pull --no-cache --rm=true --build-arg OPENVIDU_TUTORIALS_VERSION="$1" -t openvidu/openvidu-basic-webinar .
|
||||
docker tag openvidu/openvidu-basic-webinar:latest openvidu/openvidu-basic-webinar:$1
|
||||
@ -1,13 +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"
|
||||
[ ! -z "${APP_PORT}" ] && echo "APP_PORT: ${APP_PORT}" || echo "APP_PORT: default"
|
||||
|
||||
# Run Application
|
||||
JAVA_PROPERTIES="-Djava.security.egd=file:/dev/./urandom"
|
||||
[ ! -z "${OPENVIDU_URL}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dopenvidu.url=${OPENVIDU_URL}"
|
||||
[ ! -z "${OPENVIDU_SECRET}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dopenvidu.secret=${OPENVIDU_SECRET}"
|
||||
[ ! -z "${APP_PORT}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dserver.port=${APP_PORT}"
|
||||
|
||||
java ${JAVA_PROPERTIES} -jar /opt/openvidu-roles-java.jar
|
||||
@ -1,20 +0,0 @@
|
||||
FROM alpine:3.13
|
||||
|
||||
ARG OPENVIDU_TUTORIALS_VERSION
|
||||
|
||||
RUN apk update && \
|
||||
apk add wget && \
|
||||
apk add openjdk8-jre && \
|
||||
apk add mysql mysql-client && \
|
||||
rm -rf /var/cache/apk/*
|
||||
|
||||
# Install basic-videoconference
|
||||
RUN mkdir -p /opt/openvidu-basic-webinar && \
|
||||
wget -L -O /opt/classroom-demo.jar \
|
||||
"https://github.com/OpenVidu/classroom-demo/releases/download/v${OPENVIDU_TUTORIALS_VERSION}/classroom-demo-${OPENVIDU_TUTORIALS_VERSION}.war"
|
||||
|
||||
# Entrypoint
|
||||
COPY ./entrypoint.sh /usr/local/bin
|
||||
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||
|
||||
CMD /usr/local/bin/entrypoint.sh
|
||||
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
docker build --pull --no-cache --rm=true --build-arg OPENVIDU_TUTORIALS_VERSION="$1" -t openvidu/openvidu-classroom .
|
||||
docker tag openvidu/openvidu-classroom:latest openvidu/openvidu-classroom:$1
|
||||
@ -1,63 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
if [ -z "${MYSQL_ROOT_PASSWORD}" ]; then
|
||||
MYSQL_ROOT_PASSWORD=$(cat < /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 32 | head -n 1)
|
||||
export MYSQL_ROOT_PASSWORD
|
||||
fi
|
||||
|
||||
if [ -z "${MYSQL_DATABASE}" ]; then
|
||||
MYSQL_DATABASE=openvidu_sample_app
|
||||
export MYSQL_DATABASE
|
||||
fi
|
||||
|
||||
echo "MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}"
|
||||
echo "MYSQL_DATABASE: ${MYSQL_DATABASE}"
|
||||
[ ! -z "${OPENVIDU_URL}" ] && echo "OPENVIDU_URL: ${OPENVIDU_URL}" || echo "OPENVIDU_URL: default"
|
||||
[ ! -z "${OPENVIDU_SECRET}" ] && echo "OPENVIDU_SECRET: ${OPENVIDU_SECRET}" || echo "OPENVIDU_SECRET: default"
|
||||
[ ! -z "${APP_PORT}" ] && echo "APP_PORT: ${APP_PORT}" || echo "APP_PORT: default"
|
||||
|
||||
# Configure MySQL
|
||||
|
||||
if [ -d "/run/mysqld" ]; then
|
||||
echo "mysqld already present, skipping creation"
|
||||
chown -R mysql:mysql /run/mysqld
|
||||
else
|
||||
echo "mysqld not found, creating...."
|
||||
mkdir -p /run/mysqld
|
||||
chown -R mysql:mysql /run/mysqld
|
||||
fi
|
||||
|
||||
if [ -d /var/lib/mysql/mysql ]; then
|
||||
echo "MySQL directory already present, skipping creation"
|
||||
chown -R mysql:mysql /var/lib/mysql
|
||||
else
|
||||
tfile=$(mktemp)
|
||||
|
||||
mysql_install_db --user=mysql --ldata=/var/lib/mysql > /dev/null
|
||||
|
||||
cat << EOF > "$tfile"
|
||||
USE mysql;
|
||||
FLUSH PRIVILEGES ;
|
||||
GRANT ALL ON *.* TO 'root'@'%' identified by '$MYSQL_ROOT_PASSWORD' WITH GRANT OPTION ;
|
||||
GRANT ALL ON *.* TO 'root'@'localhost' identified by '$MYSQL_ROOT_PASSWORD' WITH GRANT OPTION ;
|
||||
SET PASSWORD FOR 'root'@'localhost'=PASSWORD('${MYSQL_ROOT_PASSWORD}') ;
|
||||
DROP DATABASE IF EXISTS test ;
|
||||
FLUSH PRIVILEGES ;
|
||||
CREATE DATABASE IF NOT EXISTS ${MYSQL_DATABASE} CHARACTER SET utf8 COLLATE utf8_general_ci;
|
||||
EOF
|
||||
|
||||
/usr/bin/mysqld --user=mysql --bootstrap --verbose=0 --skip-name-resolve --skip-networking=0 < "$tfile"
|
||||
rm -f "$tfile"
|
||||
fi
|
||||
|
||||
/usr/bin/mysqld --user=mysql --skip-name-resolve --skip-networking=0 &
|
||||
|
||||
# Run Application
|
||||
JAVA_PROPERTIES="-Djava.security.egd=file:/dev/./urandom"
|
||||
JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dspring.datasource.password=${MYSQL_ROOT_PASSWORD}"
|
||||
JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dspring.datasource.url=jdbc:mysql://127.0.0.1:3306/${MYSQL_DATABASE}"
|
||||
[ ! -z "${OPENVIDU_URL}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dopenvidu.url=${OPENVIDU_URL}"
|
||||
[ ! -z "${OPENVIDU_SECRET}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dopenvidu.secret=${OPENVIDU_SECRET}"
|
||||
[ ! -z "${APP_PORT}" ] && JAVA_PROPERTIES=" ${JAVA_PROPERTIES} -Dserver.port=${APP_PORT}"
|
||||
|
||||
java ${JAVA_PROPERTIES} -jar /opt/classroom-demo.jar
|
||||
@ -30,27 +30,27 @@ server {
|
||||
|
||||
location /basic-videoconference {
|
||||
rewrite /basic-videoconference(.*) /$1 break;
|
||||
proxy_pass url_ov_basic_videoconference;
|
||||
proxy_pass url_ov_js_demo;
|
||||
}
|
||||
|
||||
location /basic-screenshare {
|
||||
rewrite /basic-screenshare(.*) /$1 break;
|
||||
proxy_pass url_ov_basic_screenshare;
|
||||
proxy_pass url_ov_js_screenshare_demo;
|
||||
}
|
||||
|
||||
location /basic-webinar {
|
||||
rewrite /basic-webinar(.*) /$1 break;
|
||||
proxy_pass url_ov_basic_webinar;
|
||||
proxy_pass url_ov_roles_java_demo;
|
||||
}
|
||||
|
||||
location /getaroom {
|
||||
rewrite /getaroom(.*) /$1 break;
|
||||
proxy_pass url_ov_getaroom;
|
||||
proxy_pass url_ov_getaroom_demo;
|
||||
}
|
||||
|
||||
location /classroom {
|
||||
rewrite /classroom(.*) $1 break;
|
||||
proxy_pass url_ov_classroom;
|
||||
proxy_pass url_ov_classroom_demo;
|
||||
}
|
||||
|
||||
location /openvidu-call {
|
||||
|
||||
@ -1,3 +1,7 @@
|
||||
#!/bin/bash
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "No version argument provided. Usage: \"./create_images.sh X.Y.Z\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
docker build --pull --no-cache --rm=true -t openvidu/openvidu-demo-proxy .
|
||||
docker build --pull --no-cache --rm=true -t openvidu/openvidu-demo-proxy:"$1" .
|
||||
@ -2,20 +2,20 @@
|
||||
|
||||
# Show input enviroment variables
|
||||
echo "Application server: ${URL_APPLICATION_SERVER}"
|
||||
echo "openvidu-basic-videoconference: ${URL_OV_BASIC_VIDEOCONFERENCE}"
|
||||
echo "openvidu-basic-screenshare: ${URL_OV_BASIC_SCREENSHARE}"
|
||||
echo "openvidu-basic-webinar: ${URL_OV_BASIC_WEBINAR}"
|
||||
echo "openvidu-classroom: ${URL_OV_CLASSROOM}"
|
||||
echo "openvidu-getaroom: ${URL_OV_GETAROOM}"
|
||||
echo "openvidu-basic-videoconference: ${URL_OV_JS_DEMO}"
|
||||
echo "openvidu-basic-screenshare: ${URL_OV_JS_SCREENSHARE_DEMO}"
|
||||
echo "openvidu-basic-webinar: ${URL_OV_ROLES_JAVA_DEMO}"
|
||||
echo "openvidu-classroom: ${URL_OV_CLASSROOM_DEMO}"
|
||||
echo "openvidu-getaroom: ${URL_OV_GETAROOM_DEMO}"
|
||||
echo "openvidu-call: ${URL_OV_CALL}"
|
||||
|
||||
# Load nginx conf files
|
||||
sed -i "s|url_application_server|${URL_APPLICATION_SERVER}|" /etc/nginx/conf.d/default.conf
|
||||
sed -i "s|url_ov_basic_videoconference|${URL_OV_BASIC_VIDEOCONFERENCE}|" /etc/nginx/conf.d/default.conf
|
||||
sed -i "s|url_ov_basic_screenshare|${URL_OV_BASIC_SCREENSHARE}|" /etc/nginx/conf.d/default.conf
|
||||
sed -i "s|url_ov_basic_webinar|${URL_OV_BASIC_WEBINAR}|" /etc/nginx/conf.d/default.conf
|
||||
sed -i "s|url_ov_classroom|${URL_OV_CLASSROOM}|" /etc/nginx/conf.d/default.conf
|
||||
sed -i "s|url_ov_getaroom|${URL_OV_GETAROOM}|" /etc/nginx/conf.d/default.conf
|
||||
sed -i "s|url_ov_js_demo|${URL_OV_JS_DEMO}|" /etc/nginx/conf.d/default.conf
|
||||
sed -i "s|url_ov_js_screenshare_demo|${URL_OV_JS_SCREENSHARE_DEMO}|" /etc/nginx/conf.d/default.conf
|
||||
sed -i "s|url_ov_roles_java_demo|${URL_OV_ROLES_JAVA_DEMO}|" /etc/nginx/conf.d/default.conf
|
||||
sed -i "s|url_ov_classroom_demo|${URL_OV_CLASSROOM_DEMO}|" /etc/nginx/conf.d/default.conf
|
||||
sed -i "s|url_ov_getaroom_demo|${URL_OV_GETAROOM_DEMO}|" /etc/nginx/conf.d/default.conf
|
||||
sed -i "s|url_ov_call|${URL_OV_CALL}|" /etc/nginx/conf.d/default.conf
|
||||
|
||||
cat > /tmp/redirect_index_to_domain.tpl <<EOL
|
||||
|
||||
@ -2,36 +2,36 @@ version: '3.1'
|
||||
|
||||
services:
|
||||
|
||||
openvidu-basic-videoconference:
|
||||
image: openvidu/openvidu-basic-videoconference:2.22.0
|
||||
openvidu-js-screen-share-demo:
|
||||
image: openvidu/openvidu-js-screen-share-demo:2.22.0
|
||||
restart: on-failure
|
||||
environment:
|
||||
- OPENVIDU_URL=https://${DOMAIN_OR_PUBLIC_IP:-}:${HTTPS_PORT:-443}
|
||||
- OPENVIDU_SECRET=${OPENVIDU_SECRET:-}
|
||||
|
||||
openvidu-basic-screenshare:
|
||||
image: openvidu/openvidu-basic-screenshare:2.22.0
|
||||
openvidu-js-demo:
|
||||
image: openvidu/openvidu-js-demo:2.22.0
|
||||
restart: on-failure
|
||||
environment:
|
||||
- OPENVIDU_URL=https://${DOMAIN_OR_PUBLIC_IP:-}:${HTTPS_PORT:-443}
|
||||
- OPENVIDU_SECRET=${OPENVIDU_SECRET:-}
|
||||
|
||||
openvidu-basic-webinar:
|
||||
image: openvidu/openvidu-basic-webinar:2.22.0
|
||||
openvidu-roles-java-demo:
|
||||
image: openvidu/openvidu-roles-java-demo:2.22.0
|
||||
restart: on-failure
|
||||
environment:
|
||||
- OPENVIDU_URL=https://${DOMAIN_OR_PUBLIC_IP:-}:${HTTPS_PORT:-443}
|
||||
- OPENVIDU_SECRET=${OPENVIDU_SECRET:-}
|
||||
|
||||
openvidu-classroom:
|
||||
image: openvidu/openvidu-classroom:2.22.0
|
||||
openvidu-classroom-demo:
|
||||
image: openvidu/openvidu-classroom-demo:2.22.0
|
||||
restart: on-failure
|
||||
environment:
|
||||
- OPENVIDU_URL=https://${DOMAIN_OR_PUBLIC_IP:-}:${HTTPS_PORT:-443}
|
||||
- OPENVIDU_SECRET=${OPENVIDU_SECRET:-}
|
||||
|
||||
openvidu-getaroom:
|
||||
image: openvidu/openvidu-getaroom:2.22.0
|
||||
openvidu-getaroom-demo:
|
||||
image: openvidu/openvidu-getaroom-demo:2.22.0
|
||||
restart: on-failure
|
||||
environment:
|
||||
- OPENVIDU_URL=https://${DOMAIN_OR_PUBLIC_IP:-}:${HTTPS_PORT:-443}
|
||||
@ -45,16 +45,24 @@ services:
|
||||
- OPENVIDU_SECRET=${OPENVIDU_SECRET:-}
|
||||
- CALL_OPENVIDU_CERTTYPE=${CERTIFICATE_TYPE}
|
||||
|
||||
openvidu-basic-node-demo:
|
||||
image: openvidu/openvidu-basic-node-demo:2.22.0
|
||||
restart: on-failure
|
||||
environment:
|
||||
- OPENVIDU_URL=https://${DOMAIN_OR_PUBLIC_IP:-}:${HTTPS_PORT:-443}
|
||||
- OPENVIDU_SECRET=${OPENVIDU_SECRET:-}
|
||||
|
||||
demos-page:
|
||||
image: openvidu/openvidu-demo-proxy:2.22.0
|
||||
restart: on-failure
|
||||
ports:
|
||||
- "5442:80"
|
||||
environment:
|
||||
- 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:5000
|
||||
- URL_OV_JS_DEMO=http://openvidu-js-demo:5000
|
||||
- URL_OV_JS_SCREENSHARE_DEMO=http://openvidu-js-screen-share-demo:5000
|
||||
- URL_OV_ROLES_JAVA_DEMO=https://openvidu-roles-java-demo:5000
|
||||
- URL_OV_CLASSROOM_DEMO=https://openvidu-classroom-demo:5000
|
||||
- URL_OV_GETAROOM_DEMO=http://openvidu-getaroom-demo:5000
|
||||
- URL_OV_CALL=http://openvidu-call:5000
|
||||
- URL_APPLICATION_SERVER=http://openvidu-basic-node-demo:5000
|
||||
- REDIRECT_INDEX_TO_DOMAIN=${REDIRECT_INDEX_TO_DOMAIN:-}
|
||||
|
||||
@ -1,26 +0,0 @@
|
||||
FROM nginx:1.21.3-alpine
|
||||
|
||||
ARG OPENVIDU_TUTORIALS_VERSION
|
||||
|
||||
RUN apk update && \
|
||||
apk add wget && \
|
||||
rm -rf /var/cache/apk/*
|
||||
|
||||
# Install basic-videoconference
|
||||
RUN mkdir -p /var/www/openvidu-getaroom && \
|
||||
wget -L -O /tmp/openvidu-tutorials.tar.gz \
|
||||
"https://github.com/OpenVidu/openvidu-tutorials/archive/v${OPENVIDU_TUTORIALS_VERSION}.tar.gz" && \
|
||||
tar zxf /tmp/openvidu-tutorials.tar.gz -C /tmp && \
|
||||
rm /tmp/openvidu-tutorials.tar.gz && \
|
||||
cp -r /tmp/openvidu-tutorials*/openvidu-getaroom/web/* /var/www/openvidu-getaroom && \
|
||||
rm -r /tmp/openvidu-tutorials* && \
|
||||
chown -R nginx:nginx /var/www/openvidu-getaroom
|
||||
|
||||
# Nginx conf
|
||||
COPY ./openvidu-getaroom.conf /etc/nginx/conf.d/default.conf
|
||||
|
||||
# Entrypoint
|
||||
COPY ./entrypoint.sh /usr/local/bin
|
||||
RUN chmod +x /usr/local/bin/entrypoint.sh
|
||||
|
||||
CMD /usr/local/bin/entrypoint.sh
|
||||
@ -1,4 +0,0 @@
|
||||
#!/bin/bash
|
||||
|
||||
docker build --pull --no-cache --rm=true --build-arg OPENVIDU_TUTORIALS_VERSION="$1" -t openvidu/openvidu-getaroom .
|
||||
docker tag openvidu/openvidu-getaroom:latest openvidu/openvidu-getaroom:$1
|
||||
@ -1,18 +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_URL}" ]; then
|
||||
sed -i "s/^var OPENVIDU_SERVER_URL =.*$/var OPENVIDU_SERVER_URL = \"$(echo "${OPENVIDU_URL}" | sed 's#/#\\/#g')\";/" /var/www/openvidu-getaroom/app.js
|
||||
fi
|
||||
|
||||
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
|
||||
@ -1,6 +0,0 @@
|
||||
server {
|
||||
listen 80;
|
||||
server_name localhost;
|
||||
|
||||
root /var/www/openvidu-getaroom;
|
||||
}
|
||||
@ -5,13 +5,11 @@ if [ $# -eq 0 ]; then
|
||||
exit 1
|
||||
fi
|
||||
|
||||
for folder in */ ; do
|
||||
folder=${folder%/}
|
||||
echo
|
||||
echo "Pushing image openvidu/$folder:$1"
|
||||
echo
|
||||
cd "$folder" || exit
|
||||
docker push openvidu/$folder:$1
|
||||
docker push openvidu/$folder:latest
|
||||
cd ..
|
||||
done
|
||||
# Push images
|
||||
docker push openvidu/openvidu-js-demo:"$1"
|
||||
docker push openvidu/openvidu-js-screen-share-demo:"$1"
|
||||
docker push openvidu/openvidu-roles-java-demo:"$1"
|
||||
docker push openvidu/openvidu-classroom-demo:"$1"
|
||||
docker push openvidu/openvidu-getaroom-demo:"$1"
|
||||
docker push openvidu/openvidu-basic-node-demo:"$1"
|
||||
docker push openvidu/openvidu-demo-proxy:"$1"
|
||||
1
openvidu-basic-node/.dockerignore
Normal file
1
openvidu-basic-node/.dockerignore
Normal file
@ -0,0 +1 @@
|
||||
docker/
|
||||
11
openvidu-basic-node/docker/Dockerfile
Normal file
11
openvidu-basic-node/docker/Dockerfile
Normal file
@ -0,0 +1,11 @@
|
||||
FROM node:16-alpine3.16
|
||||
|
||||
# Copy openvidu-basic-node
|
||||
COPY . /opt/openvidu-basic-node
|
||||
|
||||
# Install openvidu-basic-node dependencies
|
||||
RUN npm --prefix /opt/openvidu-basic-node install
|
||||
|
||||
WORKDIR /opt/openvidu-basic-node
|
||||
|
||||
ENTRYPOINT [ "node", "index.js" ]
|
||||
9
openvidu-basic-node/docker/create_image.sh
Executable file
9
openvidu-basic-node/docker/create_image.sh
Executable file
@ -0,0 +1,9 @@
|
||||
#!/bin/bash
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "No version argument provided. Usage: \"./create_image.sh X.Y.Z\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pushd ../
|
||||
|
||||
docker build --pull --no-cache --rm=true -f docker/Dockerfile -t openvidu/openvidu-basic-node:"$1" .
|
||||
@ -1,15 +1,15 @@
|
||||
FROM node:16-alpine3.16
|
||||
|
||||
# Copy openvidu-basic-node
|
||||
COPY ./openvidu-basic-node /var/www/openvidu-basic-node
|
||||
COPY ./openvidu-basic-node /opt/openvidu-basic-node
|
||||
|
||||
# Install openvidu-basic-node dependencies
|
||||
RUN npm --prefix /var/www/openvidu-basic-node install
|
||||
RUN npm --prefix /opt/openvidu-basic-node install
|
||||
|
||||
# Copy static files to openvidu-basic-node
|
||||
RUN mkdir -p /var/www/openvidu-basic-node/public
|
||||
COPY ./web /var/www/openvidu-basic-node/public
|
||||
RUN mkdir -p /opt/openvidu-basic-node/public
|
||||
COPY ./web /opt/openvidu-basic-node/public
|
||||
|
||||
WORKDIR /var/www/openvidu-basic-node
|
||||
WORKDIR /opt/openvidu-basic-node
|
||||
|
||||
ENTRYPOINT [ "node", "index.js" ]
|
||||
@ -1,4 +1,8 @@
|
||||
#!/bin/bash
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "No version argument provided. Usage: \"./create_image.sh X.Y.Z\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pushd ../
|
||||
|
||||
@ -6,7 +10,6 @@ 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
|
||||
docker build --pull --no-cache --rm=true -f docker/Dockerfile -t openvidu/openvidu-getaroom:"${1}" .
|
||||
|
||||
rm -rf ./openvidu-basic-node
|
||||
@ -1,15 +1,15 @@
|
||||
FROM node:16-alpine3.16
|
||||
|
||||
# Copy openvidu-basic-node
|
||||
COPY ./openvidu-basic-node /var/www/openvidu-basic-node
|
||||
COPY ./openvidu-basic-node /opt/openvidu-basic-node
|
||||
|
||||
# Install openvidu-basic-node dependencies
|
||||
RUN npm --prefix /var/www/openvidu-basic-node install
|
||||
RUN npm --prefix /opt/openvidu-basic-node install
|
||||
|
||||
# Copy static files to openvidu-basic-node
|
||||
RUN mkdir -p /var/www/openvidu-basic-node/public
|
||||
COPY ./web /var/www/openvidu-basic-node/public
|
||||
RUN mkdir -p /opt/openvidu-basic-node/public
|
||||
COPY ./web /opt/openvidu-basic-node/public
|
||||
|
||||
WORKDIR /var/www/openvidu-basic-node
|
||||
WORKDIR /opt/openvidu-basic-node
|
||||
|
||||
ENTRYPOINT [ "node", "index.js" ]
|
||||
@ -1,4 +1,8 @@
|
||||
#!/bin/bash
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "No version argument provided. Usage: \"./create_image.sh X.Y.Z\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pushd ../
|
||||
|
||||
@ -6,7 +10,6 @@ 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-js-screen-share-demo .
|
||||
docker tag openvidu/openvidu-js-screen-share-demo:latest openvidu/openvidu-js-screen-share-demo:2.22.0
|
||||
docker build --pull --no-cache --rm=true -f docker/Dockerfile -t openvidu/openvidu-js-screen-share:"$1" .
|
||||
|
||||
rm -rf ./openvidu-basic-node
|
||||
@ -1,15 +1,15 @@
|
||||
FROM node:16-alpine3.16
|
||||
|
||||
# Copy openvidu-basic-node
|
||||
COPY ./openvidu-basic-node /var/www/openvidu-basic-node
|
||||
COPY ./openvidu-basic-node /opt/openvidu-basic-node
|
||||
|
||||
# Install openvidu-basic-node dependencies
|
||||
RUN npm --prefix /var/www/openvidu-basic-node install
|
||||
RUN npm --prefix /opt/openvidu-basic-node install
|
||||
|
||||
# Copy static files to openvidu-basic-node
|
||||
RUN mkdir -p /var/www/openvidu-basic-node/public
|
||||
COPY ./web /var/www/openvidu-basic-node/public
|
||||
RUN mkdir -p /opt/openvidu-basic-node/public
|
||||
COPY ./web /opt/openvidu-basic-node/public
|
||||
|
||||
WORKDIR /var/www/openvidu-basic-node
|
||||
WORKDIR /opt/openvidu-basic-node
|
||||
|
||||
ENTRYPOINT [ "node", "index.js" ]
|
||||
@ -1,4 +1,8 @@
|
||||
#!/bin/bash
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "No version argument provided. Usage: \"./create_image.sh X.Y.Z\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pushd ../
|
||||
|
||||
@ -6,7 +10,6 @@ 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-js-demo .
|
||||
docker tag openvidu/openvidu-js-demo:latest openvidu/openvidu-js-demo:2.22.0
|
||||
docker build --pull --no-cache --rm=true -f docker/Dockerfile -t openvidu/openvidu-js:"$1" .
|
||||
|
||||
rm -rf ./openvidu-basic-node
|
||||
@ -1,6 +1,8 @@
|
||||
#!/bin/bash
|
||||
if [ $# -eq 0 ]; then
|
||||
echo "No version argument provided. Usage: \"./create_image.sh X.Y.Z\""
|
||||
exit 1
|
||||
fi
|
||||
|
||||
pushd ../
|
||||
export SOFTWARE_VERSION=$(grep -oPm1 "(?<=<version>)[^<]+" "pom.xml")
|
||||
docker build -f docker/Dockerfile -t openvidu/openvidu-basic-webinar-demo .
|
||||
docker tag openvidu/openvidu-basic-webinar-demo:latest openvidu/openvidu-basic-webinar-demo:${SOFTWARE_VERSION}
|
||||
docker build -f docker/Dockerfile -t openvidu/openvidu-roles-java:"${1}" .
|
||||
Loading…
x
Reference in New Issue
Block a user