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