From c38ce3745961e57f69efad2ee8a1d55dacb16e8a Mon Sep 17 00:00:00 2001 From: Anton Georgiev Date: Tue, 12 Apr 2022 20:33:13 +0000 Subject: [PATCH 1/2] chore: drop labs/docker --- labs/docker/Makefile | 59 ---- labs/docker/README.md | 274 ------------------- labs/docker/coturn/Dockerfile | 14 - labs/docker/coturn/turnserver.conf.tmpl | 14 - labs/docker/docker-compose.yml | 183 ------------- labs/docker/freeswitch/Dockerfile | 24 -- labs/docker/freeswitch/docker-entrypoint.sh | 14 - labs/docker/freeswitch/event_socket_conf.xml | 10 - labs/docker/k8s/bbb-apps-akka.yaml | 45 --- labs/docker/k8s/bbb-coturn.yaml | 71 ----- labs/docker/k8s/bbb-freeswitch-nginx.yaml | 79 ------ labs/docker/k8s/bbb-freeswitch.yaml | 63 ----- labs/docker/k8s/bbb-fsesl-akka.yaml | 43 --- labs/docker/k8s/bbb-html5.yaml | 91 ------ labs/docker/k8s/bbb-kurento.yaml | 69 ----- labs/docker/k8s/bbb-web.yaml | 85 ------ labs/docker/k8s/bbb-webhooks.yaml | 85 ------ labs/docker/k8s/bbb-webrtc-sfu.yaml | 87 ------ labs/docker/k8s/bigbluebutton-ns.yaml | 4 - labs/docker/k8s/mongo.yaml | 55 ---- labs/docker/k8s/redis.yaml | 55 ---- labs/docker/kurento/Dockerfile | 41 --- labs/docker/kurento/docker-entrypoint.sh | 25 -- labs/docker/kurento/healthchecker.sh | 3 - labs/docker/nginx/Dockerfile | 14 - labs/docker/nginx/nginx.conf.tmpl | 66 ----- labs/docker/sbt/Dockerfile | 14 - 27 files changed, 1587 deletions(-) delete mode 100644 labs/docker/Makefile delete mode 100644 labs/docker/README.md delete mode 100644 labs/docker/coturn/Dockerfile delete mode 100644 labs/docker/coturn/turnserver.conf.tmpl delete mode 100644 labs/docker/docker-compose.yml delete mode 100644 labs/docker/freeswitch/Dockerfile delete mode 100755 labs/docker/freeswitch/docker-entrypoint.sh delete mode 100644 labs/docker/freeswitch/event_socket_conf.xml delete mode 100644 labs/docker/k8s/bbb-apps-akka.yaml delete mode 100644 labs/docker/k8s/bbb-coturn.yaml delete mode 100644 labs/docker/k8s/bbb-freeswitch-nginx.yaml delete mode 100644 labs/docker/k8s/bbb-freeswitch.yaml delete mode 100644 labs/docker/k8s/bbb-fsesl-akka.yaml delete mode 100644 labs/docker/k8s/bbb-html5.yaml delete mode 100644 labs/docker/k8s/bbb-kurento.yaml delete mode 100644 labs/docker/k8s/bbb-web.yaml delete mode 100644 labs/docker/k8s/bbb-webhooks.yaml delete mode 100644 labs/docker/k8s/bbb-webrtc-sfu.yaml delete mode 100644 labs/docker/k8s/bigbluebutton-ns.yaml delete mode 100644 labs/docker/k8s/mongo.yaml delete mode 100644 labs/docker/k8s/redis.yaml delete mode 100644 labs/docker/kurento/Dockerfile delete mode 100755 labs/docker/kurento/docker-entrypoint.sh delete mode 100755 labs/docker/kurento/healthchecker.sh delete mode 100644 labs/docker/nginx/Dockerfile delete mode 100644 labs/docker/nginx/nginx.conf.tmpl delete mode 100644 labs/docker/sbt/Dockerfile diff --git a/labs/docker/Makefile b/labs/docker/Makefile deleted file mode 100644 index 8193e70121..0000000000 --- a/labs/docker/Makefile +++ /dev/null @@ -1,59 +0,0 @@ -SHELL=/bin/bash - -# in order to build images for bigbluebutton/bigbluebutton-docker, run: -# IMAGE_ACCOUNT=bigbluebutton IMAGE_REPO=bigbluebutton-docker make release - -# build options -BUILD_REVISION=`git rev-parse --short HEAD` -BUILD_DIR_BASE=`git rev-parse --git-dir`/.. -BUILD_VERSION?= -BUILD_IMAGE=0 -IMAGE_ACCOUNT?= -IMAGE_REPO?= -IMAGE_TAG?=latest -TAG_REVISION?=0 - -all: release - -image: - -cd $(DIR) && docker build -t $(IMAGE_NAME):$(IMAGE_TAG) $(BUILD_ARGS) . - if [ "$(BUILD_IMAGE)" == "0" ]; then \ - if [ "$(IMAGE_ACCOUNT)" != "" ]; then \ - if [ "$(IMAGE_REPO)" != "" ]; then \ - docker tag $(IMAGE_NAME):$(IMAGE_TAG) $(IMAGE_ACCOUNT)/$(IMAGE_REPO):$(IMAGE_NAME); \ - docker tag $(IMAGE_NAME):$(IMAGE_TAG) $(IMAGE_ACCOUNT)/$(IMAGE_REPO):$(IMAGE_NAME)-$(IMAGE_TAG); \ - if [ "$(TAG_REVISION)" == "1" ]; then \ - docker tag $(IMAGE_NAME):$(IMAGE_TAG) $(IMAGE_ACCOUNT)/$(IMAGE_REPO):$(IMAGE_NAME)-$(BUILD_REVISION); \ - fi \ - fi \ - else \ - if [ "$(IMAGE_REPO)" != "" ]; then \ - docker tag $(IMAGE_NAME):$(IMAGE_TAG) $(IMAGE_REPO):$(IMAGE_NAME); \ - docker tag $(IMAGE_NAME):$(IMAGE_TAG) $(IMAGE_REPO):$(IMAGE_NAME)-$(IMAGE_TAG); \ - if [ "$(TAG_REVISION)" == "1" ]; then \ - docker tag $(IMAGE_NAME):$(IMAGE_TAG) $(IMAGE_REPO):$(IMAGE_NAME)-$(BUILD_REVISION); \ - fi \ - else \ - if [ "$(TAG_REVISION)" == "1" ]; then \ - docker tag $(IMAGE_NAME):$(IMAGE_TAG) $(IMAGE_NAME):$(BUILD_REVISION); \ - fi \ - fi \ - fi \ - fi - -release: - make image DIR=$(BUILD_DIR_BASE)/labs/docker/sbt IMAGE_NAME=sbt IMAGE_TAG=0.13.8 BUILD_IMAGE=1 - make image DIR=$(BUILD_DIR_BASE)/bbb-common-message IMAGE_NAME=bbb-common-message BUILD_ARGS="--build-arg COMMON_VERSION=0.0.1-SNAPSHOT" BUILD_IMAGE=1 - make image DIR=$(BUILD_DIR_BASE)/bbb-common-web IMAGE_NAME=bbb-common-web BUILD_ARGS="--build-arg COMMON_VERSION=0.0.1-SNAPSHOT" BUILD_IMAGE=1 - make image DIR=$(BUILD_DIR_BASE)/bbb-fsesl-client IMAGE_NAME=bbb-fsesl-client BUILD_ARGS="--build-arg COMMON_VERSION=0.0.1-SNAPSHOT" BUILD_IMAGE=1 - make image DIR=$(BUILD_DIR_BASE)/akka-bbb-apps IMAGE_NAME=bbb-apps-akka BUILD_ARGS="--build-arg COMMON_VERSION=0.0.1-SNAPSHOT" - make image DIR=$(BUILD_DIR_BASE)/akka-bbb-fsesl IMAGE_NAME=bbb-fsesl-akka BUILD_ARGS="--build-arg COMMON_VERSION=0.0.1-SNAPSHOT" - make image DIR=$(BUILD_DIR_BASE)/bigbluebutton-web IMAGE_NAME=bbb-web BUILD_ARGS="--build-arg COMMON_VERSION=0.0.1-SNAPSHOT" - make image DIR=$(BUILD_DIR_BASE)/bigbluebutton-html5 IMAGE_NAME=bbb-html5 - make image DIR=$(BUILD_DIR_BASE)/labs/bbb-webrtc-sfu IMAGE_NAME=bbb-webrtc-sfu - make image DIR=$(BUILD_DIR_BASE)/bbb-webhooks IMAGE_NAME=bbb-webhooks - make image DIR=$(BUILD_DIR_BASE)/labs/docker/kurento IMAGE_NAME=bbb-kurento - make image DIR=$(BUILD_DIR_BASE)/labs/docker/freeswitch IMAGE_NAME=bbb-freeswitch - make image DIR=$(BUILD_DIR_BASE)/labs/docker/nginx IMAGE_NAME=bbb-nginx - make image DIR=$(BUILD_DIR_BASE)/labs/docker/coturn IMAGE_NAME=bbb-coturn - make image DIR=$(BUILD_DIR_BASE)/bbb-lti IMAGE_NAME=bbb-lti diff --git a/labs/docker/README.md b/labs/docker/README.md deleted file mode 100644 index 654d2201a6..0000000000 --- a/labs/docker/README.md +++ /dev/null @@ -1,274 +0,0 @@ -IMPORTANT: this is a work in progress! - -# Purpose - -The purpose of this repo is to get BigBlueButton working in a multi-container Docker configuration over a single port, then to deploy and scale it using Kubernetes - -# Launching BBB via Docker - -## Prerequisites - -#### Ensure you have the latest version of Docker-CE by following the install steps - -Ubuntu: https://docs.docker.com/install/linux/docker-ce/ubuntu/ - -Fedora: https://docs.docker.com/install/linux/docker-ce/fedora/ - -#### Make sure to also do the post install steps - -https://docs.docker.com/install/linux/linux-postinstall/ - -#### Install docker-compose - -Ubuntu: -``` -sudo apt-get install docker-compose -``` - -Fedora: -``` -sudo dnf install docker-compose -``` - -## Build all docker images - -#### Build all docker images with one command -``` -cd labs/docker/ -make release -``` - -#### Verify that you have all the necessary images -``` -docker images -``` - -You should see: -* sbt -* bbb-common-message -* bbb-common-web -* bbb-fsesl-client -* bbb-apps-akka -* bbb-fsesl-akka -* bbb-web -* bbb-html5 -* bbb-webrtc-sfu -* bbb-webhooks -* bbb-kurento -* bbb-freeswitch -* bbb-nginx -* bbb-coturn -* bbb-lti - - -In the event that any of the above images are missing, you'll need to build them individually - -## Build images individually - -sbt is needed to build the Scala components -``` -cd labs/docker/sbt/ -docker build -t 'sbt:0.13.8' . -``` - -Build libraries -``` -cd bbb-common-message/ -docker build -t 'bbb-common-message' --build-arg COMMON_VERSION=0.0.1-SNAPSHOT . - -cd bbb-common-web/ -docker build -t 'bbb-common-web' --build-arg COMMON_VERSION=0.0.1-SNAPSHOT . - -cd bbb-fsesl-client/ -docker build -t 'bbb-fsesl-client' --build-arg COMMON_VERSION=0.0.1-SNAPSHOT . -``` - -Build akka components -``` -cd akka-bbb-apps/ -docker build -t bbb-apps-akka --build-arg COMMON_VERSION=0.0.1-SNAPSHOT . - -# Not needed since we're setting up HTML5 only -cd akka-bbb-transcode/ -docker build -t bbb-transcode --build-arg COMMON_VERSION=0.0.1-SNAPSHOT . - -cd akka-bbb-fsesl/ -docker build -t bbb-fsesl-akka --build-arg COMMON_VERSION=0.0.1-SNAPSHOT . -``` - -Build bbb-web -``` -cd bigbluebutton-web/ -docker build -t bbb-web --build-arg COMMON_VERSION=0.0.1-SNAPSHOT . -``` - -Build bbb-html5 -``` -cd bigbluebutton-html5/ -docker build -t bbb-html5 . -``` - -Build bbb-webrtc-sfu -``` -cd labs/bbb-webrtc-sfu/ -docker build -t bbb-webrtc-sfu . -``` - -Build bbb-webhooks -``` -cd bbb-webhooks/ -docker build -t bbb-webhooks . -``` - -Build Kurento Media Server -``` -cd labs/docker/kurento/ -docker build -t bbb-kurento . -``` - -Build FreeSWITCH -``` -cd labs/docker/freeswitch/ -docker build -t bbb-freeswitch . -``` - -Build nginx -``` -cd labs/docker/nginx/ -docker build -t bbb-nginx . -``` - -Build coturn -``` -cd labs/docker/coturn -docker build -t bbb-coturn . -``` - -(Optional) Build bbb-lti -``` -cd bbb-lti/ -docker build -t bbb-lti . -``` - -## Setup - -#### Export your configuration as environment variables -NOTE: replace the example SERVER_DOMAIN's value with your own FQDN -``` -export SERVER_DOMAIN=docker.bigbluebutton.org -export EXTERNAL_IP=$(dig +short $SERVER_DOMAIN | grep '^[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*$' | head -n 1) -export SHARED_SECRET=`openssl rand -hex 16` -export COTURN_REST_SECRET=`openssl rand -hex 16` -export SECRET_KEY_BASE=`openssl rand -hex 64` -export SCREENSHARE_EXTENSION_KEY=akgoaoikmbmhcopjgakkcepdgdgkjfbc -export SCREENSHARE_EXTENSION_LINK=https://chrome.google.com/webstore/detail/bigbluebutton-screenshare/akgoaoikmbmhcopjgakkcepdgdgkjfbc -export TAG_PREFIX= -export TAG_SUFFIX= -``` - -#### Create a volume for the SSL certs -``` -docker volume create docker_ssl-conf -``` - -#### Generate SSL certs -``` -docker run --rm -p 80:80 -v docker_ssl-conf:/etc/letsencrypt -it certbot/certbot certonly --non-interactive --register-unsafely-without-email --agree-tos --expand --domain $SERVER_DOMAIN --standalone - -# certificate path: docker_ssl-conf/live/$SERVER_DOMAIN/fullchain.pem -# key path: docker_ssl-conf/live/$SERVER_DOMAIN/privkey.pem -``` -NOTE: If running on AWS, you won't be able to use the default Public DNS for your SERVER_DOMAIN as Let's Encrypt doesn't allow generating SSL certs from any *.amazonaws.com domain. Alternatively, you can create a PTR record that goes from a non-AWS FQDN to the AWS FQDN. - -#### Create a volume for the static files (optional) -``` -docker volume create docker_static -cd bigbluebutton-config/web/ -docker run -d --rm --name nginx -v docker_static:/var/www/bigbluebutton-default nginx tail -f /dev/null -docker cp . nginx:/var/www/bigbluebutton-default -docker exec -it nginx chown -R www-data:www-data /var/www/bigbluebutton-default -docker stop nginx -``` - -#### Ensure the following ports are open -* TCP/UDP 3478 -* TCP 80 -* TCP 443 - -## Run - -#### Launch everything with docker compose -``` -cd labs/docker/ -docker-compose up -``` - -#### Access your server via greenlight and create meetings - -https:///b - -#### To shut down and exit gracefully -``` -CTRL+C -``` - - -# Setting up a Kubernetes Cluster - -## Prerequisites - -#### Install kubeadm, kubelet, and kubectl - -https://kubernetes.io/docs/setup/independent/install-kubeadm/ - -#### Disable swap by commenting out the "swap" line in /etc/fstab, then do a reboot -``` -sudo vi /etc/fstab -sudo systemctl reboot -``` - -#### Verify swap is disabled -``` -sudo free -h -``` - -#### Install Minikube - -https://kubernetes.io/docs/tasks/tools/install-minikube/ - -#### Install VirtualBox Manager - -Ubuntu: -``` -sudo apt-get install virtualbox -``` - -Fedora: -``` -sudo dnf install virtualbox -``` - -## Setup - -#### The following kernel modules are required to avoid preflight errors and warnings during cluster setup -* ip_vs -* ip_vs_rr -* ip_vs_wrr -* ip_vs_sh - -#### Check if kernel modules are already loaded -``` -lsmod | grep ip_vs -``` - -#### Add the kernel modules (if not already loaded) -``` -sudo modprobe ip_vs -sudo modprobe ip_vs_rr -sudo modprobe ip_vs_wrr -sudo modprobe ip_vs_sh -``` - -#### Create a single master cluster with kubeadm - -https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/ diff --git a/labs/docker/coturn/Dockerfile b/labs/docker/coturn/Dockerfile deleted file mode 100644 index aa4912ae02..0000000000 --- a/labs/docker/coturn/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM ubuntu:16.04 - -RUN apt-get update && apt-get install -y coturn wget - -ENV DOCKERIZE_VERSION v0.6.1 -RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ - && tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ - && rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz - -COPY ./turnserver.conf.tmpl /etc/turnserver.conf.tmpl - -CMD [ "dockerize", \ - "-template", "/etc/turnserver.conf.tmpl:/etc/turnserver.conf", \ - "turnserver", "--syslog" ] diff --git a/labs/docker/coturn/turnserver.conf.tmpl b/labs/docker/coturn/turnserver.conf.tmpl deleted file mode 100644 index c9810fb822..0000000000 --- a/labs/docker/coturn/turnserver.conf.tmpl +++ /dev/null @@ -1,14 +0,0 @@ -listening-port={{ .Env.PORT }} -min-port=49152 -max-port=65535 -fingerprint -lt-cred-mech -realm={{ .Env.SERVER_DOMAIN }} -external-ip={{ .Env.EXTERNAL_IP }} - -{{ if isTrue .Env.ENABLE_REST_API }} -use-auth-secret -static-auth-secret={{ .Env.SECRET }} -{{ else }} -user={{ .Env.LT_USER }}:{{ .Env.LT_SECRET }} -{{ end }} diff --git a/labs/docker/docker-compose.yml b/labs/docker/docker-compose.yml deleted file mode 100644 index 8ee7fb82da..0000000000 --- a/labs/docker/docker-compose.yml +++ /dev/null @@ -1,183 +0,0 @@ -version: '2' - -services: - mongo: - image: mongo:3.4 - restart: unless-stopped - - redis: - image: redis - restart: unless-stopped - - bbb-html5: - image: ${TAG_PREFIX}bbb-html5${TAG_SUFFIX} - restart: unless-stopped - depends_on: - - mongo - - redis - environment: - MONGO_URL: mongodb://mongo/bbbhtml5 - METEOR_SETTINGS_MODIFIER: ".public.kurento.wsUrl = \"wss://${SERVER_DOMAIN}/bbb-webrtc-sfu\" | .public.kurento.enableVideo = true | .public.kurento.enableScreensharing = true | .public.kurento.chromeDefaultExtensionKey = \"${SCREENSHARE_EXTENSION_KEY}\" | .public.kurento.chromeDefaultExtensionLink = \"${SCREENSHARE_EXTENSION_LINK}\" | .public.kurento.enableVideoStats = true | .public.kurento.enableListenOnly = true" - REDIS_HOST: redis - ROOT_URL: http://127.0.0.1/html5client - labels: - - "traefik.backend=bbb-html5" - - "traefik.frontend.rule=PathPrefix: /html5client,/_timesync" - - bbb-webhooks: - image: ${TAG_PREFIX}bbb-webhooks${TAG_SUFFIX} - restart: unless-stopped - depends_on: - - redis - environment: - REDIS_HOST: redis - SHARED_SECRET: ${SHARED_SECRET} - BEARER_AUTH: 1 - SERVER_DOMAIN: ${SERVER_DOMAIN} - labels: - - "traefik.backend=bbb-webhooks" - - "traefik.frontend.rule=PathPrefix: /bigbluebutton/api/hooks" - - bbb-freeswitch: - image: ${TAG_PREFIX}bbb-freeswitch${TAG_SUFFIX} - restart: unless-stopped - depends_on: - - coturn - volumes: - - media-audio:/var/freeswitch/meetings - - bbb-webrtc-sfu: - image: ${TAG_PREFIX}bbb-webrtc-sfu${TAG_SUFFIX} - restart: unless-stopped - depends_on: - - redis - - kurento - - bbb-freeswitch - environment: - KURENTO_NAME: kurento - KURENTO_URL: ws://kurento:8888/kurento - REDIS_HOST: redis - FREESWITCH_IP: bbb-freeswitch - LOG_LEVEL: debug - labels: - - "traefik.backend=bbb-webrtc-sfu" - - "traefik.frontend.rule=PathPrefix: /bbb-webrtc-sfu" - - coturn: - image: ${TAG_PREFIX}bbb-coturn${TAG_SUFFIX} - restart: unless-stopped - environment: - TURN_DOMAIN: ${SERVER_DOMAIN} - SECRET: ${COTURN_REST_SECRET} - EXTERNAL_IP: ${EXTERNAL_IP} - ENABLE_REST_API: 1 - PORT: 3478 - ports: - - 3478:3478/udp - - 3478:3478/tcp - - kurento: - image: ${TAG_PREFIX}bbb-kurento${TAG_SUFFIX} - restart: unless-stopped - volumes: - - media-video:/var/kurento/recordings - - media-screenshare:/var/kurento/screenshare - environment: - STUN_IP: ${EXTERNAL_IP} - STUN_PORT: 3478 - - bbb-apps-akka: - image: ${TAG_PREFIX}bbb-apps-akka${TAG_SUFFIX} - restart: unless-stopped - depends_on: - - redis - environment: - JAVA_OPTS: -Dredis.host=redis - - bbb-fsesl-akka: - image: ${TAG_PREFIX}bbb-fsesl-akka${TAG_SUFFIX} - restart: unless-stopped - depends_on: - - bbb-freeswitch - - redis - command: ["wait-for-it.sh", "bbb-freeswitch:8021", "--timeout=60", "--strict", "--", "/usr/share/bbb-fsesl-akka/bin/bbb-fsesl-akka"] - environment: - JAVA_OPTS: -Dredis.host=redis -Dfreeswitch.esl.host=bbb-freeswitch - - bbb-web: - image: ${TAG_PREFIX}bbb-web${TAG_SUFFIX} - restart: unless-stopped - depends_on: - - redis - volumes: - - bigbluebutton:/var/bigbluebutton - environment: - SERVER_DOMAIN: ${SERVER_DOMAIN} - SHARED_SECRET: ${SHARED_SECRET} - TURN_DOMAIN: ${SERVER_DOMAIN} - TURN_SECRET: ${COTURN_REST_SECRET} - labels: - - "traefik.backend=bbb-web" - - "traefik.frontend.rule=PathPrefix: /bigbluebutton" - - bbb-greenlight: - image: bigbluebutton/greenlight:v2 - restart: unless-stopped - volumes: - - greenlight_db:/usr/src/app/db/production - - greenlight_logs:/usr/src/app/log - environment: - BIGBLUEBUTTON_ENDPOINT: https://${SERVER_DOMAIN}/bigbluebutton/ - BIGBLUEBUTTON_SECRET: ${SHARED_SECRET} - SECRET_KEY_BASE: ${SECRET_KEY_BASE} - ALLOW_GREENLIGHT_ACCOUNTS: "true" - labels: - - "traefik.backend=bbb-greenlight" - - "traefik.frontend.rule=PathPrefix: /b" - - # when we're able to setup traefik properly for wss, nginx is no longer needed - nginx: - image: ${TAG_PREFIX}bbb-nginx${TAG_SUFFIX} - restart: unless-stopped - depends_on: - - bbb-freeswitch - environment: - SERVER_DOMAIN: ${SERVER_DOMAIN} - labels: - - "traefik.backend=bbb-freeswitch" - - "traefik.frontend.rule=PathPrefix: /ws" - - traefik: - image: traefik - restart: unless-stopped - ports: - - 80:80 - - 8080:8080 - - 443:443 - command: traefik - - --docker - - --logLevel=INFO - - --acme - - --acme.httpchallenge - - --acme.httpchallenge.entrypoint=http - - --acme.acmelogging - - --acme.storage=/etc/traefik/acme/acme.json - - --acme.email=felipe@mconf.com - - --acme.entrypoint=https - - --acme.domains=${SERVER_DOMAIN} - - --defaultentrypoints=http,https - - --entryPoints='Name:http Address::80 Redirect.EntryPoint:https' - - --entryPoints='Name:https Address::443 TLS' - volumes: - - traefik-acme:/etc/traefik/acme/ - - /var/run/docker.sock:/var/run/docker.sock - -volumes: - traefik-acme: - static: - bigbluebutton: - media-audio: - media-video: - media-screenshare: - greenlight_db: - greenlight_logs: diff --git a/labs/docker/freeswitch/Dockerfile b/labs/docker/freeswitch/Dockerfile deleted file mode 100644 index 86865a8fb8..0000000000 --- a/labs/docker/freeswitch/Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -FROM ubuntu:16.04 - -ENV DEBIAN_FRONTEND noninteractive - -RUN apt-get update \ - && apt-get -y install wget libedit-dev xmlstarlet - -RUN echo "deb http://ubuntu.bigbluebutton.org/xenial-200-dev bigbluebutton-xenial main " | tee /etc/apt/sources.list.d/bigbluebutton.list \ - && wget http://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | apt-key add - \ - && apt-get update \ - && apt-get -y install bbb-freeswitch-core \ - && find /opt/freeswitch/conf/sip_profiles/ -name "*ipv6*" -prune -exec rm -rf "{}" \; - -EXPOSE 7443 - -COPY docker-entrypoint.sh /usr/local/bin/ -COPY event_socket_conf.xml /opt/freeswitch/conf/autoload_configs/event_socket.conf.xml - -RUN wget -O /usr/local/bin/dumb-init https://github.com/Yelp/dumb-init/releases/download/v1.2.2/dumb-init_1.2.2_amd64 \ - && chmod +x /usr/local/bin/dumb-init - -ENTRYPOINT ["/usr/local/bin/dumb-init", "--"] - -CMD [ "docker-entrypoint.sh" ] diff --git a/labs/docker/freeswitch/docker-entrypoint.sh b/labs/docker/freeswitch/docker-entrypoint.sh deleted file mode 100755 index 90e82ba379..0000000000 --- a/labs/docker/freeswitch/docker-entrypoint.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash -xe - -IP=$(hostname -I | cut -d' ' -f1) - -xmlstarlet edit --inplace --update '//X-PRE-PROCESS[@cmd="set" and starts-with(@data, "external_rtp_ip=")]/@data' --value "stun:coturn" /opt/freeswitch/conf/vars.xml -xmlstarlet edit --inplace --update '//X-PRE-PROCESS[@cmd="set" and starts-with(@data, "external_sip_ip=")]/@data' --value "stun:coturn" /opt/freeswitch/conf/vars.xml -xmlstarlet edit --inplace --update '//X-PRE-PROCESS[@cmd="set" and starts-with(@data, "local_ip_v4=")]/@data' --value "${IP}" /opt/freeswitch/conf/vars.xml -# add wss-binding element -xmlstarlet edit --inplace --subnode '//settings' --type elem --name 'newsubnode' --value '' /opt/freeswitch/conf/sip_profiles/external.xml -xmlstarlet edit --inplace --insert '//newsubnode' --type attr --name 'name' --value 'wss-binding' /opt/freeswitch/conf/sip_profiles/external.xml -xmlstarlet edit --inplace --insert '//newsubnode' --type attr --name 'value' --value ':7443' /opt/freeswitch/conf/sip_profiles/external.xml -xmlstarlet edit --inplace --rename '//newsubnode' --value 'param' /opt/freeswitch/conf/sip_profiles/external.xml - -/opt/freeswitch/bin/freeswitch diff --git a/labs/docker/freeswitch/event_socket_conf.xml b/labs/docker/freeswitch/event_socket_conf.xml deleted file mode 100644 index c10b16fb1b..0000000000 --- a/labs/docker/freeswitch/event_socket_conf.xml +++ /dev/null @@ -1,10 +0,0 @@ - - - - - - - - - - diff --git a/labs/docker/k8s/bbb-apps-akka.yaml b/labs/docker/k8s/bbb-apps-akka.yaml deleted file mode 100644 index d21e1d44ab..0000000000 --- a/labs/docker/k8s/bbb-apps-akka.yaml +++ /dev/null @@ -1,45 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: bbb-apps-akka - version: latest - name: bbb-apps-akka - namespace: bigbluebutton -spec: - replicas: 1 - selector: - matchLabels: - app: bbb-apps-akka - version: latest - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: bbb-apps-akka - version: latest - name: bbb-apps-akka - spec: - containers: - - env: - - name: JAVA_OPTS - value: -Dredis.host=redis - image: fcecagno/bigbluebutton:bbb-apps-akka - imagePullPolicy: Always - name: bbb-apps-akka - ports: - - containerPort: 8080 - protocol: TCP - restartPolicy: Always - terminationGracePeriodSeconds: 30 - nodeSelector: - role: 'bigbluebutton' - tolerations: - - key: role - operator: Equal - value: 'bigbluebutton' - effect: NoSchedule diff --git a/labs/docker/k8s/bbb-coturn.yaml b/labs/docker/k8s/bbb-coturn.yaml deleted file mode 100644 index f68eb0cca3..0000000000 --- a/labs/docker/k8s/bbb-coturn.yaml +++ /dev/null @@ -1,71 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: bbb-coturn - version: latest - name: bbb-coturn - namespace: bigbluebutton -spec: - replicas: 1 - selector: - matchLabels: - app: bbb-coturn - version: latest - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: bbb-coturn - version: latest - name: bbb-coturn - spec: - containers: - - env: - - name: PORT - value: "3478" - - name: SERVER_DOMAIN - value: bigbluebutton.rocket.chat - - name: SECRET - value: "54321" - - name: EXTERNAL_IP - value: "35.185.19.180" - - name: ENABLE_REST_API - value: "1" - image: fcecagno/bigbluebutton:bbb-coturn - imagePullPolicy: Always - name: bbb-coturn - ports: - - containerPort: 3478 - protocol: TCP - - containerPort: 3478 - protocol: UDP - restartPolicy: Always - terminationGracePeriodSeconds: 30 - nodeSelector: - role: 'bigbluebutton' - tolerations: - - key: role - operator: Equal - value: 'bigbluebutton' - effect: NoSchedule - ---- -apiVersion: v1 -kind: Service -metadata: - name: bbb-coturn - namespace: bigbluebutton - annotations: - traefik.backend.circuitbreaker: "NetworkErrorRatio() > 0.5" -spec: - ports: - - name: http - targetPort: 3478 - port: 3478 - selector: - app: bbb-coturn diff --git a/labs/docker/k8s/bbb-freeswitch-nginx.yaml b/labs/docker/k8s/bbb-freeswitch-nginx.yaml deleted file mode 100644 index d550783745..0000000000 --- a/labs/docker/k8s/bbb-freeswitch-nginx.yaml +++ /dev/null @@ -1,79 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: bbb-freeswitch-nginx - version: latest - name: bbb-freeswitch-nginx - namespace: bigbluebutton -spec: - replicas: 1 - selector: - matchLabels: - app: bbb-freeswitch-nginx - version: latest - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: bbb-freeswitch-nginx - version: latest - name: bbb-freeswitch-nginx - spec: - containers: - - env: - - name: SERVER_DOMAIN - value: bigbluebutton.rocket.chat - image: fcecagno/bigbluebutton:bbb-nginx - imagePullPolicy: Always - name: bbb-freeswitch-nginx - ports: - - containerPort: 80 - protocol: TCP - restartPolicy: Always - terminationGracePeriodSeconds: 30 - nodeSelector: - role: 'bigbluebutton' - tolerations: - - key: role - operator: Equal - value: 'bigbluebutton' - effect: NoSchedule - ---- -apiVersion: v1 -kind: Service -metadata: - name: bbb-freeswitch-nginx - namespace: bigbluebutton - annotations: - traefik.backend.circuitbreaker: "NetworkErrorRatio() > 0.5" -spec: - ports: - - name: http - targetPort: 80 - port: 80 - selector: - app: bbb-freeswitch-nginx - ---- -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: bbb-freeswitch-nginx - namespace: bigbluebutton - annotations: - kubernetes.io/ingress.class: "traefik" -spec: - rules: - - host: bigbluebutton.rocket.chat - http: - paths: - - path: /ws - backend: - serviceName: bbb-freeswitch-nginx - servicePort: 80 diff --git a/labs/docker/k8s/bbb-freeswitch.yaml b/labs/docker/k8s/bbb-freeswitch.yaml deleted file mode 100644 index 90fe646d55..0000000000 --- a/labs/docker/k8s/bbb-freeswitch.yaml +++ /dev/null @@ -1,63 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: bbb-freeswitch - version: latest - name: bbb-freeswitch - namespace: bigbluebutton -spec: - replicas: 1 - selector: - matchLabels: - app: bbb-freeswitch - version: latest - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: bbb-freeswitch - version: latest - name: bbb-freeswitch - spec: - containers: - - image: fcecagno/bigbluebutton:bbb-freeswitch - imagePullPolicy: Always - name: bbb-freeswitch - ports: - - containerPort: 7443 - protocol: TCP - - containerPort: 8021 - protocol: TCP - restartPolicy: Always - terminationGracePeriodSeconds: 30 - nodeSelector: - role: 'bigbluebutton' - tolerations: - - key: role - operator: Equal - value: 'bigbluebutton' - effect: NoSchedule - ---- -apiVersion: v1 -kind: Service -metadata: - name: bbb-freeswitch - namespace: bigbluebutton - annotations: - traefik.backend.circuitbreaker: "NetworkErrorRatio() > 0.5" -spec: - ports: - - name: http - targetPort: 7443 - port: 7443 - - name: freeswitch-8021 - targetPort: 8021 - port: 8021 - selector: - app: bbb-freeswitch diff --git a/labs/docker/k8s/bbb-fsesl-akka.yaml b/labs/docker/k8s/bbb-fsesl-akka.yaml deleted file mode 100644 index b37ba7d94f..0000000000 --- a/labs/docker/k8s/bbb-fsesl-akka.yaml +++ /dev/null @@ -1,43 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: bbb-fsesl-akka - version: latest - name: bbb-fsesl-akka - namespace: bigbluebutton -spec: - replicas: 1 - selector: - matchLabels: - app: bbb-fsesl-akka - version: latest - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: bbb-fsesl-akka - version: latest - name: bbb-fsesl-akka - spec: - containers: - - env: - - name: JAVA_OPTS - value: -Dredis.host=redis -Dfreeswitch.esl.host=bbb-freeswitch - image: fcecagno/bigbluebutton:bbb-fsesl-akka - imagePullPolicy: Always - name: bbb-fsesl-akka - command: ["wait-for-it.sh", "bbb-freeswitch:8021", "--timeout=60", "--strict", "--", "/usr/share/bbb-fsesl-akka/bin/bbb-fsesl-akka"] - restartPolicy: Always - terminationGracePeriodSeconds: 30 - nodeSelector: - role: 'bigbluebutton' - tolerations: - - key: role - operator: Equal - value: 'bigbluebutton' - effect: NoSchedule diff --git a/labs/docker/k8s/bbb-html5.yaml b/labs/docker/k8s/bbb-html5.yaml deleted file mode 100644 index cf8fdafcf3..0000000000 --- a/labs/docker/k8s/bbb-html5.yaml +++ /dev/null @@ -1,91 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: bbb-html5 - version: latest - name: bbb-html5 - namespace: bigbluebutton -spec: - replicas: 1 - selector: - matchLabels: - app: bbb-html5 - version: latest - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: bbb-html5 - version: latest - name: bbb-html5 - spec: - containers: - - env: - - name: MONGO_URL - value: mongodb://mongo:27017/ - - name: MONGO_DB - value: bbbhtml5 - - name: METEOR_SETTINGS_MODIFIER - value: ".public.kurento.wsUrl = \"wss://bigbluebutton.rocket.chat/bbb-webrtc-sfu\" | .public.kurento.enableVideo = true | .public.kurento.enableScreensharing = true | .public.kurento.enableVideoStats = true | .public.kurento.enableListenOnly = true" - - name: REDIS_HOST - value: redis - - name: ROOT_URL - value: http://127.0.0.1/html5client - image: fcecagno/bigbluebutton:bbb-html5 - imagePullPolicy: Always - name: bbb-html5 - ports: - - containerPort: 3000 - protocol: TCP - restartPolicy: Always - terminationGracePeriodSeconds: 30 - nodeSelector: - role: 'bigbluebutton' - tolerations: - - key: role - operator: Equal - value: 'bigbluebutton' - effect: NoSchedule - ---- -apiVersion: v1 -kind: Service -metadata: - name: bbb-html5 - namespace: bigbluebutton - annotations: - traefik.backend.circuitbreaker: "NetworkErrorRatio() > 0.5" -spec: - ports: - - name: http - targetPort: 3000 - port: 3000 - selector: - app: bbb-html5 - ---- -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: bbb-html5 - namespace: bigbluebutton - annotations: - kubernetes.io/ingress.class: "traefik" -spec: - rules: - - host: bigbluebutton.rocket.chat - http: - paths: - - path: /html5client - backend: - serviceName: bbb-html5 - servicePort: 3000 - - path: /_timesync - backend: - serviceName: bbb-html5 - servicePort: 3000 diff --git a/labs/docker/k8s/bbb-kurento.yaml b/labs/docker/k8s/bbb-kurento.yaml deleted file mode 100644 index 7c3d6c8f60..0000000000 --- a/labs/docker/k8s/bbb-kurento.yaml +++ /dev/null @@ -1,69 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: bbb-kurento - version: latest - name: bbb-kurento - namespace: bigbluebutton -spec: - replicas: 1 - selector: - matchLabels: - app: bbb-kurento - version: latest - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: bbb-kurento - version: latest - name: bbb-kurento - spec: - containers: - - env: - - name: STUN_IP - # TODO: how to get this IP? - value: "35.185.19.180" - - name: STUN_PORT - value: "3478" - image: fcecagno/bigbluebutton:bbb-kurento - imagePullPolicy: Always - name: bbb-kurento - ports: - - containerPort: 8888 - protocol: TCP - restartPolicy: Always - terminationGracePeriodSeconds: 30 - nodeSelector: - role: 'bigbluebutton' - tolerations: - - key: role - operator: Equal - value: 'bigbluebutton' - effect: NoSchedule - ---- -apiVersion: v1 -kind: Service -metadata: - name: bbb-kurento - namespace: bigbluebutton - annotations: - traefik.backend.circuitbreaker: "NetworkErrorRatio() > 0.5" -spec: - ports: - - name: http - targetPort: 8888 - port: 8888 - selector: - app: bbb-kurento - - - # volumes: - # - media-video:/var/kurento/recordings - # - media-screenshare:/var/kurento/screenshare diff --git a/labs/docker/k8s/bbb-web.yaml b/labs/docker/k8s/bbb-web.yaml deleted file mode 100644 index 24d6588fc3..0000000000 --- a/labs/docker/k8s/bbb-web.yaml +++ /dev/null @@ -1,85 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: bbb-web - version: latest - name: bbb-web - namespace: bigbluebutton -spec: - replicas: 1 - selector: - matchLabels: - app: bbb-web - version: latest - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: bbb-web - version: latest - name: bbb-web - spec: - containers: - - env: - - name: SERVER_DOMAIN - value: bigbluebutton.rocket.chat - - name: SHARED_SECRET - value: "12345" - - name: TURN_SECRET - value: "54321" - - name: TURN_DOMAIN - value: bigbluebutton.rocket.chat - image: fcecagno/bigbluebutton:bbb-web - imagePullPolicy: Always - name: bbb-web - ports: - - containerPort: 8080 - protocol: TCP - restartPolicy: Always - terminationGracePeriodSeconds: 30 - nodeSelector: - role: 'bigbluebutton' - tolerations: - - key: role - operator: Equal - value: 'bigbluebutton' - effect: NoSchedule - ---- -apiVersion: v1 -kind: Service -metadata: - name: bbb-web - namespace: bigbluebutton - annotations: - traefik.backend.circuitbreaker: "NetworkErrorRatio() > 0.5" -spec: - ports: - - name: http - targetPort: 8080 - port: 8080 - selector: - app: bbb-web - ---- -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: bbb-web - namespace: bigbluebutton - annotations: - kubernetes.io/ingress.class: "traefik" -spec: - rules: - - host: bigbluebutton.rocket.chat - http: - paths: - - path: /bigbluebutton - backend: - serviceName: bbb-web - servicePort: 8080 diff --git a/labs/docker/k8s/bbb-webhooks.yaml b/labs/docker/k8s/bbb-webhooks.yaml deleted file mode 100644 index b1aff374d2..0000000000 --- a/labs/docker/k8s/bbb-webhooks.yaml +++ /dev/null @@ -1,85 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: bbb-webhooks - version: latest - name: bbb-webhooks - namespace: bigbluebutton -spec: - replicas: 1 - selector: - matchLabels: - app: bbb-webhooks - version: latest - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: bbb-webhooks - version: latest - name: bbb-webhooks - spec: - containers: - - env: - - name: REDIS_HOST - value: redis - - name: SHARED_SECRET - value: "12345" - - name: SERVER_DOMAIN - value: bigbluebutton.rocket.chat - - name: BEARER_AUTH - value: "1" - image: fcecagno/bigbluebutton:bbb-webhooks - imagePullPolicy: Always - name: bbb-webhooks - ports: - - containerPort: 3005 - protocol: TCP - restartPolicy: Always - terminationGracePeriodSeconds: 30 - nodeSelector: - role: 'bigbluebutton' - tolerations: - - key: role - operator: Equal - value: 'bigbluebutton' - effect: NoSchedule - ---- -apiVersion: v1 -kind: Service -metadata: - name: bbb-webhooks - namespace: bigbluebutton - annotations: - traefik.backend.circuitbreaker: "NetworkErrorRatio() > 0.5" -spec: - ports: - - name: http - targetPort: 3005 - port: 3005 - selector: - app: bbb-webhooks - ---- -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: bbb-webhooks - namespace: bigbluebutton - annotations: - kubernetes.io/ingress.class: "traefik" -spec: - rules: - - host: bigbluebutton.rocket.chat - http: - paths: - - path: /bigbluebutton/api/hooks - backend: - serviceName: bbb-webhooks - servicePort: 3005 diff --git a/labs/docker/k8s/bbb-webrtc-sfu.yaml b/labs/docker/k8s/bbb-webrtc-sfu.yaml deleted file mode 100644 index d6cee0ec51..0000000000 --- a/labs/docker/k8s/bbb-webrtc-sfu.yaml +++ /dev/null @@ -1,87 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: bbb-webrtc-sfu - version: latest - name: bbb-webrtc-sfu - namespace: bigbluebutton -spec: - replicas: 1 - selector: - matchLabels: - app: bbb-webrtc-sfu - version: latest - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: bbb-webrtc-sfu - version: latest - name: bbb-webrtc-sfu - spec: - containers: - - env: - - name: KURENTO_NAME - value: kurento - - name: KURENTO_URL - value: ws://bbb-kurento:8888/kurento - - name: REDIS_HOST - value: redis - - name: FREESWITCH_IP - value: bbb-freeswitch - - name: LOG_LEVEL - value: debug - image: fcecagno/bigbluebutton:bbb-webrtc-sfu - imagePullPolicy: Always - name: bbb-webrtc-sfu - ports: - - containerPort: 3008 - protocol: TCP - restartPolicy: Always - terminationGracePeriodSeconds: 30 - nodeSelector: - role: 'bigbluebutton' - tolerations: - - key: role - operator: Equal - value: 'bigbluebutton' - effect: NoSchedule - ---- -apiVersion: v1 -kind: Service -metadata: - name: bbb-webrtc-sfu - namespace: bigbluebutton - annotations: - traefik.backend.circuitbreaker: "NetworkErrorRatio() > 0.5" -spec: - ports: - - name: http - targetPort: 3008 - port: 3008 - selector: - app: bbb-webrtc-sfu - ---- -apiVersion: extensions/v1beta1 -kind: Ingress -metadata: - name: bbb-webrtc-sfu - namespace: bigbluebutton - annotations: - kubernetes.io/ingress.class: "traefik" -spec: - rules: - - host: bigbluebutton.rocket.chat - http: - paths: - - path: /bbb-webrtc-sfu - backend: - serviceName: bbb-webrtc-sfu - servicePort: 3008 diff --git a/labs/docker/k8s/bigbluebutton-ns.yaml b/labs/docker/k8s/bigbluebutton-ns.yaml deleted file mode 100644 index d66b7579ed..0000000000 --- a/labs/docker/k8s/bigbluebutton-ns.yaml +++ /dev/null @@ -1,4 +0,0 @@ -apiVersion: v1 -kind: Namespace -metadata: - name: bigbluebutton diff --git a/labs/docker/k8s/mongo.yaml b/labs/docker/k8s/mongo.yaml deleted file mode 100644 index 5a09cdd532..0000000000 --- a/labs/docker/k8s/mongo.yaml +++ /dev/null @@ -1,55 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: mongo - version: latest - name: mongo - namespace: bigbluebutton -spec: - replicas: 1 - selector: - matchLabels: - app: mongo - version: latest - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: mongo - version: latest - name: mongo - spec: - containers: - - image: mongo:3.6 - imagePullPolicy: Always - name: mongo - ports: - - containerPort: 27017 - protocol: TCP - restartPolicy: Always - terminationGracePeriodSeconds: 30 - nodeSelector: - role: 'bigbluebutton' - tolerations: - - key: role - operator: Equal - value: 'bigbluebutton' - effect: NoSchedule - ---- -apiVersion: v1 -kind: Service -metadata: - name: mongo - namespace: bigbluebutton -spec: - ports: - - targetPort: 27017 - port: 27017 - selector: - app: mongo diff --git a/labs/docker/k8s/redis.yaml b/labs/docker/k8s/redis.yaml deleted file mode 100644 index fe12f4eb19..0000000000 --- a/labs/docker/k8s/redis.yaml +++ /dev/null @@ -1,55 +0,0 @@ -apiVersion: extensions/v1beta1 -kind: Deployment -metadata: - labels: - app: redis - version: latest - name: redis - namespace: bigbluebutton -spec: - replicas: 1 - selector: - matchLabels: - app: redis - version: latest - strategy: - rollingUpdate: - maxSurge: 1 - maxUnavailable: 1 - type: RollingUpdate - template: - metadata: - labels: - app: redis - version: latest - name: redis - spec: - containers: - - image: redis:latest - imagePullPolicy: Always - name: redis - ports: - - containerPort: 6379 - protocol: TCP - restartPolicy: Always - terminationGracePeriodSeconds: 30 - nodeSelector: - role: 'bigbluebutton' - tolerations: - - key: role - operator: Equal - value: 'bigbluebutton' - effect: NoSchedule - ---- -apiVersion: v1 -kind: Service -metadata: - name: redis - namespace: bigbluebutton -spec: - ports: - - targetPort: 6379 - port: 6379 - selector: - app: redis diff --git a/labs/docker/kurento/Dockerfile b/labs/docker/kurento/Dockerfile deleted file mode 100644 index f6619abf74..0000000000 --- a/labs/docker/kurento/Dockerfile +++ /dev/null @@ -1,41 +0,0 @@ -FROM ubuntu:16.04 - -# In order to build kurento dev, use: -# docker build --build-arg APT_KEY="http://keyserver.ubuntu.com/pks/lookup?op=get&options=mr&search=0xFC8A16625AFA7A83" --build-arg APT_REPO="deb [arch=amd64] http://ubuntu.openvidu.io/dev xenial kms6" --build-arg CACHE_BUST="$(date +%s)" -t mconf/kurento:upstream-dev . - -ARG APT_KEY="https://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc" -ARG APT_REPO="deb https://ubuntu.bigbluebutton.org/xenial-220-dev bigbluebutton-xenial main" -ARG CACHE_BUST=1 - -ENV DEBIAN_FRONTEND noninteractive - -RUN apt-get update \ - && apt-get -y dist-upgrade \ - && apt-get install -y software-properties-common curl wget apt-transport-https - -RUN wget "$APT_KEY" -O- | apt-key add - \ - && add-apt-repository "$APT_REPO" \ - && apt-get update \ - && apt-get -y install kurento-media-server bzip2 jq \ - && apt-get clean \ - && rm -rf /var/lib/apt/lists/* - -RUN apt-get update \ - && apt-get install -y --download-only openh264-gst-plugins-bad-1.5 - -COPY ./docker-entrypoint.sh /usr/local/bin/ -COPY ./healthchecker.sh /healthchecker.sh - -ENV GST_DEBUG=Kurento*:5 -ENV PORT=8888 -# stun.l.google.com -ENV STUN_IP=64.233.186.127 -ENV STUN_PORT=19302 -ENV TURN_URL="" -ENV RTP_MIN_PORT=24577 -ENV RTP_MAX_PORT=32768 - -HEALTHCHECK --start-period=15s --interval=30s --timeout=3s --retries=1 CMD /healthchecker.sh - -ENTRYPOINT ["docker-entrypoint.sh"] -CMD ["/usr/bin/kurento-media-server"] diff --git a/labs/docker/kurento/docker-entrypoint.sh b/labs/docker/kurento/docker-entrypoint.sh deleted file mode 100755 index 82d3429101..0000000000 --- a/labs/docker/kurento/docker-entrypoint.sh +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/bash -e - -apt-get install -y openh264-gst-plugins-bad-1.5 - -rm -f /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini -# Generate WebRtcEndpoint configuration -echo "stunServerAddress=$STUN_IP" >> /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini -echo "stunServerPort=$STUN_PORT" >> /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini - -if [ "$TURN_URL" != "" ]; then - echo "turnURL=$TURN_URL" >> /etc/kurento/modules/kurento/WebRtcEndpoint.conf.ini -fi - -rm -f /etc/kurento/modules/kurento/BaseRtpEndpoint.conf.ini -# Generate BaseRtpEndpoint configuration -echo "minPort=$RTP_MIN_PORT" >> /etc/kurento/modules/kurento/BaseRtpEndpoint.conf.ini -echo "maxPort=$RTP_MAX_PORT" >> /etc/kurento/modules/kurento/BaseRtpEndpoint.conf.ini - -CONFIG=$(cat /etc/kurento/kurento.conf.json | sed '/^[ ]*\/\//d' | jq ".mediaServer.net.websocket.port = $PORT") -echo $CONFIG > /etc/kurento/kurento.conf.json - -# Remove ipv6 local loop until ipv6 is supported -cat /etc/hosts | sed '/::1/d' | tee /etc/hosts > /dev/null - -exec "$@" diff --git a/labs/docker/kurento/healthchecker.sh b/labs/docker/kurento/healthchecker.sh deleted file mode 100755 index f127ae41c1..0000000000 --- a/labs/docker/kurento/healthchecker.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/bash - -[[ "$(curl -w '%{http_code}' -N -H "Connection: Upgrade" -H "Upgrade: websocket" -H "Host: 127.0.0.1:$PORT" -H "Origin: 127.0.0.1" http://127.0.0.1:$PORT/kurento)" == 500 ]] && exit 0 || exit 1 diff --git a/labs/docker/nginx/Dockerfile b/labs/docker/nginx/Dockerfile deleted file mode 100644 index 56fc11c419..0000000000 --- a/labs/docker/nginx/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM nginx - -RUN apt-get update && apt-get install -y wget - -ENV DOCKERIZE_VERSION v0.6.1 -RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ - && tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ - && rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz - -COPY ./nginx.conf.tmpl /etc/nginx/nginx.conf.tmpl - -CMD [ "dockerize", \ - "-template", "/etc/nginx/nginx.conf.tmpl:/etc/nginx/nginx.conf", \ - "nginx", "-g", "daemon off;" ] diff --git a/labs/docker/nginx/nginx.conf.tmpl b/labs/docker/nginx/nginx.conf.tmpl deleted file mode 100644 index 0210fc399b..0000000000 --- a/labs/docker/nginx/nginx.conf.tmpl +++ /dev/null @@ -1,66 +0,0 @@ -user www-data; -worker_processes auto; -pid /run/nginx.pid; - -events { - worker_connections 768; -} - -http { - ## - # Basic Settings - ## - - sendfile on; - tcp_nopush on; - tcp_nodelay on; - keepalive_timeout 65; - types_hash_max_size 2048; - - include /etc/nginx/mime.types; - default_type application/octet-stream; - - ## - # SSL Settings - ## - - ssl_protocols TLSv1 TLSv1.1 TLSv1.2; # Dropping SSLv3, ref: POODLE - ssl_prefer_server_ciphers on; - - ## - # Logging Settings - ## - - access_log /var/log/nginx/access.log; - error_log /var/log/nginx/error.log; - - ## - # Gzip Settings - ## - - gzip on; - gzip_disable "msie6"; - - ## - # Virtual Host Configs - ## - - server { - listen 80; - listen [::]:80; - server_name {{ .Env.SERVER_DOMAIN }}; - - access_log /var/log/nginx/bigbluebutton.access.log; - - location /ws { - proxy_pass https://bbb-freeswitch:7443; - proxy_http_version 1.1; - proxy_set_header Upgrade $http_upgrade; - proxy_set_header Connection "Upgrade"; - proxy_read_timeout 6h; - proxy_send_timeout 6h; - client_body_timeout 6h; - send_timeout 6h; - } - } -} diff --git a/labs/docker/sbt/Dockerfile b/labs/docker/sbt/Dockerfile deleted file mode 100644 index 99e285c61d..0000000000 --- a/labs/docker/sbt/Dockerfile +++ /dev/null @@ -1,14 +0,0 @@ -FROM openjdk:8 - -ARG SBT_VERSION=0.13.8 - -RUN curl -L -o sbt-$SBT_VERSION.deb https://dl.bintray.com/sbt/debian/sbt-$SBT_VERSION.deb \ - && dpkg -i sbt-$SBT_VERSION.deb \ - && rm sbt-$SBT_VERSION.deb \ - && apt-get update \ - && apt-get install sbt \ - && sbt sbtVersion - -RUN echo 'resolvers += "Artima Maven Repository" at "http://repo.artima.com/releases"' | tee -a ~/.sbt/0.13/global.sbt - -WORKDIR /root From 13bed65bafef677ad2986f48921c9d4bd15037db Mon Sep 17 00:00:00 2001 From: Anton Georgiev Date: Tue, 12 Apr 2022 20:34:28 +0000 Subject: [PATCH 2/2] chore: drop obsolete Dockerfile from BBB --- akka-bbb-apps/Dockerfile | 24 ----------- akka-bbb-fsesl/Dockerfile | 26 ------------ bbb-common-message/Dockerfile | 13 ------ bbb-common-web/Dockerfile | 13 ------ bbb-fsesl-client/Dockerfile | 13 ------ bigbluebutton-html5/Dockerfile | 38 ------------------ bigbluebutton-html5/Dockerfile.dev | 24 ----------- bigbluebutton-web/Dockerfile | 64 ------------------------------ 8 files changed, 215 deletions(-) delete mode 100644 akka-bbb-apps/Dockerfile delete mode 100644 akka-bbb-fsesl/Dockerfile delete mode 100644 bbb-common-message/Dockerfile delete mode 100644 bbb-common-web/Dockerfile delete mode 100644 bbb-fsesl-client/Dockerfile delete mode 100644 bigbluebutton-html5/Dockerfile delete mode 100644 bigbluebutton-html5/Dockerfile.dev delete mode 100644 bigbluebutton-web/Dockerfile diff --git a/akka-bbb-apps/Dockerfile b/akka-bbb-apps/Dockerfile deleted file mode 100644 index e8adc296c1..0000000000 --- a/akka-bbb-apps/Dockerfile +++ /dev/null @@ -1,24 +0,0 @@ -FROM bbb-common-message AS builder - -ARG COMMON_VERSION=0.0.1-SNAPSHOT - -COPY . /source - -RUN cd /source \ - && find -name build.sbt -exec sed -i "s|\(.*org.bigbluebutton.*bbb-common-message[^\"]*\"[ ]*%[ ]*\)\"[^\"]*\"\(.*\)|\1\"$COMMON_VERSION\"\2|g" {} \; \ - && sbt compile - -RUN apt-get update \ - && apt-get -y install fakeroot - -RUN cd /source \ - && sbt debian:packageBin - -# FROM ubuntu:16.04 -FROM openjdk:8-jre-slim-stretch - -COPY --from=builder /source/target/*.deb /root/ - -RUN dpkg -i /root/*.deb - -CMD ["/usr/share/bbb-apps-akka/bin/bbb-apps-akka"] diff --git a/akka-bbb-fsesl/Dockerfile b/akka-bbb-fsesl/Dockerfile deleted file mode 100644 index ff06041d93..0000000000 --- a/akka-bbb-fsesl/Dockerfile +++ /dev/null @@ -1,26 +0,0 @@ -FROM bbb-fsesl-client AS builder - -ARG COMMON_VERSION=0.0.1-SNAPSHOT - -COPY . /source - -RUN cd /source \ - && find -name build.sbt -exec sed -i "s|\(.*org.bigbluebutton.*bbb-common-message[^\"]*\"[ ]*%[ ]*\)\"[^\"]*\"\(.*\)|\1\"$COMMON_VERSION\"\2|g" {} \; \ - && find -name build.sbt -exec sed -i "s|\(.*org.bigbluebutton.*bbb-fsesl-client[^\"]*\"[ ]*%[ ]*\)\"[^\"]*\"\(.*\)|\1\"$COMMON_VERSION\"\2|g" {} \; \ - && sbt compile - -RUN apt-get update \ - && apt-get -y install fakeroot - -RUN cd /source \ - && sbt debian:packageBin - -FROM openjdk:8-jre-slim-stretch - -COPY --from=builder /source/target/*.deb /root/ - -RUN dpkg -i /root/*.deb - -COPY wait-for-it.sh /usr/local/bin/ - -CMD ["/usr/share/bbb-fsesl-akka/bin/bbb-fsesl-akka"] diff --git a/bbb-common-message/Dockerfile b/bbb-common-message/Dockerfile deleted file mode 100644 index 2231599153..0000000000 --- a/bbb-common-message/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM sbt:0.13.8 - -ARG COMMON_VERSION - -COPY . /bbb-common-message - -RUN cd /bbb-common-message \ - && sed -i "s|\(version := \)\".*|\1\"$COMMON_VERSION\"|g" build.sbt \ - && echo 'publishTo := Some(Resolver.file("file", new File(Path.userHome.absolutePath+"/.m2/repository")))' | tee -a build.sbt \ - && sbt compile \ - && sbt publish \ - && sbt publishLocal - diff --git a/bbb-common-web/Dockerfile b/bbb-common-web/Dockerfile deleted file mode 100644 index 874219a3ba..0000000000 --- a/bbb-common-web/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM bbb-common-message - -ARG COMMON_VERSION - -COPY . /bbb-common-web - -RUN cd /bbb-common-web \ - && sed -i "s|\(version := \)\".*|\1\"$COMMON_VERSION\"|g" build.sbt \ - && find -name build.sbt -exec sed -i "s|\(.*org.bigbluebutton.*bbb-common-message[^\"]*\"[ ]*%[ ]*\)\"[^\"]*\"\(.*\)|\1\"$COMMON_VERSION\"\2|g" {} \; \ - && echo 'publishTo := Some(Resolver.file("file", new File(Path.userHome.absolutePath+"/.m2/repository")))' | tee -a build.sbt \ - && sbt compile \ - && sbt publish \ - && sbt publishLocal diff --git a/bbb-fsesl-client/Dockerfile b/bbb-fsesl-client/Dockerfile deleted file mode 100644 index c9fd93a841..0000000000 --- a/bbb-fsesl-client/Dockerfile +++ /dev/null @@ -1,13 +0,0 @@ -FROM bbb-common-message - -ARG COMMON_VERSION - -COPY . /bbb-fsesl-client - -RUN cd /bbb-fsesl-client \ - && sed -i "s|\(version := \)\".*|\1\"$COMMON_VERSION\"|g" build.sbt \ - && find -name build.sbt -exec sed -i "s|\(.*org.bigbluebutton.*bbb-common-message[^\"]*\"[ ]*%[ ]*\)\"[^\"]*\"\(.*\)|\1\"$COMMON_VERSION\"\2|g" {} \; \ - && echo 'publishTo := Some(Resolver.file("file", new File(Path.userHome.absolutePath+"/.m2/repository")))' | tee -a build.sbt \ - && sbt compile \ - && sbt publish \ - && sbt publishLocal diff --git a/bigbluebutton-html5/Dockerfile b/bigbluebutton-html5/Dockerfile deleted file mode 100644 index 8e4b24cb17..0000000000 --- a/bigbluebutton-html5/Dockerfile +++ /dev/null @@ -1,38 +0,0 @@ -FROM node:8 - -RUN set -x \ - && curl -sL https://install.meteor.com | sed s/--progress-bar/-sL/g | /bin/sh \ - && useradd -m -G users -s /bin/bash meteor - -RUN apt-get update && apt-get -y install jq - -COPY . /source - -RUN cd /source \ - && mv docker-entrypoint.sh /usr/local/bin/ \ - && chown -R meteor:meteor . \ - && mkdir /app \ - && chown -R meteor:meteor /app - -USER meteor - -RUN cd /source \ - && meteor npm install \ - && meteor build --directory /app - -ENV NODE_ENV production - -RUN cd /app/bundle/programs/server \ - && npm install \ - && npm cache clear --force - -WORKDIR /app/bundle - -ENV MONGO_URL=mongodb://mongo:27017/html5client \ - PORT=3000 \ - ROOT_URL=http://localhost:3000 \ - METEOR_SETTINGS_MODIFIER=. - -EXPOSE 3000 - -CMD ["docker-entrypoint.sh"] diff --git a/bigbluebutton-html5/Dockerfile.dev b/bigbluebutton-html5/Dockerfile.dev deleted file mode 100644 index 692c200be7..0000000000 --- a/bigbluebutton-html5/Dockerfile.dev +++ /dev/null @@ -1,24 +0,0 @@ -FROM node:8 - -COPY . /source - -RUN set -x \ - && curl -sL https://install.meteor.com | sed s/--progress-bar/-sL/g | /bin/sh \ - && useradd -m -G users -s /bin/bash meteor \ - && chown -R meteor:meteor /source - -USER meteor - -RUN cd /source \ - && meteor npm install - -WORKDIR /source - -ENV MONGO_URL=mongodb://mongo:27017/html5client \ - PORT=3000 \ - ROOT_URL=http://localhost:3000 - -EXPOSE 3000 - -CMD ["npm", "start"] - diff --git a/bigbluebutton-web/Dockerfile b/bigbluebutton-web/Dockerfile deleted file mode 100644 index 74a4d6837f..0000000000 --- a/bigbluebutton-web/Dockerfile +++ /dev/null @@ -1,64 +0,0 @@ -FROM bbb-common-web AS builder - -RUN mkdir -p /root/tools \ - && cd /root/tools \ - && wget https://services.gradle.org/distributions/gradle-2.12-bin.zip \ - && unzip gradle-2.12-bin.zip \ - && ln -s gradle-2.12 gradle - -RUN mkdir -p /root/tools \ - && cd /root/tools \ - && wget https://github.com/grails/grails-core/releases/download/v2.5.2/grails-2.5.2.zip \ - && unzip grails-2.5.2.zip \ - && ln -s grails-2.5.2 grails - -ENV PATH="/root/tools/gradle/bin:/root/tools/grails/bin:${PATH}" - -ARG COMMON_VERSION=0.0.1-SNAPSHOT - -COPY . /source - -RUN cd /source \ - && find -name build.gradle -exec sed -i "s|\(.*org.bigbluebutton.*bbb-common-message[^:]*\):.*|\1:$COMMON_VERSION'|g" {} \; \ - && find -name build.gradle -exec sed -i "s|\(.*org.bigbluebutton.*bbb-common-web[^:]*\):.*|\1:$COMMON_VERSION'|g" {} \; - -RUN cd /source \ - && gradle resolveDeps \ - && grails war - -FROM tomcat:7-jre8 - -WORKDIR $CATALINA_HOME - -ENV DOCKERIZE_VERSION v0.6.1 -RUN wget https://github.com/jwilder/dockerize/releases/download/$DOCKERIZE_VERSION/dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ - && tar -C /usr/local/bin -xzvf dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz \ - && rm dockerize-linux-amd64-$DOCKERIZE_VERSION.tar.gz - -ENV DEBIAN_FRONTEND noninteractive -RUN apt-get update \ - && apt-get -y install imagemagick xpdf-utils netcat libreoffice ttf-liberation fonts-crosextra-carlito fonts-crosextra-caladea unzip procps \ - && wget http://ftp.us.debian.org/debian/pool/main/libj/libjpeg8/libjpeg8_8d-1+deb7u1_amd64.deb \ - && dpkg -i libjpeg8*.deb \ - && rm libjpeg8*.deb - -RUN echo "deb http://ubuntu.bigbluebutton.org/xenial-200-dev bigbluebutton-xenial main " | tee /etc/apt/sources.list.d/bigbluebutton.list \ - && wget http://ubuntu.bigbluebutton.org/repo/bigbluebutton.asc -O- | apt-key add - \ - && apt-get update \ - && apt-get -y install bbb-swftools - -# clean default webapps -RUN rm -r webapps/* - -COPY --from=builder /source/target/bigbluebutton-0.9.0.war webapps/bigbluebutton.war - -RUN unzip -q webapps/bigbluebutton.war -d webapps/bigbluebutton \ - && rm webapps/bigbluebutton.war - -COPY turn-stun-servers.xml.tmpl turn-stun-servers.xml.tmpl - -COPY docker-entrypoint.sh /usr/local/bin/ - -CMD [ "dockerize", \ - "-template", "turn-stun-servers.xml.tmpl:webapps/bigbluebutton/WEB-INF/spring/turn-stun-servers.xml", \ - "docker-entrypoint.sh" ]