Add jitsi container
This commit is contained in:
@@ -52,6 +52,9 @@ chmod +x /app/gitea/gitea
|
|||||||
chown -R git /app/gitea/gitea
|
chown -R git /app/gitea/gitea
|
||||||
chown -R git /var/lib/gitea
|
chown -R git /var/lib/gitea
|
||||||
|
|
||||||
|
echo "------- Adding config folders for jitsi -------"
|
||||||
|
mkdir -p /opt/jitsi/{web/letsencrypt,transcripts,prosody/config,prosody/prosody-plugins-custom,jicofo,jvb,jigasi,jibri}
|
||||||
|
|
||||||
echo "------- Setting up firewall -------"
|
echo "------- Setting up firewall -------"
|
||||||
ufw default deny incoming
|
ufw default deny incoming
|
||||||
ufw default allow outgoing
|
ufw default allow outgoing
|
||||||
@@ -66,3 +69,5 @@ systemctl enable docker --now
|
|||||||
docker-compose -f "/opt/scarif/docker-compose.yml" --env-file "/opt/scarif/.env" up -d
|
docker-compose -f "/opt/scarif/docker-compose.yml" --env-file "/opt/scarif/.env" up -d
|
||||||
# Create a super user for pinry
|
# Create a super user for pinry
|
||||||
docker exec -it scarif_pinry_1 python manage.py createsuperuser --settings=pinry.settings.docker
|
docker exec -it scarif_pinry_1 python manage.py createsuperuser --settings=pinry.settings.docker
|
||||||
|
# Create user for jitsi
|
||||||
|
docker-compose exec prosody prosodyctl --config /config/prosody.cfg.lua register chris meet.jitsi ${USER_PASSWORD}
|
||||||
|
|||||||
@@ -1,9 +1,9 @@
|
|||||||
# Options for building certificates
|
# Options for building certificates
|
||||||
#x-certs: &certs
|
x-certs: &certs
|
||||||
# image: paulczar/omgwtfssl
|
image: paulczar/omgwtfssl
|
||||||
# restart: "no"
|
restart: "no"
|
||||||
# volumes:
|
volumes:
|
||||||
# - certs:/certs
|
- /opt/ssl:/certs
|
||||||
|
|
||||||
version: "3.4"
|
version: "3.4"
|
||||||
|
|
||||||
@@ -67,8 +67,8 @@ services:
|
|||||||
- redis
|
- redis
|
||||||
- nginx
|
- nginx
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "tower.scarif.local:${LOCAL_IP}"
|
- "tower.scarif.space:${LOCAL_IP}"
|
||||||
- "office.scarif.local:${LOCAL_IP}"
|
- "office.scarif.space:${LOCAL_IP}"
|
||||||
|
|
||||||
collabora:
|
collabora:
|
||||||
image: collabora/code
|
image: collabora/code
|
||||||
@@ -90,8 +90,8 @@ services:
|
|||||||
networks:
|
networks:
|
||||||
- nginx
|
- nginx
|
||||||
extra_hosts:
|
extra_hosts:
|
||||||
- "tower.scarif.local:${LOCAL_IP}"
|
- "tower.scarif.space:${LOCAL_IP}"
|
||||||
- "office.scarif.local:${LOCAL_IP}"
|
- "office.scarif.space:${LOCAL_IP}"
|
||||||
|
|
||||||
pinry:
|
pinry:
|
||||||
image: 'getpinry/pinry'
|
image: 'getpinry/pinry'
|
||||||
@@ -133,19 +133,140 @@ services:
|
|||||||
depends_on:
|
depends_on:
|
||||||
- db
|
- db
|
||||||
|
|
||||||
cadvisor:
|
jitsi:
|
||||||
image: gcr.io/cadvisor/cadvisor:v0.37.0
|
image: jitsi/web:latest
|
||||||
|
restart: always
|
||||||
volumes:
|
volumes:
|
||||||
- /:/rootfs:ro
|
- /opt/jitsi/web:/config:Z
|
||||||
- /var/run:/var/run:ro
|
- /opt/jitsi/transcripts:/usr/share/jitsi-meet/transcripts:Z
|
||||||
- /sys:/sys:ro
|
environment:
|
||||||
- /var/lib/docker/:/var/lib/docker:ro
|
- ENABLE_LETSENCRYPT=false
|
||||||
- /dev/disk/:/dev/disk:ro
|
- ENABLE_HTTP_REDIRECT=false
|
||||||
privileged: true
|
- ENABLE_HSTS=false
|
||||||
devices:
|
- ENABLE_XMPP_WEBSOCKET=true
|
||||||
- /dev/kmsg
|
- DISABLE_HTTPS=true
|
||||||
|
- PUBLIC_URL=https://comms.${DOMAIN}
|
||||||
|
- TZ=UTC
|
||||||
|
- ENABLE_AUDIO_PROCESSING=true
|
||||||
|
- ENABLE_AUTH=true
|
||||||
|
- ENABLE_GUESTS=true
|
||||||
|
- ENABLE_LIPSYNC=true
|
||||||
|
- ENABLE_PREJOIN_PAGE=true
|
||||||
|
- ENABLE_WELCOME_PAGE=true
|
||||||
|
- ENABLE_CLOSE_PAGE=true
|
||||||
|
- ENABLE_REQUIRE_DISPLAY_NAME=false
|
||||||
|
- ENABLE_TALK_WHILE_MUTED=true
|
||||||
|
- JICOFO_AUTH_USER=focus
|
||||||
|
- DISABLE_AUDIO_LEVELS=false
|
||||||
|
- ENABLE_NOISY_MIC_DETECTION=true
|
||||||
|
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
|
||||||
|
- XMPP_BOSH_URL_BASE=http://xmpp.meet.jitsi:5280
|
||||||
|
- XMPP_DOMAIN=meet.jitsi
|
||||||
|
- XMPP_GUEST_DOMAIN=guest.meet.jitsi
|
||||||
|
- XMPP_MUC_DOMAIN=muc.meet.jitsi
|
||||||
|
- XMPP_RECORDER_DOMAIN=recorder.meet.jitsi
|
||||||
networks:
|
networks:
|
||||||
- nginx
|
nginx:
|
||||||
|
meet.jitsi:
|
||||||
|
|
||||||
|
# XMPP server
|
||||||
|
prosody:
|
||||||
|
image: jitsi/prosody:latest
|
||||||
|
restart: always
|
||||||
|
expose:
|
||||||
|
- '5222'
|
||||||
|
- '5347'
|
||||||
|
- '5280'
|
||||||
|
volumes:
|
||||||
|
- /opt/jitsi/prosody/config:/config:Z
|
||||||
|
- /opt/jitsi/prosody/prosody-plugins-custom:/prosody-plugins-custom:Z
|
||||||
|
environment:
|
||||||
|
- AUTH_TYPE=internal
|
||||||
|
- ENABLE_AUTH=true
|
||||||
|
- ENABLE_GUESTS=true
|
||||||
|
- ENABLE_LOBBY=true
|
||||||
|
- ENABLE_XMPP_WEBSOCKET=true
|
||||||
|
|
||||||
|
- XMPP_DOMAIN=meet.jitsi
|
||||||
|
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
|
||||||
|
- XMPP_GUEST_DOMAIN=guest.meet.jitsi
|
||||||
|
- XMPP_MUC_DOMAIN=muc.meet.jitsi
|
||||||
|
- XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi
|
||||||
|
- XMPP_RECORDER_DOMAIN=recorder.meet.jitsi
|
||||||
|
- JICOFO_COMPONENT_SECRET
|
||||||
|
- JICOFO_AUTH_USER=focus
|
||||||
|
- JICOFO_AUTH_PASSWORD
|
||||||
|
- JVB_AUTH_USER=jvb
|
||||||
|
- JVB_AUTH_PASSWORD
|
||||||
|
- JIGASI_XMPP_PASSWORD
|
||||||
|
- JIBRI_XMPP_PASSWORD
|
||||||
|
- JIBRI_RECORDER_PASSWORD
|
||||||
|
- PUBLIC_URL=https://comms.${DOMAIN}
|
||||||
|
- TZ=UTC
|
||||||
|
networks:
|
||||||
|
meet.jitsi:
|
||||||
|
aliases:
|
||||||
|
- xmpp.meet.jitsi
|
||||||
|
|
||||||
|
# Focus component
|
||||||
|
jicofo:
|
||||||
|
image: jitsi/jicofo:latest
|
||||||
|
restart: always
|
||||||
|
volumes:
|
||||||
|
- /opt/jitsi/jicofo:/config:Z
|
||||||
|
environment:
|
||||||
|
- AUTH_TYPE=internal
|
||||||
|
- ENABLE_AUTH=true
|
||||||
|
- XMPP_DOMAIN=meet.jitsi
|
||||||
|
- XMPP_AUTH_DOMAIN=auth.meet.jitsi
|
||||||
|
- XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi
|
||||||
|
- XMPP_MUC_DOMAIN=muc.meet.jitsi
|
||||||
|
- XMPP_SERVER=xmpp.meet.jitsi
|
||||||
|
- JICOFO_COMPONENT_SECRET
|
||||||
|
- JICOFO_AUTH_USER=focus
|
||||||
|
- JICOFO_AUTH_PASSWORD
|
||||||
|
- JVB_BREWERY_MUC=jvbbrewery
|
||||||
|
- JIGASI_BREWERY_MUC=jigasibrewery
|
||||||
|
- JIBRI_BREWERY_MUC=jibribrewery
|
||||||
|
- JIBRI_PENDING_TIMEOUT=90
|
||||||
|
- TZ=UTC
|
||||||
|
depends_on:
|
||||||
|
- prosody
|
||||||
|
networks:
|
||||||
|
meet.jitsi:
|
||||||
|
|
||||||
|
# Video bridge
|
||||||
|
jvb:
|
||||||
|
image: jitsi/jvb:latest
|
||||||
|
restart: always
|
||||||
|
ports:
|
||||||
|
- '10000:10000/udp'
|
||||||
|
- '4443:4443'
|
||||||
|
volumes:
|
||||||
|
- /opt/jitsi/jvb:/config:Z
|
||||||
|
environment:
|
||||||
|
- DOCKER_HOST_ADDRESS=${LOCAL_IP}
|
||||||
|
- XMPP_AUTH_DOMAIN=meet.jitsi
|
||||||
|
- XMPP_INTERNAL_MUC_DOMAIN=internal-muc.meet.jitsi
|
||||||
|
- XMPP_SERVER=xmpp.meet.jitsi
|
||||||
|
- JVB_AUTH_USER=jvb
|
||||||
|
- JVB_AUTH_PASSWORD
|
||||||
|
- JVB_BREWERY_MUC=jvbbrewery
|
||||||
|
- JVB_PORT=10000
|
||||||
|
- JVB_TCP_HARVESTER_DISABLED=true
|
||||||
|
- JVB_TCP_PORT=4443
|
||||||
|
- JVB_TCP_MAPPED_PORT=4443
|
||||||
|
- JVB_STUN_SERVERS=meet-jit-si-turnrelay.jitsi.net:443
|
||||||
|
- JVB_ENABLE_APIS=
|
||||||
|
- PUBLIC_URL=https://comms.${DOMAIN}
|
||||||
|
- TZ=UTC
|
||||||
|
depends_on:
|
||||||
|
- prosody
|
||||||
|
networks:
|
||||||
|
meet.jitsi:
|
||||||
|
aliases:
|
||||||
|
- jvb.meet.jitsi
|
||||||
|
|
||||||
|
|
||||||
db:
|
db:
|
||||||
image: mariadb
|
image: mariadb
|
||||||
@@ -182,7 +303,6 @@ services:
|
|||||||
- nextcloud
|
- nextcloud
|
||||||
- gitea
|
- gitea
|
||||||
- collabora
|
- collabora
|
||||||
- cadvisor
|
|
||||||
- pinry
|
- pinry
|
||||||
ports:
|
ports:
|
||||||
- 80:80
|
- 80:80
|
||||||
@@ -205,7 +325,6 @@ volumes:
|
|||||||
monica-public:
|
monica-public:
|
||||||
monica-data:
|
monica-data:
|
||||||
nextcloud:
|
nextcloud:
|
||||||
#certs:
|
|
||||||
dashboard:
|
dashboard:
|
||||||
pinry:
|
pinry:
|
||||||
|
|
||||||
@@ -213,3 +332,4 @@ networks:
|
|||||||
db:
|
db:
|
||||||
nginx:
|
nginx:
|
||||||
redis:
|
redis:
|
||||||
|
meet.jitsi:
|
||||||
|
|||||||
@@ -18,7 +18,7 @@ $CONFIG = [
|
|||||||
*/
|
*/
|
||||||
'trusted_domains' =>
|
'trusted_domains' =>
|
||||||
[
|
[
|
||||||
'tower.scarif.local',
|
'tower.scarif.space',
|
||||||
],
|
],
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
20
nginx.conf
20
nginx.conf
@@ -482,6 +482,26 @@ http {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
upstream jitsi-handler {
|
||||||
|
server jitsi:80;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
listen 443 ssl http2;
|
||||||
|
|
||||||
|
ssl_certificate /etc/nginx/certs/scarif.space.crt;
|
||||||
|
ssl_certificate_key /etc/nginx/certs/scarif.space.key;
|
||||||
|
|
||||||
|
gzip_types text/plain text/css application/json application/x-javascript
|
||||||
|
text/xml application/xml application/xml+rss text/javascript;
|
||||||
|
|
||||||
|
server_name comms.scarif.space;
|
||||||
|
|
||||||
|
location / {
|
||||||
|
proxy_pass http://jitsi-handler;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 80 default_server;
|
listen 80 default_server;
|
||||||
listen [::]:80 default_server;
|
listen [::]:80 default_server;
|
||||||
|
|||||||
Reference in New Issue
Block a user