78 lines
2 KiB
Docker
78 lines
2 KiB
Docker
# DOMAIN=example.com docker stack deploy -c jitsi.yml jitsi
|
|
# prosodyctl --config /config/prosody.cfg.lua register username meet.jitsi password
|
|
|
|
x-defaults: &defaults
|
|
environment:
|
|
- TZ=Europe/Paris
|
|
- JVB_UDP_PORT=${JVB_UDP_PORT:-10000}
|
|
- JVB_ADVERTISE_IPS=${JVB_ADVERTISE_IPS}
|
|
- ENABLE_COLIBRI_WEBSOCKET_UNSAFE_REGEX=1
|
|
- PUBLIC_URL=${SCHEME:-https}://${DOMAIN:-jitsi.localhost}
|
|
- JICOFO_AUTH_PASSWORD=${JICOFO_AUTH_PASSWORD}
|
|
- JVB_AUTH_PASSWORD=${JVB_AUTH_PASSWORD}
|
|
- JIGASI_XMPP_PASSWORD=${JIGASI_XMPP_PASSWORD}
|
|
- JIBRI_RECORDER_PASSWORD=${JIBRI_RECORDER_PASSWORD}
|
|
- JIBRI_XMPP_PASSWORD=${JIBRI_XMPP_PASSWORD}
|
|
|
|
services:
|
|
web:
|
|
<<: *defaults
|
|
image: jitsi/web:${VERSION:-stable}
|
|
volumes:
|
|
- ${VOLUME_PATH}web:/config
|
|
deploy:
|
|
labels:
|
|
- traefik.enable=true
|
|
- traefik.http.routers.jitsi-${NUMBER:-1}.rule=Host(`${DOMAIN:-jitsi.localhost}`)
|
|
- traefik.http.routers.jitsi-${NUMBER:-1}.entrypoints=${SCHEME:-https}
|
|
- traefik.http.routers.jitsi-${NUMBER:-1}.service=jitsi-${NUMBER:-1}
|
|
- traefik.http.routers.jitsi-${NUMBER:-1}.tls.certresolver=letsencrypt
|
|
- traefik.http.services.jitsi-${NUMBER:-1}.loadbalancer.server.port=80
|
|
networks:
|
|
- traefik
|
|
- internal
|
|
|
|
prosody:
|
|
<<: *defaults
|
|
image: jitsi/prosody:${VERSION:-stable}
|
|
volumes:
|
|
- ${VOLUME_PATH}prosody:/config
|
|
networks:
|
|
internal:
|
|
aliases:
|
|
- ${XMPP_SERVER:-xmpp.meet.jitsi}
|
|
|
|
jicofo:
|
|
<<: *defaults
|
|
image: jitsi/jicofo:${VERSION:-stable}
|
|
volumes:
|
|
- ${VOLUME_PATH}jicofo:/config
|
|
networks:
|
|
- internal
|
|
|
|
jvb:
|
|
<<: *defaults
|
|
image: jitsi/jvb:${VERSION:-stable}
|
|
volumes:
|
|
- ${VOLUME_PATH}jvb:/config
|
|
ports:
|
|
- target: ${JVB_UDP_PORT:-10000}
|
|
published: ${JVB_UDP_PORT:-10000}
|
|
protocol: udp
|
|
mode: host
|
|
networks:
|
|
- internal
|
|
|
|
volumes:
|
|
web:
|
|
jvb:
|
|
jicofo:
|
|
prosody:
|
|
|
|
networks:
|
|
internal:
|
|
driver: overlay
|
|
attachable: true
|
|
traefik:
|
|
external: true
|
|
name: traefik-net
|