diff --git a/docker-compose.yml b/docker-compose.yml index fa4393c0..552aaea5 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,201 +1,203 @@ version: '3' services: coturn: + build: + context: ./docker/coturn/ container_name: kolab-coturn environment: - DB_NAME=${OPENVIDU_COTURN_REDIS_DATABASE} - DB_PASSWORD=${OPENVIDU_COTURN_REDIS_PASSWORD} - REDIS_IP=${OPENVIDU_COTURN_REDIS_IP} - TURN_PUBLIC_IP=${OPENVIDU_COTURN_IP} - TURN_LISTEN_PORT=3478 hostname: sturn.mgmt.com - image: openvidu/openvidu-coturn:1.0.0 + image: kolab-coturn network_mode: host restart: on-failure tty: true kolab: build: context: ./docker/kolab/ container_name: kolab depends_on: - mariadb extra_hosts: - "kolab.mgmt.com:127.0.0.1" environment: - DB_HOST=${DB_HOST} - DB_ROOT_PASSWORD=Welcome2KolabSystems healthcheck: interval: 10s test: test -f /tmp/kolab-init.done timeout: 5s retries: 30 hostname: kolab.mgmt.com image: kolab network_mode: host tmpfs: - /run - /tmp - /var/run - /var/tmp tty: true volumes: - /etc/letsencrypt/:/etc/letsencrypt/:ro - ./docker/certs/ca.cert:/etc/pki/tls/certs/ca.cert:ro - ./docker/certs/ca.cert:/etc/pki/ca-trust/source/anchors/ca.cert:ro - ./docker/certs/kolab.hosted.com.cert:/etc/pki/tls/certs/kolab.hosted.com.cert - ./docker/certs/kolab.hosted.com.key:/etc/pki/tls/certs/kolab.hosted.com.key - ./docker/certs/kolab.mgmt.com.cert:/etc/pki/tls/certs/kolab.mgmt.com.cert - ./docker/certs/kolab.mgmt.com.key:/etc/pki/tls/certs/kolab.mgmt.com.key - ./docker/kolab/utils:/root/utils:ro - ./src/.env:/.dockerenv:ro - /sys/fs/cgroup:/sys/fs/cgroup:ro # kurento-media-server: # build: # context: ./docker/kurento-media-server/ # container_name: kolab-kurento-media-server # environment: # - GST_DEBUG=3,Kurento*:4,kms*:4,sdp*:4,webrtc*:4,*rtpendpoint:4,rtp*handler:4,rtpsynchronizer:4,agnosticbin:4 # hostname: kurento-media-server.hosted.com # image: apheleia/kurento-media-server:6.15.0 # network_mode: host mariadb: container_name: kolab-mariadb environment: MYSQL_ROOT_PASSWORD: Welcome2KolabSystems TZ: "+02:00" healthcheck: interval: 10s test: test -e /var/run/mysqld/mysqld.sock timeout: 5s retries: 30 image: mariadb network_mode: host nginx: build: context: ./docker/nginx/ args: APP_WEBSITE_DOMAIN: ${APP_WEBSITE_DOMAIN:?err} container_name: kolab-nginx hostname: nginx.hosted.com image: kolab-nginx network_mode: host tmpfs: - /run - /tmp - /var/run - /var/tmp tty: true volumes: - ./docker/certs/imap.hosted.com.cert:/etc/pki/tls/certs/imap.hosted.com.cert - ./docker/certs/imap.hosted.com.key:/etc/pki/tls/private/imap.hosted.com.key # openvidu: # build: # context: ./docker/openvidu/ # container_name: kolab-openvidu # depends_on: # - kurento-media-server # environment: # - APP_DOMAIN=${APP_DOMAIN} # - CERTIFICATE_TYPE=letsencrypt # - COTURN_IP=${OPENVIDU_COTURN_IP} # - COTURN_REDIS_DBNAME=${OPENVIDU_COTURN_REDIS_DATABASE} # - COTURN_REDIS_PASSWORD=${OPENVIDU_COTURN_REDIS_PASSWORD} # - COTURN_REDIS_IP=${OPENVIDU_COTURN_REDIS_IP} # - DOMAIN_OR_PUBLIC_IP=${OPENVIDU_PUBLIC_IP} # - SERVER_PORT=${OPENVIDU_SERVER_PORT} # - KMS_STUN_IP=${OPENVIDU_COTURN_IP} # - KMS_STUN_PORT=3478 # - KMS_URIS=["ws://localhost:8888/kurento", "ws://localhost:8889/kurento"] # - OPENVIDU_SECRET=${OPENVIDU_API_PASSWORD} # - OPENVIDU_WEBHOOK=${OPENVIDU_WEBHOOK} # - OPENVIDU_WEBHOOK_ENDPOINT=${OPENVIDU_WEBHOOK_ENDPOINT} # - SERVER_SSL_ENABLED=false # hostname: openvidu.hosted.com # image: apheleia/openvidu:2.18.0 # network_mode: host # tmpfs: # - /run # - /tmp # - /var/run # - /var/tmp # tty: true # volumes: # - /etc/letsencrypt/:/etc/letsencrypt/:ro pdns-sql: build: context: ./docker/pdns-sql/ container_name: kolab-pdns-sql depends_on: - mariadb hostname: pdns-sql image: apheleia/kolab-pdns-sql network_mode: host tmpfs: - /run - /tmp - /var/run - /var/tmp tty: true volumes: - /sys/fs/cgroup:/sys/fs/cgroup:ro proxy: build: context: ./docker/proxy/ container_name: kolab-proxy hostname: kanarip.internet-box.ch image: kolab-proxy network_mode: host tmpfs: - /run - /tmp - /var/run - /var/tmp tty: true volumes: - ./docker/certs/:/etc/certs/:ro - /etc/letsencrypt/:/etc/letsencrypt/:ro - /sys/fs/cgroup:/sys/fs/cgroup:ro redis: build: context: ./docker/redis/ container_name: kolab-redis hostname: redis image: redis network_mode: host volumes: - ./docker/redis/redis.conf:/usr/local/etc/redis/redis.conf:ro swoole: build: context: ./docker/swoole/ container_name: kolab-swoole image: apheleia/swoole:4.6.x worker: build: context: ./docker/worker/ container_name: kolab-worker depends_on: - kolab hostname: worker image: kolab-worker network_mode: host tmpfs: - /run - /tmp - /var/run - /var/tmp tty: true volumes: - ./src:/home/worker/src.orig:ro - /sys/fs/cgroup:/sys/fs/cgroup:ro meet: build: context: ./docker/meet/ network_mode: host container_name: kolab-meet image: kolab-meet volumes: - /etc/letsencrypt/:/etc/letsencrypt/:ro - ./meet/server:/src/meet/:ro - ./docker/meet/build/node_modules:/root/node_modules - ./docker/certs/kolab.hosted.com.cert:/etc/pki/tls/certs/kolab.hosted.com.cert - ./docker/certs/kolab.hosted.com.key:/etc/pki/tls/certs/kolab.hosted.com.key diff --git a/docker/coturn/Dockerfile b/docker/coturn/Dockerfile index 551b3fca..63e06f40 100644 --- a/docker/coturn/Dockerfile +++ b/docker/coturn/Dockerfile @@ -1,38 +1,12 @@ -FROM fedora:31 +FROM fedora:34 MAINTAINER Jeroen van Meeuwen RUN dnf -y install \ --setopt 'tsflags=nodocs' \ - bash-completion \ - bind-utils \ - coturn \ - curl \ - dhcp-client \ - iproute \ - iptraf-ng \ - iputils \ - less \ - lsof \ - mtr \ - net-tools \ - NetworkManager \ - NetworkManager-tui \ - network-scripts \ - nmap-ncat \ - openssh-clients \ - openssh-server \ - procps-ng \ - redis \ - strace \ - systemd-udev \ - tcpdump \ - telnet \ - traceroute \ - vim-enhanced \ - wget && \ + coturn && \ dnf clean all COPY rootfs/ / CMD ["/usr/local/bin/coturn.sh"] diff --git a/docker/coturn/rootfs/usr/local/bin/coturn.sh b/docker/coturn/rootfs/usr/local/bin/coturn.sh index 45a7c476..d21c4a9a 100755 --- a/docker/coturn/rootfs/usr/local/bin/coturn.sh +++ b/docker/coturn/rootfs/usr/local/bin/coturn.sh @@ -1,19 +1,19 @@ #!/bin/bash cd /tmp/ cat > ./turnserver.conf << EOF external-ip=${TURN_PUBLIC_IP:-127.0.0.1} listening-port=${TURN_LISTEN_PORT:-3478} fingerprint lt-cred-mech max-port=${MAX_PORT:-65535} min-port=${MIN_PORT:-40000} pidfile="$(pwd)/turnserver.pid" -realm=openvidu -simple-log +realm=kolabmeet +log-file=stdout redis-userdb="ip=${REDIS_IP:-127.0.0.1} dbname=${DB_NAME:-2} password=${DB_PASSWORD:-turn} connect_timeout=30" verbose EOF /usr/bin/turnserver -c ./turnserver.conf