Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

whiteboard support #1480

Closed
wants to merge 14 commits into from
1 change: 1 addition & 0 deletions docker-compose.yml
Original file line number Diff line number Diff line change
Expand Up @@ -151,6 +151,7 @@ services:
- XMPP_RECORDER_DOMAIN
- XMPP_PORT
- WHITEBOARD_ENABLED
- WHITEBOARD_URL_BASE
- WHITEBOARD_COLLAB_SERVER_PUBLIC_URL
networks:
meet.jitsi:
Expand Down
5 changes: 5 additions & 0 deletions env.example
Original file line number Diff line number Diff line change
Expand Up @@ -214,3 +214,8 @@ JIBRI_XMPP_PASSWORD=

# Jitsi image version (useful for local development)
#JITSI_IMAGE_VERSION=latest

# whiteboard support
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please drop these from here and make a PR to the handbook.

WHITEBOARD_ENABLED=1
WHITEBOARD_URL_BASE=whiteboard.meet.jitsi
WHITEBOARD_COLLAB_SERVER_PUBLIC_URL=https://meet.example.com
14 changes: 14 additions & 0 deletions web/rootfs/defaults/meet.conf
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,20 @@ location ^~ /etherpad/ {
}
{{ end }}

{{ if .Env.WHITEBOARD_URL_BASE }}
# whiteboard (excalidraw-backend)
location = /socket.io/ {
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Let's add some extra path here like excalidraw-collab/socket.io sinilar to what we do for Etherpad.

tcp_nodelay on;

proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header Host $http_host;

proxy_pass http://{{ .Env.WHITEBOARD_URL_BASE }}/socket.io/?$args;
}
{{ end }}

location ~ ^/([^/?&:'"]+)$ {
try_files $uri @root_path;
}
Expand Down
6 changes: 5 additions & 1 deletion web/rootfs/defaults/settings-config.js
Original file line number Diff line number Diff line change
Expand Up @@ -468,4 +468,8 @@ config.e2eping.maxMessagePerSecond = {{ .Env.E2EPING_MAX_MESSAGE_PER_SECOND }};
// Settings for the Excalidraw whiteboard integration.
if (!config.hasOwnProperty('whiteboard')) config.whiteboard = {};
config.whiteboard.enabled = {{ $WHITEBOARD_ENABLED }};
config.whiteboard.collabServerBaseUrl = '{{ $WHITEBOARD_COLLAB_SERVER_PUBLIC_URL }}';
{{ if .Env.WHITEBOARD_COLLAB_SERVER_PUBLIC_URL -}}
config.whiteboard.collabServerBaseUrl = '{{ $WHITEBOARD_COLLAB_SERVER_PUBLIC_URL }}';
{{ else if .Env.WHITEBOARD_URL_BASE -}}
config.whiteboard.collabServerBaseUrl = '{{ $PUBLIC_URL }}';
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Adjust the URL as mentioned above.

{{ end -}}
12 changes: 12 additions & 0 deletions whiteboard.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
version: '3.5'

services:
whiteboard:
image: tgrl/excalidraw-backend:latest
restart: ${RESTART_POLICY:-unless-stopped}
depends_on:
- web
networks:
meet.jitsi:
aliases:
- ${WHITEBOARD_URL_BASE:-whiteboard.meet.jitsi}
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just "hardcode" the alias, like we do for Etherpad.

There is not much of a point in changing it since it's just the internal network alias.

Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this still ongoing? Or is this now supported natively already?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Still ongoing