parent
856e414084
commit
543d4e8c6d
@ -0,0 +1,18 @@ |
||||
version: '3' |
||||
|
||||
services: |
||||
spot: |
||||
image: jitsi/spot |
||||
volumes: |
||||
- ${CONFIG}/spot:/config |
||||
environment: |
||||
- PUBLIC_URL |
||||
- SPOT_BG_IMAGE |
||||
- SPOT_GOOGLE_CALENDAR_ID |
||||
- SPOT_OUTLOOK_CALENDAR_ID |
||||
- XMPP_DOMAIN |
||||
- XMPP_MUC_DOMAIN |
||||
networks: |
||||
meet.jitsi: |
||||
aliases: |
||||
- spot.meet.jitsi |
@ -0,0 +1,30 @@ |
||||
ARG JITSI_REPO=jitsi |
||||
|
||||
FROM node:10-stretch-slim AS builder |
||||
|
||||
ADD https://github.com/jitsi/jitsi-meet-spot/archive/master.tar.gz /tmp/spot.tar.gz |
||||
WORKDIR /build |
||||
|
||||
RUN \ |
||||
apt update && apt install -y git && \ |
||||
tar xvf /tmp/spot.tar.gz --strip 1 && \ |
||||
cd spot-client && \ |
||||
npm install && \ |
||||
npm run build:prod |
||||
|
||||
|
||||
FROM ${JITSI_REPO}/base |
||||
|
||||
RUN \ |
||||
apt-dpkg-wrap apt-get update && \ |
||||
apt-dpkg-wrap apt-get install -y nginx && \ |
||||
apt-cleanup && \ |
||||
rm -f /etc/nginx/conf.d/default.conf |
||||
|
||||
COPY rootfs/ / |
||||
COPY --from=builder /build/spot-client/dist /usr/share/spot-client/dist |
||||
COPY --from=builder /build/spot-client/index.html /usr/share/spot-client/ |
||||
|
||||
EXPOSE 9002 |
||||
|
||||
VOLUME ["/config"] |
@ -0,0 +1,4 @@ |
||||
build: |
||||
docker build $(BUILD_ARGS) -t $(JITSI_REPO)/spot .
|
||||
|
||||
.PHONY: build |
@ -0,0 +1,36 @@ |
||||
/** |
||||
* Overrides for the default configuration for Spot. See file default-config.js |
||||
* for all the default values which are used. |
||||
*/ |
||||
window.JitsiMeetSpotConfig = { |
||||
{{ $SPOT_DOMAIN := trimPrefix "https://" .Env.PUBLIC_URL }} |
||||
DEFAULT_MEETING_DOMAIN: '{{ $SPOT_DOMAIN }}', |
||||
EXTERNAL_API_SRC: '{{ .Env.PUBLIC_URL }}/external_api.js', |
||||
{{ if .Env.SPOT_BG_IMAGE }} |
||||
DEFAULT_BACKGROUND_IMAGE_URL: '{{ .Env.SPOT_BG_IMAGE }}', |
||||
{{ end }} |
||||
CALENDARS: { |
||||
{{ if .Env.SPOT_GOOGLE_CALENDAR_ID }} |
||||
GOOGLE: { |
||||
CLIENT_ID: '{{ .Env.SPOT_GOOGLE_CALENDAR_ID }}' |
||||
}, |
||||
{{ end }} |
||||
{{ if .Env.SPOT_OUTLOOK_CALENDAR_ID }} |
||||
OUTLOOK: { |
||||
CLIENT_ID: '{{ .Env.SPOT_OUTLOOK_CALENDAR_ID }}' |
||||
}, |
||||
{{ end }} |
||||
_: '' |
||||
}, |
||||
MEETING_DOMAINS_WHITELIST: [ |
||||
'{{ $SPOT_DOMAIN }}', |
||||
'meet.jit.si' |
||||
], |
||||
XMPP_CONFIG: { |
||||
bosh: '{{ .Env.PUBLIC_URL }}/http-bind', |
||||
hosts: { |
||||
domain: '{{ .Env.XMPP_DOMAIN }}', |
||||
muc: '{{ .Env.XMPP_MUC_DOMAIN }}' |
||||
} |
||||
} |
||||
}; |
@ -0,0 +1,4 @@ |
||||
server { |
||||
listen 9002 default_server; |
||||
include /config/nginx/spot.conf; |
||||
} |
@ -0,0 +1,61 @@ |
||||
user www-data; |
||||
worker_processes 4; |
||||
pid /run/nginx.pid; |
||||
include /etc/nginx/modules-enabled/*.conf; |
||||
|
||||
events { |
||||
worker_connections 768; |
||||
# multi_accept on; |
||||
} |
||||
|
||||
http { |
||||
|
||||
## |
||||
# Basic Settings |
||||
## |
||||
|
||||
sendfile on; |
||||
tcp_nopush on; |
||||
tcp_nodelay on; |
||||
keepalive_timeout 65; |
||||
types_hash_max_size 2048; |
||||
# server_tokens off; |
||||
|
||||
# server_names_hash_bucket_size 64; |
||||
# server_name_in_redirect off; |
||||
|
||||
client_max_body_size 0; |
||||
|
||||
include /etc/nginx/mime.types; |
||||
default_type application/octet-stream; |
||||
|
||||
## |
||||
# Logging Settings |
||||
## |
||||
|
||||
access_log /dev/stdout; |
||||
error_log /dev/stderr; |
||||
|
||||
## |
||||
# Gzip Settings |
||||
## |
||||
|
||||
gzip on; |
||||
gzip_disable "msie6"; |
||||
|
||||
# gzip_vary on; |
||||
# gzip_proxied any; |
||||
# gzip_comp_level 6; |
||||
# gzip_buffers 16 8k; |
||||
# gzip_http_version 1.1; |
||||
# gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript; |
||||
|
||||
## |
||||
# Virtual Host Configs |
||||
## |
||||
|
||||
include /config/nginx/site-confs/*; |
||||
} |
||||
|
||||
|
||||
daemon off; |
@ -0,0 +1,18 @@ |
||||
server_name _; |
||||
|
||||
client_max_body_size 0; |
||||
|
||||
root /usr/share/spot-client; |
||||
index index.html; |
||||
|
||||
location ~ ^/(.*)$ { |
||||
try_files $uri @root_path; |
||||
} |
||||
|
||||
location @root_path { |
||||
rewrite ^/(.*)$ / break; |
||||
} |
||||
|
||||
location / { |
||||
|
||||
} |
@ -0,0 +1,3 @@ |
||||
#!/usr/bin/with-contenv bash |
||||
|
||||
exec nginx -c /config/nginx/nginx.conf |
Loading…
Reference in new issue